1、交互模式接口对接

交互模式说明
1.1 语音交互接口详情
接口提供方:客户平台
接口资源名称
/free/v2.0/voice_inactive
完整 URL 示例:http[s] ://<ip address> :<port>/privacy/free/v2.0/voice_inactive
| 字段名称 | 类型 | 约束 | 说明 |
| callId | string (64) | 必须 | call-id |
| caller | string (20) | 必须 | 呼入的主叫号码(真实主叫) |
| callee | string (20) | 必须 | 呼入的被叫号码(一般为小号) |
请求响应
语音交互接口分为以下 4 种响应
1.1.1 错误响应
| 字段名称 | 类型 | 约束 | 说明 |
| code | int | 必须 | 状态码,200 表示成功 其他表示处理失 败 |
| msg | string (50) | 必须 | 失败时,错误原因描述必填 |
1.1.2 业务中止响应
| 字段名称 | 类型 | 约束 | 说明 |
| code | int | 必须 | 状态码,200 表示成功 |
| processType | string (2) | 必须 | 1 小号逻辑关机2 被叫号码不存在3 (客户级)黑名单号码拦截 |
| data | DataInfo | 可选 | |
| DataInfo(以下未DataInfo里的参数) | - | - | - |
| uId | string (32) | 可选 | 客户平台指定ID标识 |
| audioCode | string (50) | 条件 | 客户定制音频文件编码注 1 |
注 1:一般情况下,小号逻辑关机、被叫号码不存在、号码拦截由平台提供默认提示音,无需特别指定。
1.1.3 普通语音业务响应
普通语音业务支持呼叫前转、企业彩铃、企业名片等增值业务。
| 字段名称 | 类型 | 约束 | 说明 |
| code | int | 必须 | 状态码,200 表示成功 |
| processType | string (2) | 必须 | 0 正常呼叫 |
| data | DataInfo | 必须 | |
| DataInfo(以下未DataInfo里的参数) | - | - | - |
| uId | String (32) | 可选 | 客户平台指定ID标识 |
| caller | string (20) | 必须 | 呼出的主叫号码(一般为小号) |
| callee | string (20) | 必须 | 呼出的被叫号码(真实被叫) |
| limitTime | string (5) | 可选 | 接通时长限制,单位为秒,有效值范围 60 至 3600,范围之外视为未设置该参数通常不需要设置,最大时长由基 础网限制 |
| audioCode | string (50) | 可选 | 企业彩铃的音频文件编码 |
| ussd | int | 可选 | 企业名片注 11: 主叫企业名片2:被叫企业名片 |
| noAnswerForward | string (1) | 可选 | 无应答前转0:不前转1:前转 |
| busyForword | string (1) | 可选 | 遇忙前转0:不前转1:前转 |
| altCallee | string (20) | 可选 | 前转号码 |
| connectAudioToUp | string (50) | 可选 | 接通后,向主叫播放的音频文件编码 |
| connectAudioToDown | string (50) | 可选 | 接通后,向被叫叫播放的音频文件编码 |
| hangupDtmf | string (1) | 可选 | 挂断前的 DTMF 收号功能0:不生效1:主叫挂断时,被叫 DTMF 流程2:被叫挂断时,主叫 DTMF 流程 |
| hangupDtmfWaitingTi me | string (2) | 可选 | DTMF 最大等待时长,单位秒,有效值范 围 5 至 30,范围之外视为未设置未设置时缺省值为 5 |
| hangupFrontDtmf | string (50) | 可选 | DTMF 前的引导音频文件 |
| hangupAfterDtmfOk | string (50) | 可选 | DTMF 后的终结音频文件,有效按键时播 |
| hangupAfterDtmfFail | string (50) | 可选 | DTMF 后的终结音频文件,无效按键时播 |
2、CDR 接口
接口提供方:客户平台
接口资源名称
/free/v2.0/cdr_pull
2.1 语音 CDR
| 字段名称 | 类型 | 约束 | 说明 |
| id | string (64) | 必须 | 语音 call-id |
| uId | string (32) | 可选 | 客户平台指定ID标识 |
| serviceType | string (8) | 必须 | 业务类型:voice |
| inboundCaller | string (20) | 必须 | 呼入主叫(真实主叫) |
| inboundCallee | string (20) | 必须 | 呼入被叫(一般为小号) |
| outboundCaller | string (20) | 必须 | 呼出主叫(一般为小号) |
| outboundCallee | string (20) | 必须 | 呼出被叫(真实被叫) |
| startTime | string (20) | 必须 | 呼叫起始时间 |
| ringTime | string (20) | 可选 | 振铃时间 |
| connectTime | string (20) | 可选 | 接通时间 |
| endTime | string (20) | 可选 | 呼叫结束时间 |
| talkTime | int(8) | 可选 | 通话时长 |
| releaseDir | int | 必须 | 释放原因0:主叫释放1:被叫释放2:平台释放 |
| releaseCause | int | 必须 | 话务分析 |
| recordUrl | string (256) | 条件 | 录音文件提取方式向企业客户推送录音时 |
| dtmfValue | string (1) | 条件 | 挂断前的 DTMF 收号结果 |
注:录音保存时间为 3 个月
注 1:话务分析
| 键值 | 话务分析描述 |
| 1 | 无匹配规则 |
| 2 | 拦截 |
| 3 | 小号逻辑关机 |
| 4 | 业务响应超时 |
| 5 | 未接通超时 |
| 6 | Channel 异常 |
| 7 | Session 异常 |
| 8 | 系统处理异常 |
| 9 | 呼入信令异常 |
| 10 | 保留 |
| 11 | 主叫正常挂机 |
| 12 | 主叫挂机 |
| 13 | 被叫正常挂机 |
| 14 | 被叫挂机 |
| 15 | 超长通话平台拆机 |
| 16 | 业务设置通话时长平台拆机 |
| 17 | 媒体中断平台拆机 |
| 18 | 系统拆机 |
| 19 | 被叫停机 |
| 20 | 被叫关机 |
| 21 | 主叫呼叫中止 |
| 22 | 主叫中止 |
| 23 | 号码不存在 |
| 24 | 转接遇忙 |
| 25 | 被叫忙 |
| 26 | 被叫拒接 |
| 27 | 被叫漏接 |
| 28 | 被叫无应答 |
| 29 | 被叫不可及 |
| 30 | 不可达,未指定 |
| 41 | DTMF 无响应 |
| 42 | DTMF 号码异常 |
| 43 | DTMF 处理异常 |
| 80 | 路由阻塞 |
| 98 | 未知定义 |
| 99 | 无法判断 |
3、A路用户实名
3.1 号码报备接口
请求参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
| requestId | string | 是 | 每次请求的唯一标识 |
| method | string | 是 | append:增加成员号码 delete:删除指定的成员号码 |
| reportType | int | 是 | 报备号码类型(1:A 路号码 2:B 路号码) |
| phoneType | int | 是 | 号码类型(1:手机号 2:固话) |
| member | string | 是 | 成员加密信息,该字段不参与签名。值为 Member 数组转成字符串后,通过 sm4 加密 获取的字符串。 |
member
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
| phoneNumber | string | 必须 | 号码 |
| name | string | 必须 | 号码所属人姓名 |
| identityCard | string | 选填 | 号码所属人身份证号码,method 为 append,增加成员号码时,该字段必填 |
| idCardFrontImage | string | 选填 | 可不传 |
| idCardBackImage | string | 选填 | 可不传 |
| liveFaceImage | string | 选填 | 活体检测人脸照片 base64 编码。不大于 32KB,method 为 append,增加成员号码时,该字段必填 |
请求地址POST '/openapi/call/api/telA/reporting'请求示例
{
"requestId": "requestIdxxxxxxx",
"method": "append",
"reportType": 1,
"phoneType": 1,
"member": "YW0PskHFOTAPvAaMVLexLOZbri0GRVKVWOVl2LexkKF03UqwKO9YUbFAGtMWlKgdke09yJaBrQnOVzj4jQtcqPvosPNJ6c8Ny1D7pcyu9KLR8gZ4WVVeAbXK0jrU1uALSg7w6CsKk5i3rR3vTCEuSmrCRr/Os4FTkfBksom2F04="
}加密前参数样例:
{
"requestId": "requestIdxxxxxxx",
"method": "append",
"reportType": 1,
"phoneType": 1,
"member": "[{\"phoneNumber\": \"130xxxx5678\",\"name\": \"张三
\",\"identityCard\": \"110101xxxxxxxx5821\",\"imgBaseCode\": \"照片 base64\"}]"
}返回示例成功:
{
"code": "200",
"msg": "200 ok!"
}特别注意事项:
- 每次最多核验一个号码及身份信息
- 活体照片需不大于 32KB, jpg 或 png 格式
- 因文件传输占用宽带资源较多,每个 ip 的连接数不得超过 10 个
- Member 参数采用国密 SM4 加密方式加密,秘钥为appId 的 MD5 (16)加密,将标
准的 32 位 MD5 字符串(大写)截取中间部分(去除前 8 位和后 8 位)。
- A 号码在当前 AppId 下报备过程中,在未收到核验结果通知前禁止重复报送,核验失败
平台会通过《报备回调通知接口》通知客户,同时平台会在 24h 后对报备的 A 号码进行白 名单剔除,客户如需二次核验,需在收到通知 24h 后进行重新上报
3.2 报备回调通知接口
接口提供方:客户请求参数
| 字段名称 | 字段类型 | 是否必传 | 字段描述 |
| requestId | string | 是 | 每次请求的唯一标识 |
| resultList | string | 是 | 报备结果加密信息, 值为 resultList 数组转成字符串后,通过 sm4 加密获取的字符串。 |
请求示例
{
"requestId": "requestIdxxxxxxx",
"result": "[{\"phoneNumber\": \"130xxxx5678\",\"status\": 0},{\"phoneNumber\": \"186xxxx5678
\",\"status\": -1}]"
}返回示例成功:
{
"code": "200",
"msg": "200 ok!"
}