SWX系列二次开发接口说明

SWX系列智能IPPBX API 接口说明   阿斯特网络版权所有 (http://www.astyun.com)未经同意不得转载

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发送外呼指令

  1. 请求方向         CRM->网关
  2. 发送内容

{

“Action”: “API_Originate”,

“ActionID”: “test;1235”,

“CalledNum“: “13800138000“,

“SeatNum“: “8001“,

“Account“: “053188888888“,

}

  1. 参数说明

参数名

含义

说明

Action

命令字

API_Originate

CalledNum

被叫号码

SeatNum

座席号码

Account

计费信息

1.4   弹屏通知

  1. 请求方向         网关->CRM
  2. 发送内容

{

    "type": 3,

    "server_id": 1,

    "server_name": "sdas",

    "ssl": false,

    "timestamp": "20180105164815",

    "token": "D183B0AEDDF86A3CE0FA00A9BA565FD0",

    "data": {

        "Event": "Popup",

        "Privilege": "api,all",

        "CallerNum": "13616549910",

        "SeatNum": "9000"

    }

}

  1. 参数说明

参数名

含义

说明

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“, //返回消息

    }

}

猜你喜欢

转载自www.cnblogs.com/aimod/p/9340224.html