获取真实号码(中间号)

1、使用场景:

主叫,中间号和真实号码的绑定关系存储在合作企业,并且提供给PAAS平台一个可以获取真实号码的接口。

主叫拨打中间号,到通信平台后,通信平台会向合作企业请求,以获取被叫真实号码、外显号码等。

2、请求地址:

由合作企业提供 https://{请求地址}?sign={sign}

3、请求参数:

采用post方式提交,body体遵循json格式规范

属性 类型 约束 说明
partner_id int 必选 平台标识
ts String 必选 unix时间戳,精确度:毫秒
callee_show_num String 必选 中间号,如02012345678
caller_num String 必选 主叫真实号码
partner_call_id String 必选 本次通话的唯一标识

4、请求验证:

sign为畅联生成的签名数据,合作企业通过验证该参数是否正确,来判断请求是否为来自畅联云平台的合法请求。sign签名的生成规则如下:

sign=MD5(callee_show_num=02012345678&caller_num=18888888888&partner_call_id=20160516155833000
010&partner_id=123&ts=1234567891011&partner_key=6d04cfdf96506d32ed809ec86baaf37d)

除ts和partner_key外参数按照首字母顺序(首字母相同则比较第二个字母,以此类推)排序,将ts和partner_key参数拼接到最后,生成待加密字符串,然后将字符串md5加密,生成32位加密sign。

现测试partner_key统一规定为”6d04cfdf96506d32ed809ec86baaf37d”。

线上partner_key由平台生成,在管理系统首页查看,禁止对外泄露partner_key值,禁止在参数中传递partner_key值。

5、请求实例:

POST url?sig}=qweawasdadawceawq
HTTP/1.1
Host: 192.168.0.1:8883
content-length: 139
Accept: application/json;
Content-Type: application/json; charset=utf-8;  
{
    "partner_id" : "123",
    "ts" : "1234567891011",
    "callee_show_num" : "02012345678",
    "caller_num" : "18888888888",
    "partner_call_id" : "20160516155833000010",  
}

6、响应结果:

属性 类型 约束 说明
code String 必选 请求状态码,取值200(成功),可参考Rest 错误代码。
msg String 可选 错误原因描述
data String 必选 正确返回数据

data为json格式,包含如下字段:

字段名称 字段类型 约束限制 说明
callee_num String 必选 被叫真实号,可能是单个号码或多个号码,若有多个号码用英文逗号分隔
caller_show_num String 必选 主叫的外显号码。如果采用透传主叫真实号码的方案,那么此字段将会返回主叫真实号码(即caller_num的值)
port_info json 必选 扩展字段,用于定制化使用,为JSON格式。目前包括信息有:对主叫播放的语音IVR标识、对被叫播放的语音IVR标识、随路数据。

返回数据中的port_info字段,用作定制化扩展,数据为json格式,包含如下字段:

字段名称 字段类型 约束限制 说明
caller_voice_path String 必选 给主叫播放的IVR语音标识,若为空则播放默认内容,支持TTS,如果是TTS语音,格式必须为 TTS:语音内容
callee_voice_path String 必选 给被叫播放的IVR语音标识,若为空则播放默认内容,,支持TTS,如果是TTS语音,格式必须为TTS:语音内容
calldata String 必选 随路数据,该数据体现在话单callData字段中。

7、响应示例:

正确返回:

{
    "
code" : " 200",
    "
data" : {
        "
callee_num" : "13381444126 ",
        "
caller_show_num" : " 02012345678 ",
        "
port_info" : {
            "
caller_voice_path":"",
            "
callee_voice_path":"TTS:欢迎光临",
            "
calldata":"123"
        }
    },
    "
msg" ; ""
}

错误返回:

{"code" : " 201"," msg" : "xxxxx"," data" : null}

code对应不同错误码 msg,对应不同的错误信息提示