Email:ailinks@ailinks.cnTEL:13396055980

voip软交换电话系统API接口说明

分类:通信百科 438 0

我公司的voip软交换电话系统提供丰富API接口,为各行业通信整合集成提供方便!下面,小编一一为大家列出:

登录和系统基础信息获取:

## 登录和获取系统基础信息绝大多数接口都需要登录后使用

### 登录

地址:/login

方法:POST

参数:

```json

{

"username": "string",--------------------用户名

"password": "string"---------------------密码

}

```

响应:

```json

{

"result": "api"--------------------------结果

}

```

会给出用户身份以及cookie,如果返回的结果是“login”则代表登录失败

返回结果的可能值:

- admin---------------------管理员

- operator------------------接线员

- api-----------------------api接口

- login---------------------需要登录,登录失败

返回的cookie的名称是`JSESSIONID`,值类似于`FC16EC02923FD2BAE77B1673613BFBF6`

两次数据访问之间的最长有效期为半小时,否则需要重新登录,访问需要登录的接口(地址以`/api/`开头)会出现403错误

### 维持会话有效性

可以使用ping请求维持有效性

地址:/api/ping

方法:GET

响应:

```json

{

"result": "pong"

}

```

响应不具有意义,该请求用于维持会话有效和检查权限

### 系统型号信息

地址:/system-info/model-info

方法:GET

响应:

```json

{

"model": "080",-----------------------------型号识别码

"showModel": "CooVox-U80",------------------型号显示名称

"extenLimit": 200---------------------------最大分机数限制

}

```

这个取决于具体的设备

数字分机管理接口:

## 数字分机管理

数字分机包括sip和iax,iax作为可选项进行开通,默认均为sip

### 查询

地址:/api/extension-digital/list-extension-page

方法:POST

参数

```json

{

"keyword": "",--------------------------查询关键字,对分机号、用户名、部门名进行模糊匹配,空字符串会得到所有记录

"page": {

"pageNumber": 0,----------------------分页的当前页码,从0开始

"size": 1,----------------------------每一页的允许的最大记录数,最小1

"sort": {-----------------------------对结果排序

"direction": "ASC",-----------------排序的方式,ASC:升序,DESC:降序

"order": "exten"--------------------排序的属性,支持后面返回中分机属性的任意属性

}

}

}

```

响应:

```json

{

"content": [----------------------------结果的主体部分,以数组形式给出,没有符合条件结果会是空数组

{

"exten": "100",---------------------分机号

"username": "测试1",-----------------来电显示名称,最长不超过32个字符

"password": "123456",---------------注册密码

"pinCode": "516",-------------------快速注册码

"email": "",------------------------邮箱地址

"outboundCid": "18583230080",-------外呼显示号码

"mobileNumber": "",-----------------移动号码(暂时没有使用)

"language": "en",-------------------提示音语言,语言代码

"voicemail": true,------------------是否开启语音信箱,true/false

"voicemailPassword": "1234",--------语音信箱密码

"remoteExten": false,---------------是否开启远程分机,true/false,开启建议密码强度比较高

"registCount": 3,-------------------允许同时注册终端数目

"videoCall": true,------------------是否开启视频通话,true/false

"videoCallCodec": "h264",-----------视频通话的编码,vp8、h264、h263、h261、h263p,单一编码

"webRtc": true,---------------------是否允许web登录,true/false

"recording": "none",----------------录音,none:不开录音,in:呼入录音,out:呼出录音,both:呼入呼出都录音

"callSpy": false,-------------------是否允许监听,true/false

"transport": "UDP",-----------------注册协议,UDP/TCP/TLS,单一编码

"dtmf": "rfc4733",------------------dtmf模式,auto/rfc4733/inband/info,单一

"srtp": false,----------------------是否开启加密,true/false

"qualify": 60,----------------------在线检测间隔时间,0表示关闭,单位秒

"audioCodec": "ulaw,alaw,g729",-----语音编码,ulaw、alaw、g729、gsm、g722、g726、speex、opus,可以是多个编码,使用英文逗号隔开

"addressExpiration": 120,-----------注册超时,单位秒

"dialPlanId": 1,--------------------拨号计划编号,自定义为1开始,需要从服务器获取记录列表

"dialPlanName": "DialPlan1",--------拨号计划对应的名称

"musicOnHoldId": 2,-----------------通话等待音音乐文件夹编号,自定义上传,需要获取上传的记录列表

"nat": true,------------------------是否开启NAT转换,true/false

"iax": false,-----------------------是否开启IAX分机支持,true/false

"departmentExten": "0400,0401",-----所加入部门的分机号,多个部门号之间使用英文逗号分隔

"departmentName": "JKSHDFJSKNDFJKSHFKNSUCKEHKVYUNJKHKjhksdvjnkjt1,t2"---所参数部门名称,多个名称之间使用英文逗号分隔

}

],

"pageable": {---------------------------分页参数信息,和查询提供的信息对应

"sort": {

"unsorted": false,------------------没有排序

"sorted": true----------------------已经排序

},

"pageSize": 1,------------------------单页记录数量

"pageNumber": 0,----------------------当前页码

"offset": 0,--------------------------起始记录位置(根据分页信息计算)

"unpaged": false,---------------------没有分页

"paged": true-------------------------已经分页

},

"totalElements": 27,--------------------根据查询条件获取到的总记录数

"totalPages": 27,-----------------------根据宗记录数和分页参数,得到的总页数

"last": false,--------------------------是否是最后一页

"sort": {

"unsorted": false,--------------------没有排序

"sorted": true------------------------已经排序

},

"first": true,--------------------------当前是第一页

"size": 1,------------------------------当前页允许的最大记录数

"number": 0,----------------------------当前页码

"numberOfElements": 1-------------------当前页的实际记录数

}

```

响应结果使用分页形式给出,单次查询需要给出每一页的大小和当前需要的页码 参数和响应结果的属性值的说明见上面,后面的请求不再单独进行说明

### 获取分机基本信息

用于设置呼叫目的地等,一次性获取全部数字分机,不分页,仅包含基本信息

地址:/api/extension-digital/extensions-info

方法:GET

响应:

```json

[

{

"exten": "126",---------------------分机号

"name": "126",----------------------分机来电显示名称

"type": "voip"----------------------分机类型,voip:数字分机,analog:模拟分机,此处固定为数字分机,有一个接口会获取到模拟分机

}

]

```

响应为一个数组形式,没有分机时会获取到空数组

### 获取开启了语音信箱的分机

这里获取的分机是开启了语音信箱的分机,用于设置转到语音信箱的目的地

地址:/api/extension-digital/voicemail-extensions-info

方法:GET

响应:

(同分机基本信息)

### 添加

添加的分机号会进行检测,可以先行进行检测

地址:/api/extension-digital/is-extension-available/

方法:GET

响应:

```json

{

"result": false

}

```

将需要检测的分机号通过请求地址发送到服务器,返回的结果是布尔值true/false

也可以使用服务器生成一个可用的分机号

地址:/api/extension-common/gen-add-extension

方法:POST

参数:

name=extension

响应:

```json

{

"result": "127"

}

```

这里使用表单方式提交参数,使用x-www-form-urlencoded,响应为分机号

参数不是变量,是固定的值

添加分机的接口:

地址:/api/extension-digital/add-extension

方法:POST

参数:

```json

{

"addressExpiration": 120,

"audioCodec": "ulaw,alaw,g729",

"callSpy": false,

"dialPlanId": 1,

"dnd": false,

"dtmf": "rfc4733",

"email": "",

"exten": "102",

"language": "en",

"mobileNumber": "",

"musicOnHoldId": 1,

"outboundCid": "",

"password": "joHpm#7AN7",

"qualify": 60,

"recording": "none",

"registCount": 1,

"remoteExten": false,

"srtp": false,

"transport": "UDP",

"username": "102",

"videoCall": false,

"videoCallCodec": "h264",

"voicemail": true,

"voicemailPassword": "1234",

"webRtc": false,

"nat": true,

"iax": false

}

```

响应:

```json

{

"result": true

}

```

参数说明信息参看信息查询里面的说明

这里需要验证拨号计划编号、通话等待提示音文件编号是否存在,分机号是否能够添加等,不能添加的记录会报错误

### 修改

分机号不允许修改

地址:/api/extension-digital/update-extension

方法:POST

参数:

(同添加)

响应:

(同添加)

分机号用于确认修改哪一个分机记录,如果分机号不存在,会报错误,也会检验相关属性,不符合要求和添加一样,会报错误

### 删除

可以一次删除多个分机记录

地址:/api/extension-digital/delete-extension

方法:POST

参数:

```json

{

"extensions": [----------------------------------需要删除的分机号数组

"100"

]

}

```

响应:

```json

{

"result": 1

}

```

响应为成功删除的记录数

需要更多的接口文档,可以联系我公司,我们一起打包给你!供你参考选择。

标签: 通讯知识 上一篇: 下一篇:
展开更多
给我留言,着急的朋友请拨打13396055980
captcha