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!"
}