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 系统异常