云服务器内容精选

  • 接口示例 接口示例仅供参考,请以实际消息为准。 请求示例 DELETE /rest/provision/caas/privatenumber/v1.0?origNum=%2B86138****7021&privateNum=%2B86138****0021 HTTP1.1 content-type: application/json;charset=UTF-8authorization: AKSK realm="SDP",profile="UsernameToken",type="Appkey"x-aksk: UsernameToken Username="************",PasswordDigest="*************",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z"content-length:xx 响应示例 HTTP/1.1 200 OK Content-Type: application/json;charset=utf-8 Content-Length: xx { "resultcode":"0", "resultdesc":"Success" }
  • 使用说明 前提条件 已设置至少一对AX绑定关系。 注意事项 隐私号码正在通话时,若调用解绑接口,当前通话可以正常进行。通话结束后,再次拨打隐私号码则无法接通原绑定用户号码。 对于用户正在拨打隐私号码的通话,存在如下两种情况: 如果呼叫请求到达 隐私保护通话 平台前,调用解绑接口解绑成功,则隐私号码无法拨通原绑定用户号码。 如果呼叫请求到达隐私保护通话平台后,调用解绑接口解绑成功,当呼叫转接到被叫后,当前通话可以正常进行。通话结束后,再次拨打隐私号码则无法接通原绑定用户号码。
  • 结果码说明 表6 响应结果码 响应码 结果码 英文描述 中文描述 处理方法 200 0 Success. 成功。 - 400 1023006 Authorization not contained in the HTTP header. HTTP消息头未找到Authorization字段。 请检查HTTP消息头中是否携带了Authorization字段。 1023007 realm not contained in Authorization. Authorization字段中未找到realm属性。 请检查Authorization字段中的是否携带了realm属性。 1023008 profile not contained in Authorization. Authorization字段中未找到profile属性。 请检查Authorization字段中的是否携带了profile属性。 1023009 The value of realm in Authorization must be SDP. Authorization中realm属性值应该为“SDP”。 请检查Authorization字段中的realm属性值是否为“SDP”。 1023010 The value of profile in Authorization must be UsernameToken. Authorization中profile属性值应该为“UsernameToken”。 请检查Authorization字段中的profile属性值是否为“UsernameToken”。 1023011 The value of type in Authorization must be app_key. Authorization中type属性值应该为“Appkey”。 请检查Authorization字段中的type属性值是否为“Appkey”。 1023012 type not contained in Authorization. Authorization字段中未找到type属性。 请检查Authorization字段中是否携带了type属性。 1023033 HTTP header not found X-AKSK field. HTTP头未找到X-AKSK字段。 请检查HTTP消息头中是否携带了X-AKSK字段。 1023034 UserName not contained in X-AKSK. X-AKSK字段中未找到UserName属性。 请检查X-AKSK字段中的是否携带了Username属性。 1023035 Nonce not contained in X-AKSK. X-AKSK字段中未找到Nonce属性。 请检查X-AKSK字段中的是否携带了Nonce属性。 1023036 Created not contained in X-AKSK. X-AKSK字段中未找到Created属性。 请检查X-AKSK字段中的是否携带了Created属性。 1023037 PasswordDigest not contained in X-AKSK. X-AKSK字段中未找到PasswordDigest属性。 请检查X-AKSK字段中的是否携带了PasswordDigest属性。 1023038 UsernameToken not contained in X-AKSK. X-AKSK中没有携带UsernameToken。 请检查X-AKSK字段中的是否携带了UsernameToken属性。 401 1010010 Invalid digest. PasswordDigest校验失败。 请检查PasswordDigest字段填写是否正确。 1010013 Time out limit. 时间超出限制。 请确认X-AKSK鉴权时,生成随机数的时间与发送请求时的本地时间不能相差太大(具体差值请与管理员确认)。 403 1010002 Invalid request. 无效请求。 参考各接口参数说明,检查请求携带的参数格式是否正确,如以下参数格式问题: 绑定接口填写的号码参数需为全局号码格式,如+86138****0001或+8675528****01; 放音文件需上传通过审核才可通过接口调用,点击查看如何上传审核。 参考接口参数说明,检查是否携带了不能同时携带的参数; 参数长度或格式是否错误。 1010003 Invalid app_key. 无效的app_key。 请检查请求携带的app_key填写是否正确。 1010008 The status of the app_key is unavailable. app_key状态异常。 请检查请求携带的app_key所属应用状态是否正常。 1010010 The flow control upper limit is reached on the platform. 平台达到系统流控上。 请稍等一分钟后再试。 1010029 The subscriber status is frozen. 用户账号已冻结。 查看账户是否欠费。如欠费需充值后才能继续使用。 若未欠费,请联系华为云客服处理。 1010040 The app_key is not allowed to invoke the API. app_key没有调用本API的权限。 调用的接口和app_key所属的应用模式不一致。如添加应用时选择的AXB模式的应用,调用接口时只能调用AXB模式的接口,不能调用其他模式的接口。 1011001 The account does not exist. 账号不存在。 出现该错误码可能有以下两个原因: 调用接口时指定的X号码(privateNum)可能不是该应用已申请的隐私号码,请确认privateNum参数的填写是否正确; 调用接口时填写的X号码(privateNum)格式不正确,请根据接口文档修改号码格式后再次尝试。 1011004 The number is not applied for binding application. X号码和app_key没有绑定关系。 携带的app_key和X号码没有绑定关系,请检查携带的X号码是否属于该应用。 1016001 The record does not exist. 记录不存在。 找不到绑定记录。请检查origNum或者subscriptionId参数的填写是否正确。 1020166 The app client ip is not in ip white list. 对端app IP不在白名单列表中。 联系管理员检查IP白名单是否配置正确。 1020176 Authentication failed, try again later 鉴权失败,稍后重试 IP因鉴权失败次数过多导致被拉黑,请30分钟后重试,或联系管理员放通该IP。 500 1010001 Internal system error. 系统错误。 请联系客服处理。 1023001 Internal error. 内部错误。 1023002 Response timeout. 响应超时。 重新发送一次请求,若依然返回响应超时,请联系管理员处理。
  • 请求参数 表2 请求URL参数说明 参数名称 是否必选 参数类型 说明 origNum 否 String(1-32) AX中的A号码。 填写为全局号码格式(包含国家码),并需要把号码中的+号转义为%2B,例如:%2B86138****0021或%2B8675528****02。 系统不会解析该参数,可不携带。 privateNum 否 String(1-32) AX中的X号码。 填写为全局号码格式(包含国家码),并需要把号码中的+号转义为%2B,例如:%2B86138****0021。 系统可通过subscriptionId或privateNum确定唯一一个绑定关系,即不携带subscriptionId时,必须携带privateNum。 subscriptionId 否 String(1-64) 指定“AX模式绑定接口”返回的绑定ID解除绑定关系。 请求携带了subscriptionId时,系统会以subscriptionId的值为准,不关注privateNum参数。 表3 请求Headers参数说明 参数名称 是否必选 参数类型 说明 Content-Type 是 String 固定填写为application/json;charset=UTF-8。 Authorization 是 String 固定填写为AKSK realm="SDP",profile="UsernameToken",type="Appkey"。 X-AKSK 是 String 取值为UsernameToken Username="APP_Key的值", PasswordDigest="PasswordDigest的值", Nonce="随机数", Created="随机数生成时间"。 PasswordDigest:根据PasswordDigest = Base64 (HMAC-SHA256 (Password,Nonce + Created))生成。其中,Password为APP_Secret的值。Nonce、Created、Password直接进行字符串拼接即可,无需包含+号和空格。 Nonce:客户发送请求时生成的一个随机数,长度为1~128位,可包含数字和大小写字母。例如:66C92B11FF8A425FB8D4CCFE0ED9ED1F。 Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中将UTC时间戳转换为普通时间时使用的格式不同,部分语言可参考表4。 表4 不同编程语言的时间格式 编程语言 时间格式 Java yyyy-MM-dd'T'HH:mm:ss'Z' PHP Y-m-d\TH:i:s\Z Python %Y-%m-%dT%H:%M:%SZ C# yyyy-MM-ddTHH:mm:ssZ Node.js toISOString().replace(/.[0-9]+\Z/, 'Z') 注:Node.js中,使用toISOString()转换后的时间格式去除毫秒后即为本接口要求的时间格式。