更新时间:2024-07-24 12:07:43
URL推送:需要配置接收URL地址
不推送:不接收推送的消息
请求消息体中必须携带authentication字段,该字段包括如下内容:
| 名称 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| customer | Y | 客户名称,客户在申请API时,会生产。 | 大写C加数字,如C2 |
| timestamp | Y | 时间戳 | 毫秒级别时间戳 |
| seq | Y | 请求序列号,保证一段时间内序列号不重复即可 | number(随机字符串) |
| digest | Y | 认证域 | 对接账户、对接密码、消息序列号、时间戳,md5 加密后的数据 |
客户在申请开通API时,运营创建客户API相关数据,包括对接账户,对接密码
对接账户、对接密码、消息序列号、时间戳(前两个数据由运营商提供)
md5(<customer> + "@" + <timestamp> + "@" + <seq> + "@" + 密码)
如:
客户申请的用户名和密码如下:
客户名称:C2
密码:E416D0F85DC0CB67C85E070A32D9F0123AFF4762
digest字段为 下面这个字符串的md5加密:
C2@1471918933001@5271@E416D0F85DC0CB67C85E070A32D9F0123AFF4762*
即md5(C2@1471918933001@5271@E416D0F85DC0CB67C85E070A32D9F0123AFF4762)*
结果: ae62e11cab746436b64a26f4ed8e41a3
注:密码非常重要,不能在任何信息中直接传输,否则可能导致致命安全问题。
需要发送的消息如下
复制成功{ authentication: { customer: "C2", timestamp: 1471918933001, seq: 5271, digest: "*ae62e11cab746436b64a26f4ed8e41a3*" }, request: { …… } }
我们在发送推送消息时,首先使用推送消息的用户名和密码,如果有其中任何一个没有定义,将使用请求认证用户名密码安装上面的算法计算digest
1.[http://aicall.chuanglan.com/openapi/V2.0.8/ApiName]
2.所有内容必须是UTF-8无Bom格式;
3.所有内容必须是合法的json格式;后续可能开发xml格式接口;
4.请求的数据域可以携带如下内容
复制成功"param": {` "debug": true|false,` "lang": "zh_CN|en_US"` }, "request":{}
其中param域中 debug 表示,开启调试,lang表示响应中的语种;
request域根据不同接口传入不同的参数
请求格式:
复制成功{ "authentication": { "customer": "C2", "digest": "ae62e11cab746436b64a26f4ed8e41a3", "seq": "5271", "timestamp": "1471918933001" }, "param": { "debug": "true", "lang": "en_US" }, "request": { } }
5.接口中涉及输入信息的数据,禁止出现以下符号。
| < | 小于 |
|---|---|
| > | 大于 |
| & | 和号 |
| ‘ | 单引号 |
| " | 双引号 |
6.请求和命令
一个请求即一个HTTP请求,一个请求中可以携带一个或者多个命令,如果携带一个命令即HTTP消息中为request域,如果携带多个命令这时HTTP消息中为requests域,每个命令携带自己的序列号;一个请求中只能携带同类型的命令。
7.http请求头中必须携带如下信息
Accept: application/json
Content-Type: application/json
一般情况响应都会如下格式:
复制成功{ "data": { "seq": "", "response": { "seq": "", "userData": "", "result": { "error": "", "msg": "" } } }, "logs": "", "result": { "error": "", "msg": "" } }
userData说明:用户可以在userData中携带一些用户自定义的数据。如对端系统是多用户的,客户把用户的唯一标识传过来。我们回传回去,业务系统就可以知道是哪个客户的。再如与坐席相关的呼叫,用户传过来的数据就是坐席的唯一标识。
result域描述请求执行情况,logs域携带日志信息,data域携带每个命令执行情况;
通过该API,获取当前客户的话术列表
http://aicall.chuanglan.com/openapi/V2.0.8/queryDialog
复制成功{ "authentication": { "customer": "C2", "digest": "5d50336f180fbe22800ebaa0baa13ad6", "seq": "2819", "timestamp": 1554895348053 }, "param": { "debug": "true", "lang": "en\_US" }, "request": { "seq": "2819", "userData": "" } }
Param域说明:(可选)
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| Debug | N | 是否开启调试 | Bool |
| Lang | N | 响应中的语种 | zh_CH|en_US |
Request域说明:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 命令序列号,推送消息时使用 | Number |
| userData | N | 用户数据,异步响应会回传 | string最长100的字符,如果超过100,将截断 |
userData说明:用户可以在userData中携带一些用户自定义的数据。如对端系统是多用户的,客户把用户的唯一标识传过来。我们回传回去,业务系统就可以知道时那个客户的。再如与坐席相关的呼叫,用户传过来的数据就是坐席的唯一标识。
复制成功{ "result": { "error": 0, "msg": "成功" }, "data": { "seq": "2819", "response": { "seq": "2819", "userData": "", "result": { "error": 0 }, "data": \[{ "name": "流量包测试", "id": "3" }, { "name": "CBSS存费告知", "id": "12" }] } }, "logs": null }
注:Error为0标识成功,但只能标识系统已经收到该请求,并且已经准备开始发起呼叫了。
Logs域未日志域,如果开启了调试会携带相关调试信息
Result域说明:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| error | Y | 错误码 | Int |
| msg | N | 错误描述 |
Data域说明
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 请求的序列号 | Int |
| response | Y | 对请求中每一个命令 |
response字段:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 命令序列号 | 回传数据 |
| userData | N | 用户数据 | 回传数据 |
| result | Y | 结果,通常的响应接口(error和msg两个字段) | Object |
| Data | Y | Array |
dialog域中每一个数组成员的结构如下:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| id | Y | 唯一标识 | Int |
| name | Y | 话术名称 | String |
| callNum | Y | 绑定号码 | String |
| remark | N | 备注信息 | String |
| createTime | Y | 创建时间 | Int 时间戳 |
注:如果一个请求中携带了多个请求,则response域,将被替换为responses域,结果为response域的数组。
通过该API客户可以根据查询通话列表
http://aicall.chuanglan.com/openapi/V2.0.8/getAiCallList
复制成功{ "authentication": { "customer": "C2", "digest": "", "seq": "5271", "timestamp": "1471918933001" }, "param": { "debug": "true", "lang": "en\_US" }, "request": { "startTime": "", "endTime":"", "caller":"", "callee":"", "intention":"", "page":"", "size":"", "seq": "", "userData": "", } }
Param域说明:(可选)
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| Debug | N | 是否开启调试 | Bool |
| Lang | N | 响应中的语种 | zh_CH|en_US |
Request域说明:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 命令序列号,推送消息时使用 | Number |
| startTIme | N | 通话开始时间 | Int 时间戳 |
| endTime | N | 通话结束时间 | Int 时间戳 |
| Caller | N | 通话主叫号码 | Int 通话主叫号码 |
| Callee | N | 通话被叫号码 | Int 通话被叫号码 |
| Intention | N | 客户分类 | 枚举值 0:未分类 1:E,2:D,3:C,4:B,5:A,6:A |
| Page | N | 页码 | 不传默认为1 |
| Size | N | 一页数量 | 不传默认一页10条数据 |
| userData | N | 用户数据,异步响应会回传 | string最长60的字符,如果超过60,将截断 |
userData说明:用户可以在userData中携带一些用户自定义的数据。如对端系统是多用户的,客户把用户的唯一标识传过来。我们回传回去,业务系统就可以知道时那个客户的。再如与坐席相关的呼叫,用户传过来的数据就是坐席的唯一标识。
复制成功{ "data": { "seq": "" "response": { "seq": "", "userData": "", "result":"", "list": \[ { "key": "7368", "customer": "4", "taskName": "193", "CID": "17369934918", "remark": "0", "label": null, "calledNumber": "18627728348", "answerTime": "1611803841", "agent": "", "duration": "33", "releaseCause": "0", "task": "193", "callResult": "501", "dialingKey": "", "sessionID": "4feb0f32-6117-11eb-a193-3736e1224a46", "intention": "2", "recordFile": "4/20210128/none-20210128-111721-18627728348-17369934918", "checkDialog": "63", "dialogName": "装修", "dialog\_id": "63", "customer\_id": "4", "readStatus": "1", "remarkNotes": null }], "total":"414", "page":1, "count":10 } }, "logs": "", "result": { "error": "", "msg": "" } }
注:Error为0标识成功。
Logs域未日志域,如果开启了调试会携带相关调试信息
Result域说明:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| error | Y | 错误码 | Int |
| msg | N | 错误描述 |
Data域说明
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 请求的序列号 | Int |
| response | Y | 对请求中每一个命令 |
response字段:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 命令序列号 | 回传数据 |
| userData | N | 用户数据 | 回传数据 |
| result | Y | 结果,通常的响应接口(error和msg两个字段) | Object |
| Total | Y | 列表总数量 | |
| Page | Y | 当前页码 | |
| Count | Y | 当前页码列表数量 | |
| list | N | 通话详情 | Object |
注:如果一个请求中携带了多个请求,则response域,将被替换为responses域,结果为response域的数组。
List字段:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| Key | Y | 通话ID | Int |
| Customer | Y | 客户ID | Int |
| taskName | Y | 外呼任务名称 | String |
| CID | Y | 主叫号码 | Int |
| remark | Y | 备注 | String |
| calledNumber | Y | 被叫号码 | Int |
| answerTime | Y | 应答时间 | 时间戳 |
| agent | Y | 坐席ID | Int |
| duration | Y | 录音时长 | Int |
| releaseCause | Y | 挂断原因 | Int |
| task | Y | 呼叫任务ID | Int |
| callResult | Y | 呼叫结果 | Int |
| dialingKey | Y | 客户按键 | String |
| SessionID | Y | 通话的唯一标识 | String |
| intention | Y | 客户分类 | String |
| recordFile | Y | 通话录音地址 | String |
| checkDialog | Y | 命中关键词节点ID | Int |
| dialogName | Y | 话术名称 | String |
| dialog_id | Y | 话术ID | Int |
| customer_id | Y | 客户ID | Int |
| readStatus | Y | 已读状态 | Int |
| remarkNotes | Y | 备注 | String |
通过该API,获取机器人的列表。
http://aicall.chuanglan.com/openapi/V2.0.8/getairobotlist
复制成功{ "authentication": { "customer": "C2", "digest": "", "seq": "5271", "timestamp": "1471918933001" }, "param": { "debug": "true", "lang": "en\_US" }, "request": { "seq": "", "userData": "", } }
Param域说明:(可选)
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| Debug | N | 是否开启调试 | Bool |
| Lang | N | 响应中的语种 | zh_CH|en_US |
Request域说明:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 命令序列号,推送消息时使用 | Number |
| userData | N | 用户数据,异步响应会回传 | string最长60的字符,如果超过60,将截断 |
userData说明:用户可以在userData中携带一些用户自定义的数据。如对端系统是多用户的,客户把用户的唯一标识传过来。我们回传回去,业务系统就可以知道时那个客户的。再如与坐席相关的呼叫,用户传过来的数据就是坐席的唯一标识。
复制成功{ "result": { "error": 0, "msg": "成功" }, "data": { "seq": "2819", "response": { "seq": "2819", "userData": "", "result": { "error": 0 }, "list": \[ { "id": "1", "name": "111", "num": "1" } ] } }, "logs": null }
注:Error为0标识成功。
Logs域未日志域,如果开启了调试会携带相关调试信息
Result域说明:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| error | Y | 错误码 | Int 0成功 |
Data域说明
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 请求的序列号 | Int |
| response | Y | 对请求中每一个命令 |
response字段:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 命令序列号 | 回传数据 |
| userData | N | 用户数据 | 回传数据 |
| result | Y | 结果,通常的响应接口(error和msg两个字段) | Object |
| list | Y | 返回结果 | Object 里error为0,表示成功 |
List 字段:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| id | Y | 机器人组ID | |
| name | Y | 机器人组名称 | |
| num | Y | 机器人组中机器人数量 |
注:如果一个请求中携带了多个请求,则response域,将被替换为responses域,结果为response域的数组。
通过该API,创建机器人外呼任务(支持回传字段)
http://aicall.chuanglan.com/openapi/V2.0.8/calltaskcreateaiCustomize
复制成功{ "authentication":{ "customer":"C2", "digest":"", "seq":"5271", "timestamp":"1471918933001" }, "request":{ "seq":"", "userData":"", "robot":"", "dialogID":"", "mode":"", "agentGroup":"", "callees":[ { "number":"131 xxxx xxxx", "userData":"回传字段", "param":"变量1#变量2#变量3" }, { "number":"132 xxxx xxxx", "userData":"回传字段1", "param":"变量4#变量5#变量6" } ], "callers":[ ], "CIDGroupID":"", "taskName":"", "multiplier":"", "robot_concurrence_mode":"", "autoRecall":"", "recallTimes":"", "autoStart":"", "ttsTransfer":"1", "weekday1":[0,1,2,3,4,5,6], "startTime1":"08:00", "endTime1":"18:00", "weekday2":[1,2,3,4,5], "startTime2":"08:00", "endTime2":"18:00", "weekday3":[0,6], "startTime3":"08:00", "endTime3":"18:00", } }
Param域说明:(可选)
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| Debug | N | 是否开启调试 | Bool |
| Lang | N | 响应中的语种 | zh_CH|en_US |
Request域说明:
| 字段名称 | 字段说明 | 类型 | 必填 | 长度说明 | 备注 |
|---|---|---|---|---|---|
| seq | 消息序列号 | String | N | 0-20 | 如”123456”;现阶段不启用 |
| userData | 用户回传数据 | String | N | 0-60 | 字符长度60(超过60将截断,用户数据仅可填英文字母和数字以及英文,;%&_+-\|符号) |
| robot | 机器人组ID | Int | Y | - | - |
| dialogID | 话术ID | Int | Y | - | - |
| mode | 模式 | Int | Y | - | 只有 7 代表机器人外呼 |
| callees | 被叫号码 | Array | Y | 1-1000 | Array 数组 |
| callers | 主叫号码 | Array | N | 1-1000 | 主叫号码 默认:Defult |
| taskName | 任务名称 | String | N | - | - |
| multiplier | 呼叫倍率 | String | N | - | 1-5 |
| robot_concurrence_mode | 呼叫基准模式 | String | N | - | 0 机器人 |
| autoRecall | 是否开启自动重呼 | Int | N | - | 0否 1是 |
| ttsTransfer | 是否使用TTS将变量转换为语音 | Int | N | - | 0否 1是,不传默认为1 |
| recallTimes | 重呼次数 | Int | N | - | 最大5 0表示不自动重呼 |
| autoStart | 自动启动 | Int | N | - | 0否 1是 只在被叫名单列表中有TTS变量的情况下生效 |
| templateID | 短信模板ID | Int | N | - | 联系运营分配可获得 |
| weekday1 | 时间段1 | Array | N | 0,1,2,3,4,5,6 | 0表示周天 1-6表示周一到周六 |
| startTime1 | 时间段1的开始时间 | String | N | 08:00 | 如果传入weekday1后,必填 格式为HH:ii |
| endTime1 | 时间段1的结束时间 | String | N | 18:00 | 如果传入weekday1后,必填 格式为HH:ii |
| weekday2 | 时间段2 | Array | N | 0,1,2,3,4,5,6 | 0表示周天 1-6表示周一到周六 |
| startTime2 | 时间段2的开始时间 | String | N | 08:00 | 如果传入weekday2后,必填 格式为HH:ii |
| endTime2 | 时间段2的结束时间 | String | N | 18:00 | 如果传入weekday2后,必填 格式为HH:ii |
| weekday3 | 时间段3 | Array | N | 0,1,2,3,4,5,6 | 0表示周天 1-6表示周一到周六 |
| startTime3 | 时间段2的开始时间 | String | N | 08:00 | 如果传入weekday3后,必填 格式为HH:ii |
| endTime3 | 时间段2的结束时间 | String | N | 18:00 | 如果传入weekday3后,必填 格式为HH:ii |
Callees 字段说明:
| 字段名称 | 字段说明 | 类型 | 必填 | 长度说明 | 备注 |
|---|---|---|---|---|---|
| number | 联系号码 | Int | Y | 1-30 | - |
| userData | 回传字段 | String | Y | 0-60 | 回传数据,string 类型 |
| param | 变量字段 | String | N | - | TTS变量字段,变量使用#拼接,变量请不要使用特殊符号! |
userData说明:用户可以在userData中携带一些用户自定义的数据。如对端系统是多用户的,客户把用户的唯一标识传过来。我们回传回去,业务系统就可以知道时那个客户的。
复制成功{ "result":{ "error":0, "msg":"成功" }, "data":{ "seq":"2819", "response":{ "seq":"2819", "userData":"", "result":{ "error":0 }, "data":{ "report":[ ], "taskID":"", "taskName":"" } } }, "logs":null }
注:Error为0标识成功。
Logs域未日志域,如果开启了调试会携带相关调试信息
Result域说明:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| error | Y | 错误码 | Int 0成功 |
Data域说明
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 请求的序列号 | Int |
| response | Y | 对请求中每一个命令 |
response字段:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| seq | Y | 命令序列号 | 回传数据 |
| userData | N | 用户数据 | 回传数据 |
| result | Y | 结果,通常的响应接口(error和msg两个字段) | Object |
| Data | Y | 返回创建机器人的信息 | Object |
Data字段:
| 字段名 | 必填 | 说明 | 值说明 |
|---|---|---|---|
| report | Y | 创建ai外呼任务呼叫名单 | |
| TaksID | Y | 外呼任务ID | |
| TaskName | Y | 外呼任务名称 |
注:如果一个请求中携带了多个请求,则response域,将被替换为responses域,结果为response域的数组。
启动指定呼叫任务。
http://aicall.chuanglan.com/openapi/V2.0.8/startCallTask
复制成功{ "authentication":{ "customer":"C2", "timestamp":"1471918933001", "seq":"5271", "digest":"ae62e11cab746436b64a26f4ed8e41a3" }, "request":{ "seq":"5271", "userData":"userData", "taskID":"4", "taskName":"taskName_12" } }
| 字段名称 | 字段说明 | 类型 | 备注 | ||
|---|---|---|---|---|---|
| seq | 消息序列号 | String | N | 0-20 | 如”123456”;现阶段不启用 |
| userData | 用户回传数据 | String | N | 0-60 | 字符长度60(超过60将截断,用户数据仅可填英文字母和数字以及英文,;%&_+-\|符号) |
| taskID | 任务ID | Int | N | - | 任务ID或名称必传一个 |
| taskName | 任务名称 | String | N | - | 任务ID或名称必传一个 |
userData说明:
用户可以在userData中携带一些用户自定义的数据。如对端系统是多用户的,客户把用户的唯一标识传过来。
我们回传回去,业务系统就可以知道时那个客户的。再如与坐席相关的呼叫,用户传过来的数据就是坐席的唯一标识。
复制成功{ "result":{ "error":0, "msg":"成功" }, "data":{ "seq":"0001", "response":{ "seq":"5271", "userData":"userData", "result":{ "error":0 }, "data":{ "taskID":"4", "taskName":"taskName_12" } } }, "logs":null }
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| error | 错误码 | String | - |
| msg | 请求返回的描述 | String | - |
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| seq | 消息序列号 | String | - |
| response | 返回数据域 | Object | - |
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| seq | 消息序列号 | String | 回传数据 |
| userData | 用户数据 | String | 回传数据 |
| result | 结果,通常的响应接口(error字段) | Object | - |
| data | 任务内容 | Object | - |
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| taskID | 任务ID | Int | - |
| taskName | 任务名 | String | - |
停止指定呼叫任务。
http://aicall.chuanglan.com/openapi/V2.0.8/stopCallTask
复制成功{ "authentication":{ "customer":"C2", "timestamp":"1471918933001", "seq":"5271", "digest":"ae62e11cab746436b64a26f4ed8e41a3" }, "request":{ "seq":"5271", "userData":"userData", "taskID":"4", "taskName":"taskName_12" } }
| 字段名称 | 字段说明 | 类型 | 必填 | 长度说明 | 备注 |
|---|---|---|---|---|---|
| seq | 消息序列号 | String | N | 0-20 | 如”123456”;现阶段不启用 |
| userData | 用户回传数据 | String | N | 0-60 | 字符长度60(超过60将截断,用户数据仅可填英文字母和数字以及英文,;%&_+-\|符号) |
| taskID | 任务ID | Int | N | - | 任务ID或名称必传一个 |
| taskName | 任务名称 | String | N | - | 任务ID或名称必传一个 |
userData说明:
用户可以在userData中携带一些用户自定义的数据。如对端系统是多用户的,客户把用户的唯一标识传过来。
我们回传回去,业务系统就可以知道时那个客户的。再如与坐席相关的呼叫,用户传过来的数据就是坐席的唯一标识。
复制成功{ "result":{ "error":0, "msg":"成功" }, "data":{ "seq":"0001", "response":{ "seq":"5271", "userData":"userData", "result":{ "error":0 }, "data":{ "taskID":"4", "taskName":"taskName_12" } } }, "logs":null }
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| error | 错误码 | String | - |
| msg | 请求返回的描述 | String | - |
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| seq | 消息序列号 | String | - |
| response | 返回数据域 | Object | - |
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| seq | 消息序列号 | String | 回传数据 |
| userData | 用户数据 | String | 回传数据 |
| result | 结果,通常的响应接口(error字段) | Object | - |
| data | 任务内容 | Object | - |
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| taskID | 任务ID | Int | - |
| taskName | 任务名 | String | - |
如果客户请求发起了呼叫,结束后会推送对话图详情和客户分类。
客户服务器可以通过请求中回传的userData,区分是哪个请求的通知。
由用户提供并配置到系统中
复制成功{ "authentication": { "customer": "C2", "timestamp": "1471918933001", "seq": "5271", "digest": "ae62e11cab746436b64a26f4ed8e41a3" }, "notify": { "type": "billing", "startTime": "2020-01-09 09:41:00", "ringTime": "2020-01-09 09:41:00", "answerTime": "2020-01-09 09:41:00", "byeTime": "2020-01-09 09:41:00", "staffNo": "7777", "group1": "au73ed", "group2": "", "callee": "13800138000", "numberX": "13800138000", "caller": "400823823", "keyPress": "", "taskID": "4", "taskName": "taskName_12", "recordFile": "L2RhdGEvdm9pY2VyZWNvcmQvMy8yMDIxMDExNC9ub25lLTIwMjEwMTE0LTE4Mzc1Ni0xMjY0NDY5MjI4Mi0xMzI3NTAyNDg1Mi5tcDM=", "service": "5", "session": "1607410361-0112-074714", "seq": "21", "userData": "userData", "timeLength": "16", "releaseCause": "1", "ivr": "", "ivrHistory": [], "callResult":"200", "typeResult":"success", "usageMode":"WEB", "label": ["测试","测试2" ], "iccid":"", "imei":"", "deviceID":"", "deviceName":"", "appVersion":"", "errMsg": "", "errMsgCN": "", "trunkIndex": "", "trunkType": "", "trunkName": "", "trunkPeerIP": "", "trunkUsername": "", "releasePart": "", "inQueueTime": "", "outQueueTime": "" } }
(1)notify 域说明:
| 字段名称 | 字段说明 | 类型 | 备注 |
|---|---|---|---|
| type | 标识 | String | 固定值:billing |
| startTime | 呼叫开始时间 | String | 如 2020-01-09 09:41:00 |
| ringTime | 振铃开始时间 | String | 如 2020-01-09 09:41:00 |
| answerTime | 呼叫接通时间 | String | 如 2020-01-09 09:41:00 |
| byeTime | 呼叫结束时间 | String | 如 2020-01-09 09:41:00 |
| callee | 被叫号码 | String | 如 13100000000 |
| numberX | X号码 | String | 如 13100000000 |
| caller | 主叫号码 | String | 如 01000000000 |
| keyPress | 客户按键 | String | - |
| taskID | 任务ID | String | 如 10750 |
| taskName | 任务名称 | String | - |
| recordFile | 录音文件 | String | - |
| service | 业务类型 | String | 4、自动外呼; |
| session | 通话标识 | String | - |
| seq | 消息序列号 | String | - |
| userData | 用户回传数据 | String | - |
| timeLength | 通话时长 | String | - |
| releaseCause | 挂断原因 | String | 错误码,详情见下面错误码说明表 |
| callResult | 分析结果 | String | 错误码,详情见下面错误码说明表 |
| typeResult | 挂断类型 | String | success=成功 fail=失败 leak=漏接 illegal=错误 |
| usageMode | 呼叫方式 | String | WEB=页面发起呼叫 API=接口发起呼叫 APP=电话管家呼叫 OTHERS=其他方式 |
| label | 客户标签 | Array | - |
| releasePart | 通话挂断方 | String | 0默认被叫 1主叫 |
| inQueueTime | 客户进通话队列时间 | String | 时间戳 |
| outQueueTime | 客户出通话队列时间 | String | 时间戳 |
复制成功{ "result": { "error": "", "msg": "" } }
result域说明:
| 字段名 | 说明 | 值说明 |
|---|---|---|
| error | 错误码 | int |
| msg | 错误描述 |