SWX PBX系列接口说明
SWX系列接口说明
1 接口说明
网关作为client,CRM作为server,通过websocket建立通讯,实现坐席功能。数据格式采用JSON。
加密方式为“自定义字段+timestamp+server_name”做MD5计算通过token带回。服务器只需重新计算比对token值即可。
1.1 注册crm
l 请求方向 网关->CRM
l 接口URL ws://host:port/CC/WebSocket 在网关配置界面可配
l 发送内容 无
1.2 心跳保持
l 请求方向 网关->CRM
l 发送内容 {}
l 参数说明 每5秒发送一次
1.3 Crm发送外呼指令
- 请求方向 CRM->网关
- 发送内容
{
“Action”: “API_Originate”,
“ActionID”: “test;1235”,
“CalledNum“: “13800138000“,
“SeatNum“: “8001“,
“Account“: “053188888888“,
}
- 参数说明
参数名 |
含义 |
说明 |
Action |
命令字 |
API_Originate |
CalledNum |
被叫号码 |
|
SeatNum |
座席号码 |
|
Account |
计费信息 |
|
|
|
|
1.4 弹屏通知
- 请求方向 网关->CRM
- 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "Popup",
"Privilege": "api,all",
"CallerNum": "13616549910",
"SeatNum": "9000"
}
}
- 参数说明
参数名 |
含义 |
说明 |
server_name |
公司简写 |
如sdas,在网关配置页面中配置 |
ssl |
是否加密 |
false为明文 |
Event |
事件类型 |
Popup |
CallerNum |
主叫号码 |
|
SeatNum |
主席号码 |
|
1.5 发送话单
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "Cdr",
"Privilege": "api,all",
"src": "9000",
"srctech": "SIP/9000",
"dst": "13616549910",
"dsttech": "SWX/1",
"start": "2017-12-04 05:56:20",
"answer": "2017-12-04 05:56:20",
"end": "2017-12-04 05:56:25",
"billsec": "5",
"disposition": "NO ANSWER",
"accountcode": "test;1234",
"recordurl": ""
"direction":"in"
"amaflags":"BILLING"
"uniqueid": "1523418461.3",
"dstcallerid": "8002"
}
}
l 参数说明
参数名 |
含义 |
说明 |
server_name |
公司简写 |
如sdas,在网关配置页面中配置 |
ssl |
是否加密 |
false为明文 |
Event |
事件类型 |
Cdr |
src |
呼叫来源 |
|
srctech |
来源类型 |
SWX/1..n,n为通道数,最大值为8 SIP/分机号 |
dst |
呼叫目的地 |
|
dsttech |
目的地类型 |
SWX/1..n,n为通道数,最大值为8 SIP/分机号 |
start |
开始时间 |
|
answer |
摘机时间 |
|
end |
结束时间 |
|
billsec |
通话时长 |
秒 |
recordurl |
录音文件地址 |
如 /sdas/2017/11/25/8008. 13863982739.83101251.1511486227.295100.mp3 |
accountcode |
计费信息 |
外呼时CRM传入,原样带回 |
direction |
呼叫方向 |
lo:本地呼叫(分机呼叫分机) in:中继呼入 out:中继呼出 |
amaflags |
计费信息 |
OMIT:不计费 BILLING:计费 |
uniqueid |
唯一ID |
|
dstcallerid |
最终分机号 |
最终到达的分机号 |
1.6 发送短信
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “SWXSendMSM”,
“ActionID”: “test;1235”,
“Channel“: “1“,
“Number“: “13800138000“,
“Message“: “你好,yuio1235*&(“,
“Encode”:”0”
}
参数名 |
含义 |
说明 |
Action |
命令名 |
SWXSendMSM |
Channel |
通道选择 |
选择从哪个通道发出(1-8) |
Number |
发送目的地 |
目的地号码 |
Message |
短信内容 |
|
Encode |
编码格式 |
0:UCS2; 1:7bit |
1.7 短信成功报告
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "SWXSMSSendOK",
"Privilege": "api,all",
"Channel": "1".
}
}
参数名 |
含义 |
说明 |
Event |
事件类型 |
SWXSMSSendOK |
Device |
通道 |
哪个通道发送成功(1-8) |
1.8 接收短信
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "SWXNewSMS",
"Privilege": "api,all",
"Channel": "1",
"From": "13800451234",
"LineCount": "2",
"MessageLine0": "你好",
"MessageLine1": "test",
}
}
参数名 |
含义 |
说明 |
Event |
事件类型 |
SWXNewSMS |
Channel |
通道 |
哪个通道发送成功 |
From |
短信来源 |
|
LineCount |
短信行数 |
|
MessageLine |
第几行短信 |
|
1.9 查看通道状态
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “SWXShowDevices”,
“ActionID”: “test;1235”,
}
参数名 |
含义 |
说明 |
Action |
命令名 |
SWXShowDevices |
ActionID |
命令ID |
返回值带回 |
1.10 通道状态返回
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "SWXDeviceEntry",
"ActionID": "test;1235",
"Privilege": "api,all",
"Device": "swx1",
"Channel": "1",
"RSSI": "31",
"CCID": "XXXXXX",
"IMEI": "XXXXXX",
“COPS”:
“PIN”:
“State”:
}
}
参数名 |
含义 |
说明 |
Event |
事件类型 |
SWXDeviceEntry |
Channel |
通道 |
通道号 1-8 |
ActionID |
命令ID |
与SWXShowDevices下发相同 |
Device |
通道名 |
可不关心 |
RSSI |
信号强度 |
0-31 |
CCID |
SIM CCID |
|
IMEI |
模块IMEI值 |
|
COPS |
运营商 |
|
PIN |
SIM卡pin状态 |
N/a |
State |
通道状态 |
NoSIM SIM卡为检测 Idle 通道空闲 Dialing 正在呼出 Moring 对方震铃 Talking 通话中 Incoming 呼入 SIMPin 需要PIN码 Init 模块初始化 |
1.11 设置系统时间
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “API_SetSystemTime”,
"ActionID": "010990",
“SystemTime“: “2018-03-09 10:10:10“,
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_SetSystemTime |
ActionID |
命令ID |
用于区分命令序号 |
SystemTime |
系统时间 |
支持时间格式为YYYY-MM-DD hh:mm:ss |
返回值
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
“Response”: “Success”,
"ActionID": "010990", //同命令下发的ActionID
“Message“: “xxxxxxx“,
}
}
1.12 查询通道状态
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “SWXShowChannelsState”,
"ActionID": "010990",
}
参数名 |
含义 |
说明 |
Action |
命令名 |
SWXShowChannelsState |
ActionID |
命令ID |
用于区分命令序号 |
返回值
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Response": "Success",
"ActionID": "12334",
"Channel1": "NoSIM",
"Channel2": "NoSIM",
"Channel3": "NoSIM",
"Channel4": "NoSIM",
"Channel5": "Idle",
"Channel6": "NoSIM",
"Channel7": "NoSIM",
"Channel8": "NoSIM",
"ChannelCount": "8",
}
}
参数名 |
含义 |
说明 |
Response |
|
Success |
ActionID |
命令ID |
用于区分命令序号 |
ChannelCount |
通道数 |
8 |
Channel[n] |
通道状态 |
NoSIM SIM卡为检测 Idle 通道空闲 Dialing 正在呼出 Moring 对方震铃 Talking 通话中 Incoming 呼入 SIMPin 需要PIN码 Init 模块初始化 |
1.13 查询通道信号
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “SWXShowChannelsRSSI”,
"ActionID": "010990",
}
参数名 |
含义 |
说明 |
Action |
命令名 |
SWXShowChannelsRSSI |
ActionID |
命令ID |
用于区分命令序号 |
返回值
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Response": "Success",
"ActionID": "12334",
"Channel1": "31",
"Channel2": "31",
"Channel3": "31",
"Channel4": "31",
"Channel5": "31",
"Channel6": "31",
"Channel7": "31",
"Channel8": "31",
"ChannelCount": "8",
}
}
参数名 |
含义 |
说明 |
Response |
|
Success |
ActionID |
命令ID |
用于区分命令序号 |
ChannelCount |
通道数 |
8 |
Channel[n] |
通道状态 |
0-31,31为信号最强 |
1.14 坐席状态变化通知
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "API_ExtensionStatus",
"Exten": "8001",
"Status": "Idle"
}
}
参数名 |
含义 |
说明 |
Exten |
坐席号 |
|
Status |
当前状态 |
NOT_INUSE=就绪 INUSE=占用 BUSY=置忙 INVALIED= 不可用 UNAVAILABLE=振铃 RINGING=振铃 RINGINUSE=振铃 ONHOLD=通道保持 PAUSED=暂停(只对队列成员有用) |
1.15 排队成员添加
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "API_QueueCallerJoin",
"Queue": “test",
"IncomingCaller": "13813569912"
}
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueCallerJoin |
Queue |
队列名 |
队列成员的名字 |
IncomingCaller |
等待的主叫号码 |
13813569912 |
1.16 排队成员离开
主叫为座席接听或者主叫主动放弃推出等待队列都会有该事件。
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "API_QueueCallerLeave",
"Queue": “test",
"IncomingCaller": "13813569912"
}
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueCallerLeave |
Queue |
队列名 |
队列成员的名字 |
IncomingCaller |
等待的主叫号码 |
13813569912 |
1.17 排队成员放弃等待
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "API_QueueCallerLeave",
"Queue": “test",
”HoldTime“:”100”,
"IncomingCaller": "13813569912"
}
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueCallerLeave |
Queue |
队列名 |
队列成员的名字 |
HoldTime |
等待时长 |
单位为秒 |
IncomingCaller |
等待的主叫号码 |
13813569912 |
1.18 队列分机振铃
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "API_QueueMemberRinging",
"Queue": “test",
”Memeber“:”8000”,
"IncomingCaller": "13813569912"
}
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueMemberRinging |
Queue |
队列名 |
队列成员的名字 |
Member |
队列成员 |
|
IncomingCaller |
等待的主叫号码 |
13813569912 |
1.19 队列分机无应答
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "API_QueueMemberNoAnswer",
"Queue": “test",
”Memeber“:”8000”,
“RingTime”:”100”,
"IncomingCaller": "13813569912"
}
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueMemberNoAnswer |
Queue |
队列名 |
队列成员的名字 |
Member |
队列成员 |
|
RingTime |
振铃时长 |
在该分机上的振铃时长,单位为秒 |
IncomingCaller |
等待的主叫号码 |
13813569912 |
1.20 队列分机应答
l 请求方向 网关->CRM
l 发送内容
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
"Event": "API_QueueMemberAnswer",
"Queue": “test",
”Memeber“:”8000”,
“RingTime”:”100”,
“HoldTime”:”50”,
"IncomingCaller": "13813569912"
}
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueMemberAnswer |
Queue |
队列名 |
队列成员的名字 |
Member |
队列成员 |
|
HoldTime |
总共等待时长 |
单位秒 |
RingTime |
振铃时长 |
在该分机上的振铃时长,单位为秒 |
IncomingCaller |
等待的主叫号码 |
13813569912 |
1.21 队列成员置忙控制
用于暂停队列中的成员继续接听电话
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “API_QueueMemberPause”,
“ActionID”: “test;1235”,
“Extension“: “8000“,
“Queue“: “test“,
“Paused“: “true“,
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueMemberPause |
ActionID |
命令ID |
|
Extension |
分机号 |
如8000 8001 |
Queue |
队列名 |
|
Paused |
是否置忙 |
true表示置忙,false表示置闲 |
返回值
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
“Response”: “Success”, // 失败为Error
"ActionID": "test;1235", //同命令下发的ActionID
“Message“: “xxxxxxx“,
}
}
1.22 队列成员添加
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “API_QueueMemberAdd”,
“ActionID”: “test;1235”,
“Extension“: “8000“,
“Queue“: “test“,
“Paused“: “false“,
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueMemberPause |
ActionID |
命令ID |
|
Extension |
分机号 |
如8000 8001 |
Queue |
队列名 |
|
Paused |
添加时是否置忙 |
true表示置忙,false表示置闲 |
返回值
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
“Response”: “Success”, // 失败为Error
"ActionID": "test;1235", //同命令下发的ActionID
“Message“: “xxxxxxx“, //返回消息
}
}
1.23 队列成员删除
l 请求方向 CRM->网关
l 发送内容
{
“Action”: “API_QueueMemberRemove”,
“ActionID”: “test;1235”,
“Extension“: “8000“,
“Queue“: “test“,
}
参数名 |
含义 |
说明 |
Action |
命令名 |
API_QueueMemberRemove |
ActionID |
命令ID |
|
Extension |
分机号 |
如8000 8001 |
Queue |
队列名 |
|
返回值
{
"type": 3,
"server_id": 1,
"server_name": "sdas",
"ssl": false,
"timestamp": "20180105164815",
"token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",
"data": {
“Response”: “Success”, // 失败为Error
"ActionID": "test;1235", //同命令下发的ActionID
“Message“: “xxxxxxx“, //返回消息
}
}
posted on 2018-08-06 14:45 QQ10053660 阅读(835) 评论(0) 编辑 收藏 举报