https://account.console.aliyun.com/?spm=a2c4g.11186623.2.3.2e5c748af0dEZN#/auth/home
隐私保护产品包括AXN隐私号、AXB中间号、AXN分机号、95AXN隐私号和AXG隐私号五种应用。
进入控制台开通:
注意:购买完号码之后用户可以在“号码管理”里面查看购买号码是否成功。
SDK 环境搭建(如果使用>https 调用不需要 SDK)
阿里文档:https://help.aliyun.com/document_detail/113040.html?spm=a2c4g.11186623.6.621.6a85697a9iff2Y
项目地址:https://github.com/aliyun/openapi-sdk-php-client?spm=a2c4g.11186623.2.9.d9c324efbadSja
推荐:获得并注册相关的服务后采用直接在 后端 直接Ajax 请求
例如:PHP 后端请求,不建议采用js>Ajax 会直接暴露 你的秘钥等保密信息
HTTPS方式具体如下:
请求结构
号码隐私保护支持基于URL发送HTTP/HTTPS请求。请求参数需要包含在URL中,请求及返回结果都使用 UTF-8 字符集编码。
请求结构示例
以下为一条SendSms未编码的URL请求示例:
https://dyplsapi.aliyuncs.com/?Action=BindAxb&<公共请求参数>
https 指定了请求通信协议。
dyplsapi.aliyuncs.com 指定了号码隐私保护的服务接入地址(Endpoint)。
Action=BindAxb 指定了要调用的API。
<公共请求参数> 是系统规定的其他公共参数。
请求协议
请求中使用的协议包括
支持HTTP或HTTPS协议请求通信。为了获得更高的安全性,推荐您使用HTTPS协议发送请求。
绑定API采用Rest协议,其中签名算法使用了阿里云的POP协议。
发生通话行为后的话单消息回执采用的是阿里云消息服务MNS实现。
以下SDK 补充详细,(可直接下拉查看,AXB实例 一看就懂)
服务地址
号码隐私保护统一使用服务地址dyplsapi.aliyuncs.com。
公共请求头和公共响应头
API接口中使用了公共请求头(Common Request Headers)和公共响应头(Common Response Headers),这些内容可以被所有的号码隐私保护请求使用。
详细说明请参考公共请求参数和公共响应参数。
公共请求参数?--下载SDK 可以生成,请求签名也是,或者利用阿里工具生成(实例:)
号码隐私保护支持通过URL发起HTTP请求。API接口中使用了公共请求头(Common Request Headers),这些公共请求头可以被所有的号码隐私保护请求使用。
创建AccessKey?---
阿里网址:https://help.aliyun.com/document_detail/53045.htm?spm=a2c4g.11186623.2.6.34f724efiDFrwz
请求示例
GET /?Signature=zJDF%2BLrzhj%2FThnlvIToysFRq6t4%3D
&AccessKeyId=testId
&Action=BindAxb
&Format=XML
&OutId=123
&PhoneNumbers=15300000001
&RegionId=cn-hangzhou
&SignName=%E9%98%BF%E9%87%8C%E4%BA%91%E7%9F%AD%E4%BF%A1%E6%B5%8B%E8%AF%95%E4%B8%93%E7%94%A8
&SignatureMethod=HMAC-SHA1
&SignatureNonce=45e25e9b-0a6f-4070-8c85-2956eda1b466
&SignatureVersion=1.0
&PoolKey=FC123456
&PhoneNoA=170000000
&PhoneNoB=171000000
&ExpireDate=2017-07-12T02%3A42%3A19Z
&Timestamp=2017-07-12T02%3A42%3A19Z
&Version=2017-05-25
请求参数
名称 类型 是否必填 说明
Signature String 是 请求签名,即最终生成的签名结果值。
如何生成请求签名,请查看请求签名。
AccessKeyId String 是 访问密钥 ID。AccessKey 用于调用 API。
Action String 是 API 的名称。
Format String 否 返回参数的语言类型。取值范围:json | xml。默认值:json。
RegionId String 否 API支持的RegionID,如号码隐私保护API的值为:cn-hangzhou。
SignatureMethod String 是 签名方式。取值范围:HMAC-SHA1。
SignatureNonce String 是 签名唯一随机数。用于防止网络重放攻击,建议您每一次请求都使用不同的随机数。
JAVA语言建议用:java.util.UUID.randomUUID()生成。
SignatureVersion String 是 签名算法版本。取值范围:1.0。
Timestamp String 是 请求的时间戳。按照ISO8601 标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。示例:2018-01-01T12:00:00Z 表示北京时间 2018 年 01 月 01 日 20 点 00 分 00 秒。
Version String 是 API 的版本号,格式为 YYYY-MM-DD。取值范围:2017-05-25。
公共响应参数
号码隐私保护支持通过URL发起HTTP请求。API接口中使用了公共响应头(Common Response Headers),这些公共响应头可以被所有的号码隐私保护请求使用。
返回示例
除业务参数之外,号码隐私保护还会返回公共参数,返回示例如下。
JSON格式:
{
"RequestId":"2184201F-BFB3-446B-B1F2-C746B7BF0657"
}
XML格式:
<?xml version='1.0' encoding='UTF-8'?>
<BindAxbResponse>
<RequestId>E8534574-7381-4810-8F70-65B37BBA8970</RequesetNo>
</BindAxbResponse>
API错误码
错误码(Code) 错误信息(Message)
OK OK
isp.RAM_PERMISSION_DENY RAM权限DENY
isv.OUT_OF_SERVICE 业务停机
isv.PRODUCT_UN_SUBSCRIPT 未开通云通信产品的阿里云客户
isv.ACCOUNT_NOT_EXISTS 账户不存在
isv.ACCOUNT_ABNORMAL 账户异常
isp.SYSTEM_ERROR 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 绑定冲突
AXB绑定:
绑定AXB号码前,请先明确您的业务场景中AXB三元组的A角色和B角色。例如,在打车应用场景中,A可以是乘客角色,B是司机角色;
示例
请求示例
http(s)://[Endpoint]/?PhoneNoA=15000000000&Expiration=2019-09-05 12:00:00&PhoneNoB=15000000001&PoolKey=FC123456&<公共请求参数>
正常返回示例
XML 格式
<BindAxbResponse> <Message>OK</Message> <RequestId>9297B722-A016-43FB-B51A-E54050D9369D</RequestId> <Code>OK</Code> <SecretBindDTO> <Extension>130</Extension> <SecretNo>17100000000</SecretNo> <SubsId>1000000768393849</SubsId> </SecretBindDTO></BindAxbResponse>
JSON 格式
{ “Message”:”OK”, “RequestId”:”9297B722-A016-43FB-B51A-E54050D9369D”, “Code”:”OK”, “S
请求参数
名称 类型 是否必选 示例值 描述
Expiration String 是 2019-09-05 12:00:00
绑定关系的过期时间。必须晚于当前时间1分钟以上。
PhoneNoA String 是 15000000000
AXB中的A号码。
A号码可设置为手机号码或固定电话,固定电话需要加区号,区号和号码中间不需要加连字符,例如057188992688。
PhoneNoB String 是 15000000001
AXB中的B号码,A号码拨打X号码时会转接到B号码,可通过接口UpdateSubscription更新B号码。
B号码可设置为手机号码或固定电话,固定电话需要加区号,区号和号码中间不需要加连字符,例如057188992688。
PoolKey String 是 FC123456
号码池Key。请登录号码隐私保护控制台,在号码池管理中查看号码池Key。
AccessKeyId String 否 LTAIP00vvvvvvvvv
主账号AccessKey的ID。
Action String 否 BindAxb
系统规定参数。取值:BindAxb。
CallDisplayType Integer 否 1
重置绑定关系中的号码显示逻辑,1:主被叫显示中间号码X;2:B/N侧号码呼叫时,给A侧号码显示B/N的真实号码;3:A侧号码呼叫时,给B/N侧号码显示真实号码。
ExpectCity String 否 北京
指定城市进行X号码的选号。
如果当前号池中没有该城市的可用号码,或未指定此参数,将从当前号码池中随机分配一个其他城市的号码作为X号码。
如果配置了严格模式,则不存在符合条件的号码时会提示分配错误。
IsRecordingEnabled Boolean 否 true
是否需要针对该绑定关系产生的所有通话录制通话录音。
OutId String 否 abcdef
外部业务扩展字段,通话记录回执消息中会回传此参数。
OutOrderId String 否 abcdef
外部业务ID。
PhoneNoX String 否 17000000000
AXB中的X号码。未指定X号码时,将根据参数ExpectCity从指定号码池中随机指定一个号码作为X号码。
X号码是您绑定号码前在控制台或通过接口BuySecretNo购买的电话号码,用于转接电话。
RingConfig String 否 {“AXBRing_B”:”100000001”,”AXBRing_A”:”100000001”}
设置AXB绑定级别企业彩铃放音,支持针对该绑定关系中设置,内容包括如下:
AXB中,A号码打X的铃音设置:AXBRing_A
AXB中,B号码打X的铃音设置:AXBRing_B
企业彩铃编码:企业彩铃编码可以在管理控制台中查询,具体通过【控制台-号码池管理-企业彩铃管理】入口进行查看、管理,支持上传、删除等操作。
特殊说明:企业彩铃优先使用绑定级别设置的彩铃,如果未设置或设置未生效,则会使用号码池级别的彩铃音。
AXN绑定
AXN隐私号是为A号码分配一个专属的隐私号,任何号码N通过拨打X号码都可以转接到A。
示例
请求示例
http(s)://[Endpoint]/?Expiration=2019-09-05 12:00:00
&PhoneNoA=15000000000
&PoolKey=FC123456
&<公共请求参数>
正常返回示例
XML 格式
<BindAxnResponse>
<Message>OK</Message>
<RequestId>F655A8D5-B967-440B-8683-DAD6FF8DE990</RequestId>
<Code>OK</Code>
<SecretBindDTO>
<Extension>13100000000</Extension>
<SecretNo>17000000000</SecretNo>
<SubsId>1000000768798832</SubsId>
</SecretBindDTO>
</BindAxnResponse>
JSON 格式
{
"Message":"OK",
"RequestId":"F655A8D5-B967-440B-8683-DAD6FF8DE990",
"Code":"OK",
"SecretBindDTO":{
"Extension":"13100000000",
"SecretNo":"17000000000",
"SubsId":"1000000768798832"
}
}
请求参数
名称 类型 是否必选 示例值 描述
Expiration String 是 2019-09-05 12:00:00
绑定关系的过期时间。必须晚于当前时间1分钟以上。
PhoneNoA String 是 15000000000
AXN中的A号码。
A号码可设置为手机号码或固定电话,固定电话需要加区号,区号和号码中间不需要加连字符,例如057188992688。
PoolKey String 是 FC123456
号码池Key。请登录号码隐私保护控制台,在号码池管理中查看号码池Key。
AccessKeyId String 否 LTAIP00vvvvvvvvv
主账号AccessKey的ID。
Action String 否 BindAxn
系统规定参数。取值:BindAxn。
CallDisplayType Integer 否 1
重置绑定关系中的号码显示逻辑,1:主被叫显示中间号码X;2:B/N侧号码呼叫时,给A侧号码显示B/N的真实号码;3:A侧号码呼叫时,给B/N侧号码显示真实号码。
ExpectCity String 否 上海
指定城市进行X号码的选号。
如果当前号池中没有该城市的可用号码,或未指定此参数,将从当前号码池中随机分配一个其他城市的号码作为X号码。
如果配置了严格模式,则不存在符合条件的号码时会提示分配错误。
IsRecordingEnabled Boolean 否 true
是否需要针对该绑定关系产生的所有通话录制通话录音。
NoType String 否 AXB_170
号码类型。
说明 适用于原阿里大于客户,阿里云用户可忽略。
OutId String 否 abcdef
外部业务扩展字段,通话记录回执消息中会回传此参数。
OutOrderId String 否 abcdef
外部业务ID。
PhoneNoB String 否 13100000000
AXN中的B号码,A号码拨打X号码时会转接到B号码,可通过接口UpdateSubscription更新B号码。
B号码可设置为手机号码或固定电话,固定电话需要加区号,区号和号码中间不需要加连字符,例如057188992688。
PhoneNoX String 否 17000000000
AXN中的X号码。未指定X号码时,将根据参数ExpectCity从指定号码池中随机指定一个号码作为X号码。
X号码是您绑定号码前在控制台或通过接口BuySecretNo购买的电话号码,用于转接电话。
RingConfig String 否 {"AXNRing_N":"100000001","AXNRing_A":"100000001"}
设置AXN绑定级别企业彩铃放音,支持针对该绑定关系中设置,内容包括如下:
AXN中,A号码打X的铃音设置(有回拨号码):AXNRing_AB
AXN中,A号码打X的铃音设置(无回拨号码):AXNRing_A
AXN中,N侧号码打X的铃音设置:AXNRing_N
企业彩铃编码:企业彩铃编码可以在管理控制台中查询,具体通过【控制台-号码池管理-企业彩铃管理】入口进行查看、管理,支持上传、删除等操作。
特殊说明:企业彩铃优先使用绑定级别设置的彩铃,如果未设置或设置未生效,则会使用号码池级别的彩铃音。