全部产品
阿里云办公

AXB绑定接口

更新时间:2018-04-19 13:52:50

AXB绑定接口(Axbbind)

步骤 1 创建阿里云账号

为了访问AXB中间号服务,您需要有一个阿里云账号。如果没有,可首先按照如下步骤创建阿里云账号:

  1. 访问阿里云 官方网站,单击页面上的 免费注册 按钮。
  2. 按照屏幕提示完成注册流程并进行实名认证,AXB中间号只支持实名认证用户使用。为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。具体实名认证流程,请参考 这里

步骤 2 获取阿里云访问密钥

为了使用AXB中间号发送API-JAVA SDK,您必须申请阿里云的访问密钥。

阿里云访问秘钥是阿里云为用户使用 API(非控制台)来访问其云资源设计的“安全口令”。您可以用它来签名 API 请求内容以通过服务端的安全验证。

该访问秘钥成对(AccessKeyId 与 AccessKeySecret)生成和使用。每个阿里云用户可以创建多对访问秘钥,且可随时启用(Active)、禁用(Inactive)或者删除已经生成的访问秘钥对。

您可以通过阿里云控制台的 秘钥管理页面 创建、管理所有的访问秘钥对,且保证它处于“启用”状态。由于访问秘钥是阿里云对 API 请求进行安全验证的关键因子,请妥善保管你的访问秘钥。如果某些秘钥对出现泄漏风险,建议及时删除该秘钥对并生成新的替代秘钥对。

步骤 3 明确您业务场景中的AXB三元组中A和B分别对应的业务角色

以打车应用场景来说,A假如设定的是乘客角色,B就是司机角色。以房产类业务场景来说,A可能是用户,B是房产中介。

步骤 4 下载对应的SDK和DEMO样例程序编写代码

请到SDK&DEMO下载页面获取相应的SDK和DEMO程序,参照代码样例进行接口开发和调试。

参数

入参列表
参数名称 参数类型 必填与否 样例取值 参数说明
PoolKey String 必须 FC123456 号池Key
PhoneNoA String 必须 15000000000 AXB中的A号码
PhoneNoB String 必须 15800000000 AXB中的B号码
PhoneNoX String 可选 17000000000 指定X号码进行绑定
ExpectCity String 可选 北京(不需要带地市的后缀) 指定城市进行X号码的选号,如果当前号池中没有该城市的可用号码将随机分配其他城市的号码,也可以配置成严格模式,不存在符合条件的号码时提示分配错误
Expiration Date 必须 2017-09-05 12:00:00 绑定关系的过期时间
IsRecordingEnabled Boolean 可选 true和false 是否需要针对该绑定关系产生的所有通话录制通话录音
OutId String 可选 abcdef 外部业务扩展字段
出参列表
出参名称 出参类型 样例取值 参数说明
RequestId String 8906582E-6722 请求ID
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表
Message String 请求成功 状态码的描述
SecretBindDTO Object 详见结构体内容 绑定成功后返回的结构体,结构体的属性详见demo和SDK

技术对接步骤

1:下载SDK工具包

SDK工具包中一共包含了2个类库,一个aliyun-java-sdk-core包,另外一个是alicom-dypls-api包,将这两个包执行mvn package命令或者mvn deploy命令打包出相应的jar包,添加到工程类库中依赖使用。

SDK&DEMO【点击下载】

2: 编写样例程序
  1. //设置超时时间-可自行调整
  2. System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
  3. System.setProperty("sun.net.client.defaultReadTimeout", "10000");
  4. //初始化ascClient需要的几个参数
  5. final String product = "Dyplsapi";//隐私号码产品名称(隐私保护产品名固定,无需修改)
  6. final String domain = "dyplsapi.aliyuncs.com";//隐私号码产品域名(接口地址固定,无需修改)
  7. //替换成你的AK
  8. final String accessKeyId = "yourAccessKeyId";//你的accessKeyId,参考本文档步骤2
  9. final String accessKeySecret = "yourAccessKeySecret";//你的accessKeySecret,参考本文档步骤2
  10. //初始化ascClient,暂时不支持多region
  11. IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
  12. accessKeySecret);
  13. DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
  14. IAcsClient acsClient = new DefaultAcsClient(profile);
  15. //AXB绑定请求结构体-参数说明详见参数说明
  16. BindAxbRequest request = new BindAxbRequest();
  17. //必填:号池Key-详见概览页面的号池管理功能
  18. request.setPoolKey("FC123456");
  19. //必填:AXB关系中的A号码
  20. request.setPhoneNoA("15010101010");
  21. //必选:AXB中的B号码
  22. request.setPhoneNoB("15020202020");
  23. //可选:指定X号码选号
  24. //request.setPhoneNoX("1700000000");
  25. //可选:指定需要分配归属城市的X号码
  26. //request.setExpectCity("北京');
  27. //必填:绑定关系对应的失效时间-不能早于当前系统时间
  28. request.setExpiration("2017-09-08 17:00:00");
  29. //可选:是否需要录制音频-默认是false
  30. request.setIsRecordingEnabled(false);
  31. //外部业务自定义ID属性
  32. request.setOutId("yourOutId");
  33. //hint 此处可能会抛出异常,注意catch
  34. BindAxbResponse response = acsClient.getAcsResponse(request);
  35. if(response.getCode() != null && response.getCode().equals("OK")) {
  36. //请求成功
  37. }

错误码列表

Code 描述
OK 请求成功
isp.RAM_PERMISSION_DENY RAM权限DENY
isv.OUT_OF_SERVICE 业务停机
isv.PRODUCT_UN_SUBSCRIPT 未开通云通信产品的阿里云客户
isv.PRODUCT_UNSUBSCRIBE 产品未开通
isv.ACCOUNT_NOT_EXISTS 账户不存在
isv.ACCOUNT_ABNORMAL 账户异常
isp.SYSTEM_ERROR 系统错误
isp.UNKNOWN_ERR_CODE 运营商未知错误
isv.PARTNER_NOT_EXIST 未知合作伙伴
isv.NO_NOT_EXIST 号码不存在
isv.ILLEGAL_ARGUMENT 参数非法
isp.DAO_EXCEPTION 数据库异常
isv.NO_AVAILABLE_NUMBER 无可用号码
isp.VENDOR_UNAVAILABLE 运营商降级
isv.FLOW_LIMIT 业务流控
isv.PARTNER_IS_CLOSED partner被关停
isv.FORBIDDEN_ACTION 无权操作
isv.NO_USED_BY_OTHERS 码被其他业务方占用
isv.VENDOR_BIND_FAILED 运营商绑定失败
isv.EXPIRE_DATE_ILLEGAL 过期时间非法
isv.MOBILE_NUMBER_ILLEGAL 号码格式非法
isv.BIND_CONFLICT 绑定冲突