PNS API webhook - nxtele/http-api-document GitHub Wiki
概要
- 通话结果推送
请求URL
- 通过提供URL,给研发人员进行配置
请求方式
- Method: POST
- Content-Type: application/json
重试规则
一般情况下,话单信息将在通话结束后推送回指定的地址。收到HTTP 200 OK代表已接受回执推送,本次请求将视为已完成。 如果收到HTTP 非200,NXCLOUD将每隔五分钟重试一次,重试2次仍然失败,则不再重复推送。
请求Body
{
"bindId": "cfb3d939d1ccbb7d5ae0df2b5908d093",
"customerBindId": "axeyb_axeyb",
"callId": "c70b8863b4fae7d3a186db050f54dfa2",
"caller": "+62895001924553",
"did": "6289500***4551",
"didX": "6289500***4551",
"didY": "6289500***4550",
"extensionX": "0193",
"callee": "6289500***4555",
"pnsType": "axeyb",
"callStatus": "1",
"callStatusMsg": "Call Connected",
"ext": "test_AXEYB",
"legList": [
{
"callType": 1,
"caller": "+6289500***4553",
"callee": "6289500***4550",
"callStartAt": 1727419285,
"callRingAt": 0,
"callAnswerAt": 1727419286,
"callFinishAt": 1727419339,
"duration": 53,
"callRecordFile": "",
"hangupType": 0,
"hangupCause": "NORMAL_CLEARING",
"hangupCode": 16,
"uuid": "feb54df1-d5e3-4b4d-a5b2-196f963071fd",
"ringDuration": 1,
"fsCallStatus": 1,
"fsCallStatusMsg": "Call Connected",
"vosCallId": "a30ce767b63616c6c0268cd54%4034.142.222.91",
"allExtension": "x,2233,0193"
},
{
"callType": 2,
"caller": "6289500***4551",
"callee": "6289500***4555",
"callStartAt": 1727419285,
"callRingAt": 0,
"callAnswerAt": 1727419286,
"callFinishAt": 1727419339,
"duration": 53,
"callRecordFile": "",
"hangupType": 1,
"hangupCause": "NORMAL_CLEARING",
"hangupCode": 16,
"uuid": "fc1edf83-ee17-4ce5-a07d-f4adfbdc8ff2",
"ringDuration": 1,
"fsCallStatus": 1,
"fsCallStatusMsg": "Call Connected",
"vosCallId": "c70b8863b4fae7d3a186db050f54dfa2",
"allExtension": ""
}
]
}
回执结果说明
参数名 | 类型 | 说明 |
---|---|---|
bindId | string | 系统绑定id |
customerBindId | string | 客户绑定id |
callId | string | 呼叫id |
caller | string | 通话双方-主叫号码 |
did | string | did号码(该字段后续会废弃,axb和axeb模式下,可用didX号码) |
didX | string | X号码 |
didY | string | Y号码 |
extensionX | string | AXEYB、NXEYB、AXEB中的E分机号码 |
callee | string | 通话双方-被叫号码 |
pnsType | string | 绑定类型描述,axb;axyb;axeb;axeyb,xyb,nxeyb |
callStatus | string | 通话状态码 |
callStatusMsg | string | 通话状态具体描述 |
ext | string | 客户扩展字段,在绑定时可传入 |
legList | object | 单边通话具体信息 |
legList的具体结构如下:
参数名 | 类型 | 说明 |
---|---|---|
callType | int64 | 呼叫方向,1:呼入,2:呼出 |
caller | string | 该次呼叫的主叫号码 |
callee | string | 该次呼叫的被叫号码 |
callStartAt | int64 | 通话开始时间戳,单位为秒 |
callRingAt | int64 | 通话响铃时间戳,单位为秒 |
callAnswerAt | int64 | 通话接听时间戳,单位为秒 |
callFinishAt | int64 | 通话挂断时间戳,单位为秒 |
duration | int64 | 通话耗时,单位为秒 |
callRecordFile | string | 通话状态录音文件 |
hangupType | int64 | 挂断方 0-主叫挂断,1-被叫挂断 |
hangupCode | int64 | 错误原因的q850描述。参考 https://www.nxcloud.com/document/nxphone/hang-up-explained |
hangupCause | string | 挂断原因。参考 https://www.nxcloud.com/document/nxphone/hang-up-explained |
uuid | string | 通话唯一标识 |
ringDuration | int64 | 响铃时长,单位为秒 |
fsCallStatus | int64 | 通话状态码 |
fsCallStatusMsg | string | 通话状态具体描述 |
vosCallId | string | 账单相关的callId |
allExtension | string | 在有分机号场景下,用户输入的分机号集,多个分机号逗号相隔,x代表在某个收号周期客户未输 |
call_status和call_status_msg的说明如下:
call_status | call_status_msg |
---|---|
1 | 拨打成功 |
2 | 拨打失败 |
3 | 其他 |
4 | 主叫取消 |
5 | 响铃无人接听 |
6 | 被叫忙 |
7 | 用户拒接 |
8 | 线路原因或被叫原因临时不可达 |
9 | 绑定关系不存在 |
10 | 分机号输入错误(三次未输入或输入错误都算分机号输入错误) |
11 | 被叫号码异常 (axb中的b错误,既:没有b) |
12 | y号码耗尽(仅在绑定时y设置为呼入时动态分配的场景会出现) |
13 | x号码耗尽(仅在一条绑定支持多个主叫A呼入的场景会出现) |
14 | 输入分机号时,客户主动放弃或挂断 |
15 | 系统异常 |