
# AXB模式绑定信息查询接口 - QueryAXBBinding
#### 接口功能
该接口用于客户向隐私保护通话平台查询已设置的AXB绑定关系的相关信息。
#### 请求方向
客户应用（客户端） → 隐私保护通话平台（服务端）
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限管理](https://support.huaweicloud.com/productdesc-PrivateNumber/privatenumber_permissions.html)。
#### URI
GET /rest/caas/relationnumber/partners/v1.0
#### 请求参数
表1请求URL参数说明 
| 参数名称           | 是否必选 | 参数类型           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| relationNum    | 否    | String(4-31)   | 指定X号码查询该号码上所有绑定关系。 填写为全局号码格式（包含国家码），并需要把号码中的+号转义为%2B，例如：%2B86138\*\*\*\*0021。 - 该参数与subscriptionId为二选一关系。  - 同时携带relationNum和subscriptionId时系统以subscriptionId为准。                                                                                               |
| subscriptionId | 否    | String(1-64)   | 指定"AXB模式绑定接口"返回的绑定ID查询单组绑定关系。 - 该参数与relationNum为二选一关系。  - 同时携带relationNum和subscriptionId时系统以subscriptionId为准。                                                                                                                                                                                                                 |
| callerNum      | 否    | String(4\~128) | AXB中的A号码。 填写为全局号码格式（包含国家码），并需要把号码中的+号转义为%2B，例如：%2B86138\*\*\*\*0021。 - 与relationNum同时携带时生效，查询A+X对应的单组绑定关系。  - 当携带subscriptionId时系统以subscriptionId为准。  - callerNum、calleeNum、relationNum同时携带时，查询A+X+B绑定关系。                         |
| calleeNum      | 否    | String(4\~128) | AXB中的B号码。 填写为全局号码格式（包含国家码），并需要把号码中的+号转义为%2B，例如：%2B86138\*\*\*\*0021。 - 与relationNum同时携带时生效，查询B+X对应的单组绑定关系。  - 当携带subscriptionId时系统以subscriptionId为准。  - callerNum、calleeNum、relationNum同时携带时，查询A+X+B绑定关系。   |
| pageIndex      | 否    | Integer        | 查询的分页索引，从1开始编号。该参数需要与pageSize参数配合使用，用于指定本次查询返回第几页的数据。 - 如果不携带该参数，系统默认该参数为1。  - 当携带了subscriptionId或relationNum+callerNum/calleeNum时，无需关注该参数。                                                                                                                                                                                          |
| pageSize       | 否    | Integer        | 查询的分页大小，即每次查询返回多少条数据。 取值范围：10\~100 - 如果不携带pageSize或pageSize不在有效范围内，系统默认该参数为50。  - 当携带了subscriptionId或relationNum+callerNum/calleeNum时，无需关注该参数。                                                                                                                         |
   
表2请求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。不同编程语言中的时间格式转换方式不同，部分语言可参考[表3]。   |
   
 表3不同编程语言的时间格式 
| 编程语言    | 时间格式                                                                                                                                                              |
|:---|:---|
| 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()转换后的时间格式去除毫秒后即为本接口要求的时间格式。 |
   
#### 响应参数
表4响应结果参数 
| 参数名称            | 是否必选 | 参数类型                                                                                           | 说明                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| resultcode      | 是    | String(1-32)                                                                                   | 请求返回的结果码。                                                                                                                                                                                                                                                                                                                                                                |
| resultdesc      | 是    | String(1-256)                                                                                  | 操作结果描述。                                                                                                                                                                                                                                                                                                                                                                  |
| app_key         | 否    | String(1-32)                                                                                   | **参数解释：** 隐私保护通话应用的app_key。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| totalCount      | 否    | Integer                                                                                        | 查询结果的记录总数。                                                                                                                                                                                                                                                                                                                                                               |
| pageIndex       | 否    | Integer                                                                                        | 查询的分页索引。                                                                                                                                                                                                                                                                                                                                                                 |
| pageSize        | 否    | Integer                                                                                        | 查询的分页大小。                                                                                                                                                                                                                                                                                                                                                                 |
| relationNumList | 否    | [relationNumInfo]\[1-100\] | **参数解释：** X号码绑定关系列表。 **取值范围：** 不涉及。                                                                                                                                                                                                                |
   
 表5relationNumInfo定义 
| 参数名称           | 是否必选 | 参数类型                                                                             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| subscriptionId | 否    | String(1-64)                                                                     | 绑定ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| callerNum      | 否    | String(1-32)                                                                     | AXB中的A号码。 携带为全局号码格式（包含国家码），如：+86138\*\*\*\*0001。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| relationNum    | 否    | String(1-32)                                                                     | AXB中的X号码。 携带为全局号码格式（包含国家码），如：+86138\*\*\*\*0021。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| calleeNum      | 否    | String(1-32)                                                                     | AXB中的B号码。 携带为全局号码格式（包含国家码），如：+86138\*\*\*\*0002。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| recordFlag     | 否    | String(枚举)                                                                       | 录音标识 - false：表示不录音  - true：表示录音                                                                                                                                                                                                                                                                                      |
| recordHintTone | 否    | String(1-128)                                                                    | 录音提示音文件名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| subscribeTime  | 否    | Datetime                                                                         | 设置或者最近一次修改该绑定关系的时间，例如2018-2-24 15:15:15。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| callDirection  | 否    | Integer                                                                          | 表示该绑定关系允许的呼叫方向，取值范围： - 0：bidirectional，双向，表示callerNum和calleeNum都可以通过X号码呼叫对方。  - 1：caller to callee，表示只允许callerNum通过X号码呼叫calleeNum。  - 2：callee to caller，表示只允许calleeNum通过X号码呼叫callerNum。   |
| duration       | 否    | Integer                                                                          | 绑定关系保持时间，单位为秒，0表示永不过期。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| preVoice       | 否    | [ApiPlayInfo] | 通话前等待音文件名。 说明： **仅部分号码支持，如需使用该功能请咨询华为云客服。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| maxDuration    | 否    | Integer                                                                          | 允许单次通话进行的最长时间，通话时间从被叫接通的时刻开始计算。 取值范围：0\~1440分钟，0表示系统不主动结束通话，由主被叫双方结束通话。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| privateSms     | 否    | String(枚举)                                                                       | 标识该绑定关系是否支持短信功能。 该参数仅当客户添加应用时开通了短信功能才有效。 - false：不支持短信  - true：支持短信   不携带此参数表示默认支持短信。                                                                                                                                                        |
| userData       | 否    | String(1-256)                                                                    | 用户附属信息。 说明： 使用该参数的场景请联系华为云客服获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
 表6ApiPlayInfo定义 
| 参数名称           | 是否必选 | 参数类型          | 说明                   |
|:---|:---|:---|:---|
| callerHintTone | 否    | String(0-128) | callerNum的通话前等待音文件名。 |
| calleeHintTone | 否    | String(0-128) | calleeNum的通话前等待音文件名。 |
   
#### 结果码说明
表7响应结果码 
| 响应码                                                                                                          | 结果码     | 英文描述                                                         | 中文描述                                        | 处理方法                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|:---|
| 200                                                                                                          | 0       | Success.                                                     | 成功。                                         | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 400       | 1023006 | Authorization not contained in the HTTP header.              | HTTP消息头未找到Authorization字段。                  | 请检查HTTP消息头中是否携带了Authorization字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 400       | 1023007 | realm not contained in Authorization.                        | Authorization字段中未找到realm属性。                 | 请检查Authorization字段中的是否携带了realm属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 400       | 1023008 | profile not contained in Authorization.                      | Authorization字段中未找到profile属性。               | 请检查Authorization字段中的是否携带了profile属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 400       | 1023009 | The value of realm in Authorization must be SDP.             | Authorization中realm属性值应该为"SDP"。             | 请检查Authorization字段中的realm属性值是否为"SDP"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 400       | 1023010 | The value of profile in Authorization must be UsernameToken. | Authorization中profile属性值应该为"UsernameToken"。 | 请检查Authorization字段中的profile属性值是否为"UsernameToken"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 400       | 1023011 | The value of type in Authorization must be app_key.          | Authorization中type属性值应该为"Appkey"。           | 请检查Authorization字段中的type属性值是否为"Appkey"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 400       | 1023012 | type not contained in Authorization.                         | Authorization字段中未找到type属性。                  | 请检查Authorization字段中是否携带了type属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 400       | 1023033 | HTTP header not found X-AKSK field.                          | HTTP头未找到X-AKSK字段。                           | 请检查HTTP消息头中是否携带了X-AKSK字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 400       | 1023034 | UserName not contained in X-AKSK.                            | X-AKSK字段中未找到UserName属性。                     | 请检查X-AKSK字段中的是否携带了Username属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 400       | 1023035 | Nonce not contained in X-AKSK.                               | X-AKSK字段中未找到Nonce属性。                        | 请检查X-AKSK字段中的是否携带了Nonce属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 400       | 1023036 | Created not contained in X-AKSK.                             | X-AKSK字段中未找到Created属性。                      | 请检查X-AKSK字段中的是否携带了Created属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 400       | 1023037 | PasswordDigest not contained in X-AKSK.                      | X-AKSK字段中未找到PasswordDigest属性。               | 请检查X-AKSK字段中的是否携带了PasswordDigest属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 400       | 1023038 | UsernameToken not contained in X-AKSK.                       | X-AKSK中没有携带UsernameToken。                   | 请检查X-AKSK字段中的是否携带了UsernameToken属性。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 401                                                                                                          | 1010010 | Invalid digest.                                              | PasswordDigest校验失败。                         | 请检查PasswordDigest字段填写是否正确。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 401                                                                                                          | 1010013 | Time out limit.                                              | 时间超出限制。                                     | 请确认X-AKSK鉴权时，生成随机数的时间与发送请求时的本地时间不能相差太大（具体差值请与管理员确认）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 403                                         | 1010002 | Invalid request.                                             | 无效请求。                                       | 参考各接口参数说明，检查请求携带的参数格式是否正确，如以下参数格式问题： - **绑定接口**填写的号码参数需为全局号码格式，如+86138\*\*\*\*0001或+8675528\*\*\*\*01；  - 放音文件需上传通过审核才可通过接口调用，[点击查看如何上传审核](https://support.huaweicloud.com/usermanual-PrivateNumber/pn_um_05.html)。  - 参考接口参数说明，检查是否携带了不能同时携带的参数；  - 参数长度或格式是否错误。   |
| 403                                         | 1010003 | Invalid app_key.                                             | 无效的app_key。                                 | 请检查请求携带的app_key填写是否正确。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 403                                         | 1010004 | The status of the app_key is unavailable.                    | app_key状态异常。                                | 请检查请求携带的app_key所属应用状态是否正常。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 403                                         | 1010010 | The flow control upper limit is reached on the platform.     | 平台达到系统流控上限。                                 | 请稍等一分钟后再试。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 403                                         | 1010040 | The app_key is not allowed to invoke the API.                | app_key没有调用本API的权限。                         | 调用的接口和app_key所属的应用模式不一致。如添加应用时选择的AXB模式的应用，调用接口时只能调用AXB模式的接口，不能调用其他模式的接口。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 403                                         | 1012001 | Resource of number is not to be applied.                     | 资源未申请                                       | 携带的app_key和X号码没有绑定关系，请检查携带的X号码是否属于该应用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 403                                         | 1012007 | The record does not exist.                                   | 记录不存在。                                      | 未查询到绑定关系，请检查relationNum或subscriptionId参数的填写是否正确，或是否属于该应用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 403                                         | 1020166 | The app client ip is not in ip white list.                   | 对端app IP不在白名单列表中。                           | 联系管理员检查IP白名单是否配置正确。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 403                                         | 1020176 | Authentication failed, try again later                       | 鉴权失败，稍后重试                                   | IP因鉴权失败次数过多导致被拉黑，请30分钟后重试，或联系管理员放通该IP。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 500                                                                                                          | 1010001 | Internal system error.                                       | 系统错误。                                       | 请联系管理员处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 500                                                                                                          | 1023001 | Internal error.                                              | 内部错误。                                       | 请联系管理员处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 500                                                                                                          | 1023002 | Response timeout.                                            | 响应超时。                                       | 重新发送一次请求，若依然返回响应超时，请联系管理员处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
#### 接口示例
接口示例仅供参考，请以实际消息为准。
- 请求示例
  ```
  GET /rest/caas/relationnumber/partners/v1.0?relationNum=%2B86138****6666&pageIndex=1&pageSize=50  HTTP1.1
   
  content-type:application/json;charset=UTF-8
  authorization: AKSK realm="SDP",profile="UsernameToken",type="Appkey"
  x-aksk: UsernameToken Username="************",PasswordDigest="*************",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z"
  ```
  
- 响应示例
  ```
  HTTP/1.1 200 OK 
  Content-Type: application/json;charset=utf-8 
  Content-Length: xx 
  { 
  "resultcode":"0", 
  "resultdesc":"Success", 
  "app_key":"appkey", 
  "totalCount":1,
  "pageIndex":1,
  "pageSize":50,
  "relationNumList":[{
   "subscriptionId":"****",
   "callerNum":"+86138****0021", 
   "relationNum":"+86138****6666", 
   "calleeNum":"+86138****0023", 
   "subscribeTime":"2016-12-24 15:15:15", 
   "callDirection":1,
   "duration":6000
   "maxDuration":10
  }]
  }
  ```
  
 
