Skip to content

PNS API webhook

justin4515 edited this page Sep 27, 2024 · 13 revisions

概要

  • 通话结果推送

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

简介

短信

语音

云呼叫中心(NXLink)

云呼叫中心(AI自动外呼)

Flash Call

短链

邮件验证码

DID号码

通用

号码检测

WhatsApp

Viber

Zalo ZNS

Super Message API

隐私号(旧)

PNS

坐席(旧版)

AI Agent(对外api)

Clone this wiki locally