文档首页 > > API参考> AXYB模式> AXYB模式绑定信息查询接口

AXYB模式绑定信息查询接口

分享
更新时间:2020/08/18 GMT+08:00

接口功能

该接口用于SP向隐私保护通话平台查询指定AXYB模式的绑定信息。

请求方向

客户应用(客户端) → 隐私保护通话平台(服务端)

接口类型

表1 请求说明

请求方法

GET

访问URI

/rest/omp/xyrelationnumber/v1.0

通信协议

HTTPS

请求参数

表2 请求URL参数说明

参数名称

是否必选

参数类型

说明

relationNum

String(1-32)

想要查询绑定关系的X号码,填写为调用“AXYB模式绑定接口”绑定AX时返回的绑定relationNum。

填写为全局号码格式(包含国家码),并需要把号码中的+号转义为%2B。

例如:%2B8613800000021。

该参数与subscriptionId为二选一关系,只携带relationNum时表示查询该隐私号码上绑定的所有关系。

同时携带relationNum和subscriptionId时系统以subscriptionId为准。

subscriptionId

String(1-64)

填写为调用“AXYB模式绑定接口”接口时返回的绑定ID。

该参数与relationNum为二选一关系,携带subscriptionId时表示查询subscriptionId指定的所有绑定关系。

同时携带relationNum和subscriptionId时系统以subscriptionId为准。

app_key

String(1-128)

AXYB能力标识,登录控制台,从“应用管理”页获取。

表3 请求Headers参数说明

参数名称

是否必选

参数类型

说明

Content-Type

String

固定填写为application/json;charset=UTF-8。

Authorization

String

固定填写为WSSE realm="SDP",profile="UsernameToken",type="Appkey"。

X-WSSE

String

取值为UsernameToken Username="APP_Key的值", PasswordDigest="PasswordDigest的值", Nonce="随机数", Created="随机数生成时间"。
  • PasswordDigest:根据PasswordDigest = Base64 (SHA256 (Nonce + Created + Password))生成。其中,Password为APP_Secret的值。Nonce、Created、Password直接进行字符串拼接即可,无需包含+号和空格。
  • Nonce:客户发送请求时生成的一个随机数,长度为1~128位,可包含数字和大小写字母。例如:66C92B11FF8A425FB8D4CCFE0ED9ED1F。
  • Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中的时间格式转换方式不同,部分语言可参考表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()转换后的时间格式去除毫秒后即为本接口要求的时间格式。

响应参数

表5 响应结果参数

参数名称

是否必选

参数类型

说明

resultcode

String(1-32)

请求返回的结果码。

resultdesc

String(1-256)

操作结果描述。

xyRelationNumList

xyRelationNumInfo[1-5]

隐私号码绑定关系列表。

成功响应时必定返回。

表6 xyRelationNumInfo定义

参数名称

是否必选

参数类型

说明

bindId

String(1-64)

绑定Id,由隐私保护通话平台自动分配。

成功响应时必定返回。

numA

String(1-32)

与指定的隐私号码X绑定的用户A号码,携带为全局号码格式(包含国家码),如:+8613800000001或+8675528000002。

成功响应时必定返回。

numX

String(1-32)

请求中指定的隐私号码X,携带为全局号码格式(包含国家码),如:+8613800000021。

成功响应时必定返回。

numY

String(1-32)

分配的隐私号码Y,携带为全局号码格式(包含国家码),如:+8613800000022。

成功响应时必定返回。

numB

String(1-32)

与隐私号码Y绑定的用户B号码,携带为全局号码格式(包含国家码),如:+8613800000002或+8675528000001。

成功响应时必定返回。

recordFlag

String(枚举)

录音标识

  • false:表示不录音
  • true:表示录音

成功响应时必定返回。

recordHintTone

String(1-128)

录音提示音文件名。

查询成功且SP调用“AXYB模式绑定接口”时指定了录音提示音文件,才会携带该参数。

subscribeTime

Datetime

设置或者最近一次修改该绑定关系的时间,例如2016-12-24 15:15:15。

成功响应时必定返回。

callDirection

Integer

表示该绑定关系允许的呼叫方向,取值范围:

  • 0:bidirectional,双向,表示A和B/C都可以通过X或Y呼叫对方。
  • 1:A to B,表示只允许A通过Y呼叫B/C。
  • 2:B to A,表示只允许B/C通过X呼叫A。

成功响应时必定返回。

duration

String(1-32)

绑定关系保持时间,单位为秒。

取值范围:

  • 0:绑定关系永不过期。
  • 60~7776000(90天):绑定关系过期后会被系统自动解除。

成功响应时必定返回。

ybDuration

String(1-32)

YB绑定关系保持时间,单位为秒。

取值范围:

  • 0:YB的绑定关系随AX解绑时解绑。
  • 60~7776000(90天):绑定关系过期后会被系统自动解除。

成功响应时必定返回。

preVoiceX

String(1-128)

X的预放音文件名

preVoiceY

String(1-128)

Y的预放音文件名

结果码说明

表7 响应结果码

响应码

结果码

英文描述

中文描述

处理方法

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属性。

1023013

WSSE not contained in Authorization.

Authorization中没有携带WSSE。

请检查Authorization字段中是否携带了WSSE。

1023026

X-WSSE not contained in the HTTP header.

HTTP头未找到X-WSSE字段。

请检查HTTP消息头中是否携带了X-WSSE字段。

1023027

Username not contained in X-WSSE.

X-WSSE字段中未找到Username属性。

请检查X-WSSE字段中的是否携带了Username属性。

1023028

Nonce not contained in X-WSSE.

X-WSSE字段中未找到Nonce属性。

请检查X-WSSE字段中的是否携带了Nonce属性。

1023029

Created not contained in X-WSSE.

X-WSSE字段中未找到Created属性。

请检查X-WSSE字段中的是否携带了Created属性。

1023030

PasswordDigest not contained in X-WSSE.

X-WSSE字段中未找到PasswordDigest属性。

请检查X-WSSE字段中的是否携带了PasswordDigest属性。

1023031

The format of Created is incorrect.

Created属性格式错误。

请检查X-WSSE字段中的Created属性格式是否正确。

1023032

UsernameToken not contained in X-WSSE.

X-WSSE字段中未找到UsernameToken属性。

请检查X-WSSE字段中的是否携带了UsernameToken属性。

403

1010002

Invalid request

无效请求。

参考各接口参数说明,检查请求携带的参数格式是否正确,如以下参数格式问题:

  • 绑定接口填写的号码参数需为全局号码格式,如+8613800000001或+8675528000001;
  • 放音文件需上传通过审核才可通过接口调用,点击查看如何上传审核
  • 参考接口参数说明,检查是否携带了不能同时携带的参数,如AXE模式绑定接口不能同时携带callbackTone和callbackNum,若是,请保留一个;
  • 参数长度或格式是否错误,如AXE模式分机号长度或timeUnit的格式是否正确。

1010003

Invalid app_key.

无效的app_key。

请检查请求携带的app_key填写是否正确。

1010008

The status of the app_key is unavailable.

app_key状态异常。

请联系管理员确认该app_key状态是否正常。

1010029

The subscriber status is frozen.

用户账号已冻结。

  • 查看账户是否欠费。如欠费需充值后才能继续使用。
  • 若未欠费,请联系华为云客服处理。

1010040

The app_key is not allowed to invoke the API.

app_key没有调用本API的权限。

调用的接口和app_key所属的应用模式不一致。如添加应用时选择的AXB模式的应用,调用接口时只能调用AXB模式的接口,不能调用其他模式的接口。

1012001

Resource of number is not to be applied.

资源未申请

携带的app_key和X号码没有绑定关系,请检查携带的X号码是否属于该应用。

1016001

The record does not exist.

记录不存在。

未查询到绑定关系,请检查relationNum或subscriptionId参数的填写是否正确。

1020166

The app client ip is not in ip white list.

对端app IP不在白名单列表中。

联系管理员检查IP白名单是否配置正确。

500

1010001

Internal system error.

系统错误。

请联系管理员处理。

1023001

Internal error.

内部错误。

1023002

Response timeout.

响应超时。

重新发送一次请求,若依然返回响应超时,请联系管理员处理。

接口示例

  • 请求示例
    GET /rest/omp/xyrelationnumber/v1.0?subscriptionId=a1289efwf7fea324576  HTTP1.1
    
    content-type: application/json;charset=UTF-8
    authorization: WSSE realm="SDP",profile="UsernameToken",type="Appkey"
  • 响应示例
    HTTP/1.1 200 OK 
    Content-Type: application/json;charset=utf-8 
    Content-Length: xx 
    
    { 
    "resultcode":"0", 
    "resultdesc":"Success", 
    "xyRelationNumList":[{
     "bindId":"a1289efwf7fea324576",
     "numA":"+8613800000001", 
     "numX":"+8613800000021",
     "numY":"+8613800000022",
     "numB":"+8613800000002", 
     "recordFlag":"false",
     "subscribeTime":"2016-12-24 15:15:15", 
     "callDirection":0,
     "duration":"7200",
     "ybDuration":"0"
    }]
    }
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问