1. 组织机构(http)
1.1 查询组织结构
1.1.1 接口描述
机构查询
1.1.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
pid | 父机构id | 否 | 精确匹配 |
cascade | 级联查询 | 否 | 取值范围【0:否,1:是】,是否级联查询子机构,缺省为0 |
1.1.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
id | 机构id | 是 | |
code | 机构标识 | 是 | |
name | 机构名称 | 是 | |
pid | 父机构id | 是 | |
remarks | 机构描述 | 否 | |
creater | 创建人 | 否 | |
child | 子级部门 | 是 | |
createtime | 创建时间 | 是 |
1.1.4 接口示例
请求
http://RDS服务器地址:端口/dispatch/api?cmd=orginfo
响应
{
"cmd": "rsp_msg",
"req_cmd": "",
"msgid": "",
"res_code": "消息码",
"res_msg": "消息内容",
"data": [{
"id": "部门id",
"code": "部门编码",
"name": "部门名称",
"pid": "父部门id",
"remarks": "描述",
"creater": "创建者id",
"createtime": "创建时间"
"child": null,
},
{
"id": "部门id",
"code": "部门编码",
"name": "部门名称",
"pid": "父部门id",
"remarks": "描述",
"creater": "创建者id",
"createtime": "创建时间"
"child": null,
}
]
}
1.2 查询机构用户
1.2.1 接口描述
将机构用户和用户详情2个接口合并为一了
1.2.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
orgid | 机构标识 | 否 | |
orgname | 机构名称 | 否 | |
userid | 用户id | 否 | |
username | 用户名称 | 否 | |
phorex | 手机或分机号码 | 否 | |
scope | 角色 | 否 | //0:其他, 1:调度台, 2:调度用户, 3:SIP用户, 4:集群网关用户, 5:外部用户 |
kind | 设备类型 | 否 | |
keyword | 用户名或者手机号 | 否 |
1.2.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
id | 用户id | 是 | |
name | 名称 | 否 | |
orgid | 部门id | ||
orgname | 部门名称 | ||
account | 账号 | 否 | |
remarks | 用户描述 | 否 | |
creater | 创建人 | 否 | |
scope | 角色 | 是 | //0:其他, 1:调度台, 2:调度用户, 3:SIP用户, 4:集群网关用户, 5:外部用户 |
kind | 设备类型 | 是 | |
headimg | 头像地址 | 否 | |
createtime | 创建时间 | 是 | |
app_map_type | 地图类型 | 否 | |
app_lng | 精度 | 否 | |
app_lat | 维度 | 否 | |
app_battery | 电量 | 否 | |
app_speed | 速度 | 否 | |
app_direction | 方向 | 否 | |
camera_no | 设备号 | 否 | |
camera_url | 摄像头地址 | 否 | |
now_online | 是否在线 | 0 不在线 1 在线 | |
now_extension_status | 话机是否在线 | 0 在线 1不在线 | |
now_extension_state | 话机通话状态 | ringing响铃 oncall通话中 available未通话 |
1.2.4 接口示例
请求
http://RDS服务器地址:端口/dispatch/api?cmd=userinfo&orgid=a8531cdf39b84047b0b6bd426f3eaa41 |
响应
{
"cmd":"",
"msgid":"",
"req_cmd":"",
"res_code":"消息碼",
"res_msg":"消息類容",
"data":{
"1a28c26e34794ece96f36ae0008105e7":{
"id":"1a28c26e34794ece96f36ae0008105e7",
"name":"用户名称",
"account":"",
"phorex":"",
"remarks":"",
"scope":0,
"type":0,
"headimg":"头像地址",
"createtime":"创建时间",
"app_map_type":"地图类型 0:百度,1:高德,2:腾讯",
"app_lng":0.000000000000,//精度
"app_lat":31.990363000000,//维度
"app_battery":0.0,//电量
"app_speed":1.0,//速度
"app_direction":1.0,//方向
"camera_no":"",
"camera_url":"" ,
"orgid":"部门id",
" orgname":"部门名称"
}
}
}
1.3 查询位置数据
1.3.1 接口描述
查询指定用户的位置数据或全体用户的位置数据。
1.3.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 命令名称 | 是 | 固定为locus |
userid | 用户id | 否 | 设置了userid,表示只查询这个用户的位置数据;否则表示查询所有用户的位置数据 |
page | 页数 | 是 | 获取第几页数据 |
pagesize | 每页数据数量 | 是 | 设置每页数据的数量 |
starttime | 开始时间 | 是 | 格式为YYYYMMDDHHMMSS,比如2021年8月4日15:33:00,写作20210804153300 |
endtime | 截至时间 | 是 | 格式同starttime |
zbx | gps坐标系 | 是 | 默认rzt,该坐标系为WGS84 |
1.3.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 命令名称 | 是 | 固定为rsp_msg |
msgid | 消息id | 是 | 未使用 |
req_cmd | 请求的命令 | 是 | 未使用 |
res_code | 响应码 | 是 | 0表示成功 |
res_msg | 响应信息 | 是 | 跟res_code对应的信息 |
data | 数据 | 是 | |
currentPage | 当前页 | 是 | data下的数据,表示请求到的是第几页数据 |
currentResult | 数据起始数 | 是 | data下的数据,表示请求到的数据是从全部数据的第几条开始的,全部数据的起始数是0 |
showCount | 数据数量 | 是 | data下的数据,表示请求到的数据的数量 |
totalPage | 全部页数 | 是 | data下的数据,表示查询到的数据总页数 |
totalResult | 全部数量 | 是 | data下的数据,表示查询到的数据总数量 |
entityOrField | 未使用 | 是 | 未使用 |
info | 位置数据 | 是 | |
userid | 用户id | 是 | info下的数据,表示本条数据属于哪个用户 |
app_lng | 经度 | 否 | info下的数据 |
app_lat | 纬度 | 否 | info下的数据 |
app_battery | 电量 | 否 | info下的数据,终端的电量 |
app_speed | 速度 | 否 | info下的数据 |
app_direction | 方向 | 否 | info下的数据 |
app_map_type | 未使用 | 否 | info下的数据,未使用 |
createtime | 产生时间 | 否 | info下的数据,位置数据产生的时间 |
1.3.4 接口示例
请求
http://RDS服务器地址:端口/dispatch/api?cmd=locus&pagesize=10&starttime=20210704004715&endtime=20210704224715&zbx=rzt&page=1
响应
{
"cmd": "rsp_msg",
"data": {
"currentPage": 1,
"currentResult": 0,
"entityOrField": true,
"info": [
{
"createtime": 1625394759000,
"app_lat": 34.20514941,
"app_battery": "9.0",
"app_lng": 108.90070615,
"app_speed": 0.0,
"app_map_type": 0,
"app_direction": 0.0,
"userid": "5eec5a5c5dd14412a37bc60b5d15d299"
},
{
"createtime": 1625394743000,
"app_lat": 34.20688493,
"app_battery": "9.0",
"app_lng": 108.90188982,
"app_speed": -3.6,
"app_map_type": 0,
"app_direction": 0.0,
"userid": "5eec5a5c5dd14412a37bc60b5d15d299"
},
......
],
"showCount": 10,
"totalPage": 8,
"totalResult": 71
},
"msgid": null,
"req_cmd": null,
"res_code": "0",
"res_msg": "请求成功"
}
1.4 添加部门
1.4.1 接口描述
添加部门,根部门有且只有一个
1.4.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
id | 主键,添加的时候为空 | String | 是 | |
pid | 父部门id | String | 是 | 空值表示根部门 |
orgName | 父部门名称 | String | 是 | |
name | 部门名称 | String | 是 | |
remarks | 备注 | String | 否 |
1.4.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:200,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
1.4.4 接口示例
请求地址:
https://RDS服务器地址:端口/dm/dispatch/org/add
请求参数:
Content-Type: application/x-www-form-urlencoded
Method:post
id:
&pid: a80f71b160014d0a8c77c04a894b9afd
&orgName: 软件部
&name: 分部3
&remarks:
响应:
{
"msg": "",
"code": 200
}
1.5 修改部门
1.5.1 接口描述
修改部门
1.5.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
id | 主键,添加的时候为空 | String | 是 | |
pid | 父部门id | String | 是 | 不能为空,上级部门必须选择 |
orgName | 父部门名称 | String | 是 | |
name | 部门名称 | String | 是 | |
remarks | 备注 | String | 否 |
1.5.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:200,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
1.5.4 接口示例
请求地址:
https://RDS服务器地址:端口/dm/dispatch/org/update
请求参数:
Content-Type: application/x-www-form-urlencoded
Method:post
id: fef719aa99134c67a5b75ddda038b731
&pid: a80f71b160014d0a8c77c04a894b9afd
&orgName: 软件部
&name: 分部3
&remarks:
响应:
{
"msg": "修改成功",
"code": 200
}
1.6 删除部门
1.6.1 接口描述
删除部门
1.6.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
id | 主键 | String | 是 |
1.6.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:200,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
1.6.4 接口示例
请求地址:
https://RDS服务器地址:端口/dm/dispatch/org/update
请求参数:
Content-Type: application/x-www-form-urlencoded
Method:post
id: fef719aa99134c67a5b75ddda038b731
响应:
{
"msg": "删除成功",
"code": 200
}
1.7 查询部门
1.7.1 接口描述
查询部门
1.7.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
1.7.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功; 2,异常(系统内部出现错误); 1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 | |
count | 记录数 | long | 是 | |
data | 消息数据 | |||
code | 部门编号 | String | 是 | |
createName | 创建人姓名 | String | 是 | |
creater | 创建人id | String | 是 | |
createtime | 创建时间 | String | 是 | |
id | 部门Id | String | 是 | |
name | 部门名称 | String | 是 | |
orgName | 父部门名称 | String | 是 | |
pid | 父部门id | String | 是 | |
remarks | 备注 | String | 是 |
1.7.4 接口示例
请求
http://RDS服务器地址:端口/dm/dispatch/org/list
响应
{
"data": [{
code: null,
createName: null,
creater: "1",
createtime: "2022-04-07 14:21:26",
id: "75fbf2aa2747460e92220cff82f070bf",
name: "分部2",
orgName: "软件部",
pid: "a80f71b160014d0a8c77c04a894b9afd",
remarks: ""
},
{
code: null,
createName: null,
creater: "",
createtime: "2022-03-10 17:30:51",
id: "15f645ac90214f4fa50351bd4276dadf",
name: "分部1",
orgName: "软件部",
pid: "a80f71b160014d0a8c77c04a894b9afd",
remarks: ""
}
],
"code": 0,
"count": 10,
"msg": ""
}
2 登录(websocket)
2.1 登录接口
2.1.1 接口描述
用于登录
2.1.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【login:用户登录】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
account | String | 是 | 用户账号 |
password | String | 是 | 用户密码 |
2.1.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
req_cmd | 请求命令 | 否 | 请求命令 |
res_code | 响应码 | 是 | |
res_msg | 响应消息 | 否 |
2.1.4 接口示例
请求:
{
"cmd": "login",
"data":{
"account": "801",
"password": "123456"
},
"msgid": "xxxxxxxxxxx",
}
响应:
{
"cmd": "rsp_msg",
"data": {
"dispatchinfo": {//调度信息
"webrtc_no": 810, // webrtc号码
"user_id": "2",//用户id
"video_meet_no": 10001,//语音会议号码
"id": 1,//表主键ID,没用
"audio_meet_no": 10000 //视频会议号
},
"userinfo": {//用户信息
"account": "801", //账号
"app_battery": "0",//电量
"app_direction": 0.0,//方向
"app_lat": 0,//维度
"app_lng": 0,//精度
"app_speed": 0.0,//速度
"camera_no": "7000",//设备号
"channel_online": false,//是否对讲中
"comein": false,//是否会议中
"compere": false,//是否主持人
"createtime": "2020-01-02 18:06:38",//创建时间
"deaf": false,//是否置聋
"dtype": 0,// 设备类型,默认0,取值范围 【 0:内线分机, 1:外线, 3:监控,4:广播】
"headimg": "http://192.168.10.207:8001/head/ip.png",//头像
"id": "2",//userid
"kind": 0,// 0:ip话机 1:phone 2:广播,3:监控视频
"mute": false,// 是否禁言 【true:是,false:否】 对讲时可以根据该字段判断是否是话权人
"name": "801",//用户名
"now_extension_state": "available",//话机通话状态 ringing 响铃 oncall 通话中 available 未通话
"now_extension_status": 0,// 话机是否在线 0 在线 1不在线
"now_online": 1, // 0 不在线 1 在线
"phorex": "801",//手机或分机号
"scope": 1
}
},
"msgid": "xxxxxxxxxxxxxx",
"req_cmd": "login",
"res_code": "0",
"res_msg": "成功"
}
2.2 用户心跳
2.2.1 接口描述
用户登录后,每15秒发送一次心跳消息
2.2.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【heart:用户心跳】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
id | String | 是 | 用户id |
battery | String | 是 | 电量 |
lat | String | 是 | 纬度 |
lng | String | 是 | 经度 |
direction | String | 是 | 方向 |
speed | String | 是 | 速度 |
channel_online | Boolean | 是 | 是否在对讲中 |
2.2.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 否 | |
msgid | 请求消息ID | 是 | xxxxxxxxxxxxxx |
req_cmd | 请求命令 | 否 | 请求命令 |
res_code | 响应码 | 是 | |
res_msg | 响应消息 | 否 |
2.2.4 接口示例
请求:
{
"cmd": "heart", //用户心跳
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"id":"用户id",
"createtime":"创建时间",
"app_map_type":"地图类型 0:百度,1:高德,2:腾讯",
"app_lng":0.000000000000,//精度
"app_lat":31.990363000000,//纬度
"app_battery":0.0,//电量
"app_speed":1.0,//速度
"app_direction":1.0,//方向
"camera_no":"",
"camera_url":"" ,
"channel_online":true;//是否在对讲中,true:在,false:不在
}
}
响应:
{
"cmd": "rsp_msg", //交互响应消息
"req_cmd": "heart", //用户心跳
"res_code": "0", //响应状态码,0表示成功,其他表示失败
"res_msg": "成功",
"msgid": "xxxxxxxxxx" //请求时携带的消息id,用于消息确认,异步转同步
}
3 音视频会议接口(http)
3.1 创建会议
3.1.1 接口描述
本接口用于创建音频/视频会议。
为方便系统回收会议号码资源,按需要选择临时会议或非临时会议。临时会议在会议结束后会自动删除。
3.1.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetcreate:创建会议】 |
type | Int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
temp | boolean | 否 | 是否临时,【true:临时,false:非临时】 默认为true,表示临时会议 |
meetnum | String | 否 | 会议号码 |
meetname | String | 否 | 会议名称,如果不填写默认和meetnum保持一致 |
starttime | String | 否 | 开始时间 |
endtime | String | 否 | 结束时间 |
members | String | 否 | 会议成员号码,多个号码以英文,分隔 每个号码格式为 // 设备号码|设备类型|主持人|创建人|网关名称 // 1000|0|false|false|TO200 设备类型读取自用户信息的dtype字段 主持人默认设置为false 创建人默认设置为false 网关名称读取自用户信息的gatewayname字段 |
video | String | 否 | 是否视频呼叫 ,取值范围【true:是,false:】 默认为false |
3.1.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
meetnum | String | 否 | 会议号码 |
3.1.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 50
cmd=meetcreate&type=0&temp=true&video=false&meetname=临时语音会议&members=1000|0|false|true|,1001|1|false|false|TO200
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:22:17 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功",," meetnum ":"20000"}
3.2 删除会议
3.2.1 接口描述
本接口用于删除音频/视频会议。
对于临时会议,发起结束会议(meetoff)的客户端需要执行删除会议。
3.2.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetdelete:删除会议】 |
meetnum | String | 是 | 会议号码 |
3.2.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.2.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 50
cmd=meetdelete&meetnum=20000
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:22:17 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.3 会议信息
3.3.1 接口描述
本接口用于查询会议信息, 可以查询所有会议或某一个会议信息
3.3.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetinfo:会议信息查询】 |
meetnum | String | 否 | 会议号码 |
device | String | 是 | 会议成员设备号,读取自用户信息的phorex字段 |
type | String | 否 | 会议类型,取值范围【0:会议,1:广播】,不填则全部 |
status | String | 否 | 会议状态, 取值范围【0:活跃,1:非活跃】,不填则全部 |
3.3.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
data | Object | 否 | |
meetname | String | 是 | 会议名称 |
meetnum | String | 是 | 会议号码 |
starttime | long | 是 | 开始时间 |
endtime | long | 是 | 结束时间 |
max_members | int | 否 | 最多会议成员数, 0不限制 |
meetMebers | List | 是 | 已入会成员 |
autocall | boolean | 否 | 是否自动呼叫 |
status | int | 否 | 会议是否开始,【0:非活跃,1:活跃】 |
members | List | 是 | 会议成员集合 |
成员对象 | |||
device | String | 是 | 设备号码 |
compere | boolean | 是 | 是否是主持人,【true:是,false:否】 |
creater | boolean | 是 | 是否是创建人 |
dtype | String | 是 | 设备类型,默认0,取值范围 【0:内线分机, 1:外线,3:监控, 4:广播】 |
mute | boolean | 是 | 是否禁言 【true:是,false:否】 对讲时可以根据该字段判断是否是话权人 |
deaf | boolean | 是 | 是否聋 【true:是,false:否】 |
comein | boolean | 是 | 是否在会议中【true:是,false:否】 |
3.3.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetinfo
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{
"error_code": 0,
"error_msg": "操作成功",
"data": [
{
"meetname": "10000",
"meetnum": "10000",
"status": 0,
"type": 0,
"members": [
{
"device": "1000",
"compere": false,
"creater": true,
"dtype": 0,
"deaf": false,
"mute": true,
"comein": true
}
]
}
]
}
3.4 发起会议
3.4.1 接口描述
本接口用于发起会议
3.4.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meeton:会议发起】 |
meetnum | String | 是 | 会议号码 |
3.4.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.4.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meeton&meetnum=20000
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.5 结束会议
3.5.1 接口描述
本接口用于结束会议,即关闭会议室,所有与会人员退出会议室。
3.5.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetoff:会议挂断结束】 |
meetnum | String | 是 | 会议号码 |
3.5.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.5.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetoff&meetnum=20000
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.6 会议中添加成员
3.6.1 接口描述
本接口用于向已开启的音频/视频会议中添加成员。
本次添加的成员本次会议有效,会议结束后,后台会恢复原会议成员。
3.6.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetadd:会议新增成员】 |
meetnum | String | 是 | 会议号码 |
members | String | 否 | 会议成员号码,多个号码以英文,分隔 |
3.6.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.6.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 52
cmd=meetadd&meetnum=20000&&members=1000|0|false|true|,1001|1|false|false|TO200
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:20:19 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.7 会议中剔除成员
3.7.1 接口描述
本接口用于剔除已开启的音频/视频会议中的成员。
本次剔除的成员本次会议有效,会议结束后,后台会恢复原会议成员。
3.7.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetkick:会议成员剔除】 |
meetnum | String | 是 | 会议号码 |
members | String | 否 | 会议成员号码,多个号码以英文,分隔 |
3.7.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.7.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetkick&meetnum=20000&members=1002
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.8 会议中成员禁言
3.8.1 接口描述
本接口用于禁止会议成员讲话,即被禁言的成员的语音不会进入会议。
3.8.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetmute:会议成员禁言】 |
meetnum | String | 是 | 会议号码 |
members | String | 否 | 会议成员号码,多个号码以英文,分隔 |
3.8.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.8.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetmute&meetnum=20000&members=1002
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.9 会议中成员取消禁言
3.9.1 接口描述
本接口用于取消会议成员禁言,即该成员的语音可以进入会议。
3.9.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetunmute:会议成员取消禁言】 |
meetnum | String | 是 | 会议号码 |
members | String | 否 | 会议成员号码,多个号码以英文,分隔 |
3.9.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.9.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetunmute&meetnum=20000&members=1002
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.10 会议中成员置聋
3.10.1 接口描述
本接口用于对会议成员置聋,即被置聋的成员听不到会议中的声音。
3.10.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetdeaf:会议成员聋】 |
meetnum | String | 是 | 会议号码 |
members | String | 否 | 会议成员号码,多个号码以英文,分隔 |
3.10.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.10.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetdeaf&meetnum=20000&members=1002
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.11 会议中成员取消置聋
3.11.1 接口描述
本接口用于取消对会议成员的置聋,即该成员可以听到会议中的声音。
3.11.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String ```java | 是 | 取值为【meetundeaf:会议成员取消聋】 |
meetnum | String | 是 | 会议号码 |
members | String | 否 | 会议成员号码,多个号码以英文,分隔 |
3.11.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.11.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetundeaf&meetnum=20000&members=1002
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{"error_code":0,"error_msg":"操作成功"}
3.12 视频会议布局
3.12.1 接口描述
本接口用于设置当前视频会议布局
3.12.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetlayout:会议布局】 |
meetnum | String | 是 | 会议号码 |
meetname | String | 否 | 会议名称 |
layout | String | 是 | 布局方式,取值示例: 1x1,2x2,3x3,4x4 |
3.12.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0:为成功,其他均为失败 |
error_error_msg | String | 否 | 错误信息 |
3.12.4 接口示例
POST /cti/cpi HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.04
Content-Type: application/x-www-form-urlencoded
Host: 127.0.0.1:8001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 63
cmd=meetlayout&meetnum=3000&layout=1x1
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=utf-8
Date: Wed, 25 Jan 2017 07:28:41 GMT
Content-Length: 43
{
"error_code": 0,
"error_msg": "操作成功"
}
4 对讲相关接口(websocket)
4.1 历史频道
4.1.1 接口描述
本接口用于查询自己所在的对讲组信息。
4.1.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【chnnel_history:历史频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_type | String | 是 | 频道类型,取值范围【0:公共,1:私有】,缺省不填为所有 |
4.1.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.1.4 接口示例
请求:
{
"cmd":"chnnel_history",//历史频道,用于获取所在的频道列表
"msgid":"xxxxxxxxxx", //uuid,用于消息同步交互
"data":
{
"channel_type": "0"//频道类型,取值范围【0:公共,1:私有】,缺省不填为所有
}
}
响应:
{
"cmd": "rsp_msg", //交互响应消息
"res_code": "0", //响应状态码,0表示成功,其他表示失败
"res_msg": null,
"msgid": "xxxxxxxxxx",//uuid,用于消息同步交互
“req_cmd":"chnnel_history"//历史频道
"data": [
{
"channel_creater": "139000000000",//uuid,用于消息同步交互
"channel_createtime": null,//频道创建时间
"channel_holder": null,
"channel_id": "2",//频道id
"channel_name": "2222",//频道名称
"channel_type": "0",//频道类型,取值范围【0:公共,1:私有】
"channel_updatetime": "0"//频道更新时间
"lastinchanneltime":"0", //最后一次进入频道时间, 格式为yyyyMMddHHmmss,例:20190918101010,缺省未进入的为0
"all_user_num":10,//频道总人数
"in_user_num":1,//频道当前在线人数
"channel_head_img":"http://xxxx.jpg"//频道头像
}
]
}
4.2 频道成员
4.2.1 接口描述
本接口用于查询某个对讲组的成员信息。
4.2.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_members:频道成员】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
4.2.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.2.4 接口示例
请求:
{
"cmd":"channel_members",//频道成员获取
"msgid":"xxxxxxxxxx", //uuid,用于消息同步交互
"data":
{
"channel_id":"2" //频道id
}
}
响应:
{
"cmd": "rsp_msg", //交互响应消息
"res_code": "0", //响应状态码,0表示成功,其他表示失败
"res_msg": "成功",
"msgid": "xxxxxxxxxx", 用于消息同步交互
"req_cmd":"channel_members", //频道成员获取
"data:": [ //所有成员集合
{
"id":"用户id",
"name":"用户名称",
"account":"",
"phorex":"",
"remarks":"",
"scope":0,//0:其他, 1:调度台,2:调度用户
"dtype":0,//0:内部用户 1:外部用户
"headimg":"头像地址",
"createtime":"创建时间",
"app_lng":0.000000000000,//经度
"app_lat":31.990363000000,//纬度
"app_battery":0.0,//电量
"app_speed":1.0,//速度
"app_direction":1.0,//方向
"camera_no":"",
"camera_url":"" ,
"orgid":"部门id",
"now_extension_status":0 // 0 在线 1不在线,
"now_extension_state":"available" // ringing 响铃 oncall 通话中 available 未通话,
channel_online;//是否在对讲中,true:在,false:不在
Lastchannelid;//最后进入的频道号
}
]
}
4.3 进入频道
4.3.1 接口描述
本接口用于发起或加入对讲。
如果对讲组是关闭状态,使用本接口是发起对讲,后台会邀请其他对讲组成员进入对讲;如果对讲组是打开状态,使用本接口仅仅是自己加入对讲组。
4.3.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_in:进入频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
4.3.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.3.4 接口示例
请求:
{
"cmd": "channel_in", //进入频道
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"channel_id": "2", //频道id
}
}
响应:
{
"cmd": "rsp_msg",
"data": {
"all_user_num": 5,
"channel_creater": "7 b3a8d28fcb2495fa5338b755d943984",
"channel_createtime": "1582427209235",
"channel_id": "100001", //对讲组ID
"channel_name": "测试组2", //对讲组名称
"channel_type": "0",
"channel_updatetime": "1582427209236",
"has_pw": false,
"in_user_num": 1,
"lastactive": 0
},
"msgid": "xxxxxxxxxx",
"req_cmd": "channel_in",
"res_code": "0"
}
4.4 离开频道
4.4.1 接口描述
本接口用于退出对讲。
自己退出当前对讲呼叫。
4.4.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_out:离开频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
4.4.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.4.4 接口示例
请求:
{
"cmd": "channel_out", //离开频道
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"channel_id": "2", //频道id
}
}
响应:
{
"cmd": "rsp_msg",
"msgid": "xxxxxxxxxx",
"res_code": "0"
}
4.5 退出频道
4.5.1 接口描述
本接口用于退出对讲组,自己不再是对讲组成员。
4.5.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_quit:退出频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
4.5.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.5.4 接口示例
请求:
{
"cmd": "channel_quit", //彻底退出频道,不在是频道成员
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"channel_id": "2", //频道id
}
}
响应:
{
"cmd": "rsp_msg",
"msgid": "xxxxxxxxxx",
"res_code": "0"
}
4.6 获取话权
4.6.1 接口描述
本接口用于在对讲组中申请话权。
对讲组中如果无人申请话权,那么自己获得话权;如果已经有人申请成功,那么自己获得不到话权。
4.6.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_get:进入频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
4.6.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.6.4 接口示例
请求:
{
"cmd": "channel_get", //获取话权
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"channel_id": "2" //频道id
}
}
响应:
{
"cmd": "rsp_msg", //交互响应消息
"req_cmd":"channel_get", //获取话权
"res_code": "0", //响应状态码,0表示成功,其他表示失败
"res_msg": "请求成功",
"msgid": "xxxxxxxxxx" //请求时携带的消息id,用于消息确认,异步转同步
}
4.7 释放话权
4.7.1 接口描述
本接口用于在对讲组中释放话权。
4.7.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_release:进入频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
4.7.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.7.4 接口示例
请求:
{
"cmd": "channel_release", //释放话权
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"channel_id": "2" //频道id
}
}
响应:
{
"cmd": "rsp_msg", //交互响应消息
"req_cmd":"channel_release", //释放话权
"res_code": "0", //响应状态码,0表示成功,其他表示失败
"res_msg": "成功",
"msgid": "xxxxxxxxxx" //请求时携带的消息id,用于消息确认,异步转同步
}
4.8 频道新增成员
4.8.1 接口描述
本接口用于向对讲组中添加成员。
4.8.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_add_user:进入频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
id | String | 是 | 用户id数组 |
4.8.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.8.4 接口示例
请求:
{
"cmd": "channel_add_user", //新增频道成员
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"channel_id": "2", //频道id
"id": "306aa4b1073c45fc9d8b57b958c50cd3,7cf0aac072294681acc2bfa782345731" //频道成员,多个成员用逗号分隔 user_id
}
}
响应:
{
"cmd": "rsp_msg", //交互响应消息
"req_cmd":"channel_add_user", //新增频道成员
"res_code": "0", //响应状态码,0表示成功,其他表示失败
"res_msg": "成功",
"msgid": "xxxxxxxxxx" //请求时携带的消息id,用于消息确认,异步转同步
}
4.9 频道删除成员
4.9.1 接口描述
本接口用于从对讲组中删除成员。
4.9.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_del_user:进入频道】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
channel_id | String | 是 | 频道id |
id | String | 是 | 用户id数组 |
4.9.3 响应参数
英文名 | 中文名 | 是否必须 | 备注 |
cmd | 响应命令 | 是 | rsp_msg |
data | json 数据 | 是 | |
msgid | 消息ID | 是 | 与请求消息中的id相同 |
res_code | 响应码 | 是 |
4.9.4 接口示例
请求:
{
"cmd": "channel_del_user", //新增频道成员
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"channel_id": "2", //频道id
"id": "306aa4b1073c45fc9d8b57b958c50cd3,7cf0aac072294681acc2bfa782345731" //频道成员,多个成员用逗号分隔 user_id
}
}
响应:
{
"cmd": "rsp_msg", //交互响应消息
"req_cmd":"channel_add_user", //新增频道成员
"res_code": "0", //响应状态码,0表示成功,其他表示失败
"res_msg": "成功",
"msgid": "xxxxxxxxxx" //请求时携带的消息id,用于消息确认,异步转同步
}
5 IM聊天接口(websocket/http)
5.1 调度台IM初始化接口(http)
5.1.1 接口描述
本接口用于调度台登录后,初始化IM数据。
调度台没有本地IM数据时,需要调用本接口。
5.1.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_dispatch_init:IM初始化】 |
userid | String | 是 | 用户id |
5.1.3 响应参数
参数 | 类型 | 必选 | 描述 |
msg | String | 是 | |
code | String | 是 | 0表示正确 |
data | 消息数据 | ||
mine | 自己的IM数据 | ||
avatar | String | 是 | 头像url |
id | String | 是 | 用户id |
username | String | 是 | 用户姓名 |
status | String | 是 | 用户状态,online表示在线,offline表示离线 |
friend | 企业用户数据 | ||
id | String | 是 | 固定是1 |
groupname | String | 是 | 好友组名称,固定是“好友” |
list | 好友数据,格式同个人数据 | ||
group | IM群组数据 | ||
id | String | 是 | IM群组id |
groupname | String | 是 | 群组名称 |
avatar | String | 是 | 群组头像url |
5.1.4 接口示例
请求
http://RDS服务器地址:端口/dispatch/api?cmd=im_dispatch_init&userid=0fcfb745ae83452e9dbd350331310b07
响应
{
"msg": "",
"code": 0,
"data": {
"mine": {
"sign": "",
"id": "30c553a0082642cbbdad11f885d5bcd7",
"avatar": "https://192.168.1.220/media/medias/UserHeadImg_d2aa30f7a3f0434a836993e0540ca3b0.png",
"username": "bc8000",
"status": "online"
},
"friend": [{
"id": 1,
"list": [{
"sign": "",
"id": "02f793588c874cdeb3372b86e3498871",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default.png",
"username": "手机1",
"status": "offline"
}, {
"sign": "",
"id": "0d8d45bb3ba14de0b3d5f856ea2fc91d",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default.png",
"username": "手机2",
"status": "offline"
}],
"groupname": "好友"
}],
"group": [{
"id": "cfa4bb3c67d442a984f1f4f445e0582b",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"groupname": "bc测试"
}, {
"id": "20680bc42b044431af2455b34412b8fd",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"groupname": "bc测试3"
}]
}
}
5.2 调度台IM初始化接口(websocket)
5.2.1 接口描述
本接口用于调度用户(APP)登录后,初始化IM数据。
调度用户没有本地IM数据时,需要调用本接口。
5.2.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_dispatch_init:IM初始化】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
userid | String | 是 | 用户id |
5.2.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 消息数据 | ||
mine | 自己的IM数据 | ||
avatar | String | 是 | 头像url |
id | String | 是 | 用户id |
username | String | 是 | 用户姓名 |
status | String | 是 | 用户状态,online表示在线,offline表示离线 |
friend | 企业用户数据 | ||
id | String | 是 | 固定是1 |
groupname | String | 是 | 好友组名称,固定是“好友” |
list | 好友数据,格式同个人数据 | ||
group | IM群组数据 | ||
id | String | 是 | IM群组id |
groupname | String | 是 | 群组名称 |
avatar | String | 是 | 群组头像url |
5.2.4 接口示例
请求:
{
"cmd": "im_dispatch_init",
"msgid": "xxxxxxxxxx", //uuid,用于消息同步交互
"data": {
"userid":"0fcfb745ae83452e9dbd350331310b0",
}
}
响应:
{
"cmd": "rsp_msg",
"msgid": "xxxxxxxxxxxxxx",
"req_cmd": "im_dispatch_init",
"res_code": "0",
"res_msg": "成功"
"data": {
"mine": {
"sign": "",
"id": "30c553a0082642cbbdad11f885d5bcd7",
"avatar": "https://192.168.1.220/media/medias/UserHeadImg_d2aa30f7a3f0434a836993e0540ca3b0.png",
"username": "bc8000",
"status": "online"
},
"friend": [{
"id": 1,
"list": [{
"sign": "",
"id": "02f793588c874cdeb3372b86e3498871",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default.png",
"username": "手机1",
"status": "offline"
}, {
"sign": "",
"id": "0d8d45bb3ba14de0b3d5f856ea2fc91d",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default.png",
"username": "手机2",
"status": "offline"
}],
"groupname": "好友"
}],
"group": [{
"id": "cfa4bb3c67d442a984f1f4f445e0582b",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"groupname": "bc测试"
}, {
"id": "20680bc42b044431af2455b34412b8fd",
"avatar": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"groupname": "bc测试3"
}]
}
}
5.3 创建群聊(websocket)
5.3.1 接口描述
本接口用于创建群聊。
5.3.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_group_create:IM初始化】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
group_name | String | 是 | IM群组名称 |
users | 数组 | 是 | IM群组成员数组,数据为用户id |
5.3.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 创建IM群组消息中的data数据 |
5.3.4 接口示例
请求:
{
"cmd": "im_group_create",
"data": {
"group_name": "1234"
"users":[
"0d8d45bb3ba14de0b3d5f856ea2fc91d", "02f793588c874cdeb3372b86e3498871", "30c553a0082642cbbdad11f885d5bcd7"],
},
"msgid": "im_group_create1614664150605"
}
响应:
{
"cmd": "rsp_msg",
"data": {
"data": {
"group_name": "1234",
"group_id": "b44c3a3cd1034be4857e4fb7e2fbe8d6",
"users":[
"0d8d45bb3ba14de0b3d5f856ea2fc91d", "02f793588c874cdeb3372b86e3498871", "30c553a0082642cbbdad11f885d5bcd7"]
},
"msgid": "im_group_create1614664150605",
"cmd": "im_group_create"
},
"msgid": "im_group_create1614664150605",
"req_cmd": "im_group_create",
"res_code": "0"
}
5.4 删除群聊(websocket)
5.4.1 接口描述
本接口用于删除IM群组。
5.4.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_group_delete:删除IM群组】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
group_id | String | 是 | IM群组id |
5.4.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 删除群聊消息中的data数据 |
5.4.4 接口示例
请求:
{
"cmd": "im_group_delete",
"data": {
"group_id": "1614664150"
},
"msgid": "im_group_delete1614664150605"
}
响应:
{
"cmd": "rsp_msg",
"data": {
"cmd": "im_group_delete",
"data": {
"group_id": "1614664150"
},
"msgid": "im_group_delete1614664150605"
},
"msgid": "im_group_delete1614664150605",
"req_cmd": "im_group_delete",
"res_code": "0"
}
5.5 添加群成员(websocket)
5.5.1 接口描述
本接口用于给IM群组添加成员。
5.5.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_group_member_add:添加成员】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
group_id | String | 是 | IM群组id |
group_name | String | 是 | IM群组名称 |
users | 数组 | 是 | IM群组成员数组,数据为用户id |
5.5.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 添加群成员消息中的data数据 |
5.5.4 接口示例
请求:
{
"cmd": "im_group_member_add",
"data": {
"users": ["0d8d45bb3ba14de0b3d5f856ea2fc91d"],
"group_id": "cfa4bb3c67d442a984f1f4f445e0582b",
"group_name": "bc测试"
},
"msgid": "im_group_member_add1614666226261"
}
响应:
{
"cmd": "rsp_msg",
"data": {
"data": {
"group_id": "cfa4bb3c67d442a984f1f4f445e0582b",
"group_name": "bc测试",
"users": ["0d8d45bb3ba14de0b3d5f856ea2fc91d"]
},
"msgid": "im_group_member_add1614666226261",
"cmd": "im_group_member_add"
},
"msgid": "im_group_member_add1614666226261",
"req_cmd": "im_group_member_add",
"res_code": "0"
}
5.6 删除群成员(websocket)
5.6.1 接口描述
本接口用于删除IM群组中的成员。
5.6.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_group_member_del:删除成员】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
group_id | String | 是 | IM群组id |
group_name | String | 是 | IM群组名称 |
users | 数组 | 是 | IM群组成员数组,数据为用户id |
5.6.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 删除群成员消息中的data数据 |
5.6.4 接口示例
请求:
{
"cmd": "im_group_member_del",
"data": {
"users": ["0d8d45bb3ba14de0b3d5f856ea2fc91d"],
"group_id": "cfa4bb3c67d442a984f1f4f445e0582b",
"group_name": "bc测试"
},
"msgid": "im_group_member_del1614666226261"
}
响应:
{
"cmd": "rsp_msg",
"data": {
"data": {
"group_id": "cfa4bb3c67d442a984f1f4f445e0582b",
"group_name": "bc测试",
"users": ["0d8d45bb3ba14de0b3d5f856ea2fc91d"]
},
"msgid": "im_group_member_del1614666226261",
"cmd": "im_group_member_del"
},
"msgid": "im_group_member_del1614666226261",
"req_cmd": "im_group_member_del",
"res_code": "0"
}
5.7 收发消息(websocket)
5.7.1 接口描述
发送者发送本消息。接收用户或群组成员接受到本消息。
5.7.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_msg:收发消息】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
sender | String | 是 | 发送用户id |
sender_name | String | 是 | 发送用户姓名 |
sender_headimg | String | 是 | 发送用户头像url |
receiver | String | 是 | 接收用户/群组id |
receiver_name | String | 是 | 接收用户/群组姓名 |
content | String | 是 | 发送的内容,文本用utf8,图片、音频、视频、文件用url |
content_type | Integer | 是 | 0 文本; 1 图片; 2 音频; 3 视频;4 文件; |
is_group | Integer | 是 | 0 单聊 ; 1 群聊 |
5.7.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 收发消息中的data数据 | ||
createtime | String | 是 | 服务器收到消息时的时间戳,单位是秒 |
createtime_str | String | 是 | 时间戳转换成时间格式 |
receiver_headimg | String | 是 | 接收用户/群组头像url |
messageId | Integer | 是 | 服务器保存的IM消息id |
5.7.4 接口示例
请求:
{
"cmd": "im_msg",
"data": {
"content": "text test",
"sender": "30c553a0082642cbbdad11f885d5bcd7",
"sender_name": "bc8000",
"receiver": "cfa4bb3c67d442a984f1f4f445e0582b",
"receiver_name": "bc测试",
"content_type": 0,
"sender_headimg": "https://192.168.1.220/media/medias/UserHeadImg_d2aa30f7a3f0434a836993e0540ca3b0.png",
"is_group": 1
},
"msgid": "im_msg1614667690127"
}
响应:
{
"cmd": "rsp_msg",
"data": {
"data": {
"sender_headimg": "https://192.168.1.220/media/medias/UserHeadImg_d2aa30f7a3f0434a836993e0540ca3b0.png",
"createtime": 1614667690044,
"receiver": "cfa4bb3c67d442a984f1f4f445e0582b",
"content_type": 0,
"sender": "30c553a0082642cbbdad11f885d5bcd7",
"receiver_name": "bc测试",
"sender_name": "bc8000",
"content": "text test",
"createtime_str": "2021-03-02 14:48:10",
"receiver_headimg": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"is_group": 1
"messageId": 88
},
"msgid": "im_msg1614667690127",
"cmd": "im_msg",
},
"msgid": "im_msg1614667690127",
"req_cmd": "im_msg",
"res_code": "0",
"res_msg": "请求成功"
}
5.8 查询最新消息(websocket)
5.8.1 接口描述
实现最新消息列表时,可使用本接口。
使用本接口查询所有联系人发给自己的最新消息。
每个联系人只返回一个消息。
联系人可以是个人,也可以是群组。
5.8.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_newest_contacts:查询最新消息】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
receiverId | String | 是 | 接收用户/群组id,查询群组最新消息,填写群组id;其他时候填写自己的id |
isGroup | Integer | 是 | 0 单聊 ; 1 群聊 |
latestTime | Timestamp | 否 | 查询此时间(不含)之前的记录,不传代表当前时间 |
number | Integer | 否 | 查询记录数,即联系人的数量。默认 100,最小 1,最大 |
5.8.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 查询到的IM消息,如果有,以数组形式返回 | ||
messageId | String | 是 | IM消息id |
senderId | String | 是 | 发送用户/群组id |
senderName | String | 是 | 发送用户/群组名称 |
senderHeadImg | String | 是 | 发送用户/群组头像url |
receiverId | String | 是 | 接收用户/群组id |
receiverName | String | 是 | 接收用户/群组名称 |
time | Timestamp | 是 | 发送时间 |
content | String | 是 | 发送的内容,文本用utf8,图片、音频、视频、文件用url |
contentType | Integer | 是 | 0 文本; 1 图片; 2 音频; 3 视频;4 文件; |
duration | Integer | 否 | 音视频文件的时长,单位是秒 |
5.8.4 接口示例
请求:
{
"cmd": "im_newest_contacts",
"data": {
"receiverId": "30c553a0082642cbbdad11f885d5bcd7",
"isGroup": 0,
"latestTime": ""
},
"msgid": "im_newest_contacts1614667690127"
}
响应:
{
"cmd": "rsp_msg",
"data": [
{
"sender_headimg": "https://192.168.1.220/media/medias/UserHeadImg_d2aa30f7a3f0434a836993e0540ca3b0.png",
"createtime": 1614667690044,
"receiver": "cfa4bb3c67d442a984f1f4f445e0582b",
"content_type": 0,
"sender": "30c553a0082642cbbdad11f885d5bcd7",
"receiver_name": "bc测试",
"sender_name": "bc8000",
"content": "text test",
"createtime_str": "2021-03-02 14:48:10",
"receiver_headimg": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"is_group": 1
"messageId": 88
},
],
"msgid": "im_msg1614667690127",
"req_cmd": "im_msg",
"res_code": "0",
"res_msg": "请求成功"
}
5.9 查询历史消息(websocket)
5.9.1 接口描述
在单聊或群聊界面,需要查询历史消息,可使用本接口。
5.9.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_message_get:查询最新消息】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
senderId | String | 否 | 发送方id。查询群聊记录时不需要此参数 |
receiverId | String | 是 | 接收用户/群组id |
isGroup | Integer | 是 | 0 单聊 ; 1 群聊 |
latestTime | Timestamp | 是 | 查询此时间(不含)之前的记录 |
number | Integer | 否 | 查询记录数,最大不能超过50。如果为空默认使用20 |
5.9.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 查询到的IM消息,如果有,以数组形式返回 | ||
messageId | String | 是 | IM消息id |
senderId | String | 是 | 发送用户/群组id |
senderName | String | 是 | 发送用户/群组名称 |
senderHeadImg | String | 是 | 发送用户/群组头像url |
receiverId | String | 是 | 接收用户/群组id |
receiverName | String | 是 | 接收用户/群组名称 |
time | Timestamp | 是 | 发送时间 |
content | String | 是 | 发送的内容,文本用utf8,图片、音频、视频、文件用url |
contentType | Integer | 是 | 0 文本; 1 图片; 2 音频; 3 视频;4 文件; |
duration | Integer | 否 | 音视频文件的时长,单位是秒 |
5.9.4 接口示例
请求:
{
"cmd": "im_message_get",
"data": {
"senderId": "cfa4bb3c67d442a984f1f4f445e0582b",
"receiverId": "30c553a0082642cbbdad11f885d5bcd7",
"isGroup": 0,
"latestTime": 1614680349333,
"number": 30
},
"msgid": "im_message_get1614667690127"
}
响应:
{
"cmd": "rsp_msg",
"data": [
{
"sender_headimg": "https://192.168.1.220/media/medias/UserHeadImg_d2aa30f7a3f0434a836993e0540ca3b0.png",
"createtime": 1614667690044,
"receiver": "cfa4bb3c67d442a984f1f4f445e0582b",
"content_type": 0,
"sender": "30c553a0082642cbbdad11f885d5bcd7",
"receiver_name": "bc测试",
"sender_name": "bc8000",
"content": "text test",
"createtime_str": "2021-03-02 14:48:10",
"receiver_headimg": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"is_group": 1
"messageId": 88
},
],
"msgid": "im_message_get1614667690127",
"req_cmd": "im_message_get",
"res_code": "0",
"res_msg": "请求成功"
}
5.10 获取历史消息(websocket)
5.10.1 接口描述
获取当前websocket连接用户作为发送者或者接收者的消息
5.10.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【im_msg_history:查询历史消息】 |
msgid | String | 是 | 消息id |
data | 消息数据 | ||
target | String | 是 | 发送者id或者接收者id |
page_start | Integer | 是 | 开始页号,如果为空,则默认为1 |
page_size | Integer | 是 | 每页记录数,如果为空,则默认为15 |
5.10.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | rsp_msg |
msgid | String | 是 | 与请求消息中的msgid相同 |
req_cmd | String | 是 | 与请求消息中的cmd相同 |
res_code | String | 是 | |
res_msg | String | 否 | |
data | 查询到的IM消息,如果有,以JSON形式返回 | ||
page_start | Integer | 是 | 请求消息的page_start |
total_size | Integer | 是 | 总记录数 |
page_size | Integer | 是 | 请求消息的page_size |
total_page | Integer | 是 | 总页数 |
infos | 作为data的属性,如果有,以数组形式返回 | ||
id | String | 是 | 主键 |
sender | String | 是 | 发送者id |
receiver | String | 是 | 接收者id |
content | String | 是 | Im消息的内容 |
createtime | Integer | 是 | Im消息创建时间时间戳 |
content_type | Integer | 是 | 0文本1图片2音频3视频4其他 |
is_group | Integer | 是 | 0 单聊消息1群聊消息 |
sender_name | String | 是 | 发送人姓名 |
receiver_name | String | 是 | 接收人姓名 |
createtime_str | String | 是 | 创建时间字符串格式 yyyy-MM-dd HH:mm:ss |
duration | Integer | 是 | 音视频文件的时长,单位是秒 |
content_status | Integer | 是 | 音、视频文件的状态 1:存在 2:自动删除 |
sender_headimg | String | 是 | 发送者头像 |
receiver_headimg | String | 是 | 接收者头像 |
5.10.4 接口实例
请求:
{
"cmd": "im_msg_history",
"data": {
"target": "cfa4bb3c67d442a984f1f4f445e0582b",
"page_start": 1,
"page_size": 10
},
"msgid": "im_message_get1614667690127"
}
响应:
{
"cmd": "rsp_msg",
"data": {"infos":[
{
"sender_headimg": "https://192.168.1.220/media/medias/UserHeadImg_d2aa30f7a3f0434a836993e0540ca3b0.png",
"createtime": 1614667690044,
"receiver": "cfa4bb3c67d442a984f1f4f445e0582b",
"content_type": 0,
"sender": "30c553a0082642cbbdad11f885d5bcd7",
"receiver_name": "bc测试",
"sender_name": "bc8000",
"content": "text test",
"createtime_str": "2021-03-02 14:48:10",
"receiver_headimg": "https://192.168.1.220/media/medias/ChannelHeadImg_default_group.png",
"is_group": 1,
"duration": 1,
"content_status": 1,
"id": 503
},
],
"page_start":1,
"total_size":15,
"page_size": 10,
"total_page": 10
}
"msgid": "im_message_get1614667690127",
"req_cmd": "im_message_get",
"res_code": "0",
"res_msg": "请求成功"
}
6 通话记录(http)
6.1 查询单呼通话记录
6.1.1 接口描述
本接口用于查询通话记录。
6.1.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【call_internal:查询单呼通话记录】 |
userid | String | 是 | 用户id,该数据必须设置为login返回的userinof中的id |
phorex | String | 是 | 用户号码,该数据必须设置为login返回的userinof中的phorex |
seeall | String | 是 | 查看范围,该数据必须设置为login返回的userinof中的seeall。该值是配置管理中的用户属性“查看全部”。该值为1表示能查看本系统全部用户和通话记录,该值为0,表示只能查看本部门及子部门的用户和通话记录 |
all | String | 是 | 查看本机还是seeall控制的范围,0 查看本机参与的通话,1 查看seeall范围的通话 |
caller | String | 否 | 主叫号码 |
callerName | String | 否 | 主叫名称 |
callee | String | 否 | 被叫号码 |
calleeName | String | 否 | 被叫名称 |
callType | String | 否 | 呼叫类型:audio 音频呼叫,video 视频呼叫 |
callAnswerTime | Integer | 否 | 呼叫应答,-1 已接通,0 未接通 |
starttime | String | 否 | 搜索起始时间,时间戳,单位秒 |
endtime | String | 否 | 搜索结束时间,时间戳,单位秒 |
page | String | 否 | 通话记录页码,第1次查询,后台返回通话记录总页数,后续查询非第1页,需要填写本字段 |
6.1.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0表示正常 |
error_msg | String | 是 | 错误信息 |
data | 消息数据 | ||
page | String | 是 | 通话记录页码 |
pagesize | String | 是 | 本页中通话记录条数 |
total | String | 是 | 通话记录总数量 |
results | 通话记录数组 | ||
id | String | 是 | 通话记录id |
callerName | String | 是 | 主叫名称 |
callerNumber | String | 是 | 主叫号码 |
callerSessionUuid | String | 是 | 主叫呼叫id |
calleeName | String | 是 | 被叫名称 |
calleeNumber | String | 是 | 被叫号码 |
calleeSessionUuid | String | 是 | 被叫呼叫id |
callType | String | 是 | 呼叫类型:audio 音频呼叫,video 视频呼叫 |
callState | String | 是 | 呼叫状态:SUCCESS 呼叫成功,ORIGINATOR_CANCEL 主叫挂断,NO_USER_RESPONSE 无人接听,NO_ANSWER 无人接听,USER_NOT_REGISTERED 用户未注册,UNKNOWN 未知原因 |
callCreateTime | String | 是 | 呼叫发起时间,时间戳,单位秒 |
callAnswerTime | String | 是 | 呼叫应答时间,时间戳,单位秒 |
callHangupTime | String | 是 | 呼叫挂断时间,时间戳,单位秒 |
talkTime | String | 是 | 呼叫接通时长,单位秒 |
recordUrl | String | 是 | 通话记录url,未接通呼叫的url为空 |
6.1.4 接口示例
请求
http://RDS服务器地址:端口/cti/cpi?cmd=call_internal&all=1&seeall=1&userId=0fcfb745ae83452e9dbd350331310b07&page=31
响应
{
"data": {
"total": 302,
"pagesize": 10,
"page": 31,
"results": [{
"callAnswerTime": 1614221456,
"callCreateTime": 1614221455,
"callHangupTime": 1614221516,
"callState": "SUCCESS",
"callType": "audio",
"calleeName": "陈宇阳",
"calleeNumber": "8033",
"calleeSessionUuid": "f2bfdf61-e511-4013-8655-2afb6f95bb04",
"callerName": "9998",
"callerNumber": "9998",
"callerSessionUuid": "6a87650f-39af-4d03-bbf5-c26344cb1934",
"id": "706df8228b5bf473877f2d0e4351638d",
"recordUrl": "/audio/internal/2021/02/25/f2bfdf61-e511-4013-8655-2afb6f95bb04.mp3",
"talkTime": 60
}, {
"callAnswerTime": 1614221384,
"callCreateTime": 1614221381,
"callHangupTime": 1614221448,
"callState": "SUCCESS",
"callType": "audio",
"calleeName": "陈宇阳",
"calleeNumber": "8033",
"calleeSessionUuid": "d69f95a6-f024-4df6-99c2-c3bd46ef98d1",
"callerName": "9998",
"callerNumber": "9998",
"callerSessionUuid": "61151dad-6d63-4b4c-a8f7-00ae285a5ca8",
"id": "5820849636856a43ecf2d4f0ad717965",
"recordUrl": "/audio/internal/2021/02/25/d69f95a6-f024-4df6-99c2-c3bd46ef98d1.mp3",
"talkTime": 64
}]
},
"error_code": 0,
"error_msg": "操作成功"
}
6.2 查询会议类通话记录
6.2.1 接口描述
本接口用于查询音视频会议、对讲组、广播的通话记录。
6.2.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【call_meet:查询会议类通话记录】 |
userid | String | 是 | 用户id,该数据必须设置为login返回的userinof中的id |
seeall | String | 是 | 查看范围,该数据必须设置为login返回的userinof中的seeall。该值是配置管理中的用户属性“查看全部”。该值为1表示能查看本系统全部用户和通话记录,该值为0,表示只能查看本部门及子部门的用户和通话记录 |
type | String | 是 | 会议类型:0 会议室,1 广播组,2 对讲组 |
video | Boolean | 否 | 是否视频呼叫:true 是,false 否,用于区分音频会议还是视频会议 |
meetnum | String | 否 | 会议室/对讲组/广播组号码 |
meetname | String | 否 | 会议室/对讲组/广播组名称 |
starttime | String | 否 | 搜索起始时间,时间戳,单位秒 |
endtime | String | 否 | 搜索结束时间,时间戳,单位秒 |
page | String | 否 | 通话记录页码,第1次查询,后台返回通话记录总页数,后续查询非第1页,需要填写本字段 |
6.2.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0表示正常 |
error_msg | String | 是 | 错误信息 |
data | 消息数据 | ||
page | String | 是 | 通话记录页码 |
pagesize | String | 是 | 本页中通话记录条数 |
total | String | 是 | 通话记录总数量 |
results | 通话记录数组 | ||
id | String | 是 | 通话记录id |
meetname | String | 是 | 会议室/对讲组/广播组名称 |
meetnumber | String | 是 | 会议室/对讲组/广播组号码 |
uuid | String | 是 | 会议室/对讲组/广播组呼叫id |
type | String | 是 | 会议类型:0 会议室,1 广播组,2 对讲组 |
video | Boolean | 否 | 是否视频呼叫:true 是,false 否 |
url | String | 是 | 通话记录url,未接通呼叫的url为空 |
starttime | String | 是 | 呼叫发起时间,时间戳,单位秒 |
endtime | String | 是 | 呼叫挂断时间,时间戳,单位秒 |
members | 参与本次会议呼叫的成员数组 | ||
id | String | 是 | 会议成员记录id |
name | String | 是 | 成员名称 |
phorex | String | 是 | 成员号码 |
recordId | String | 是 | 本次会议类通话记录中的uuid |
userId | String | 是 | 成员的用户id,跟userinfo消息中用户的id相同 |
6.2.4 接口示例
请求
http://RDS服务器地址:端口/cti/cpi?cmd=call_meet&type=0&video=false&seeall=1&userId=0fcfb745ae83452e9dbd350331310b07&page=31
响应
{
"data": {
"total": 1,
"pagesize": 10,
"page": 1,
"results": [{
"id": "4f1418f1-cbc7-467e-9a5f-bf8d28989017",
"meetname": "临时会议",
"meetnum": "20092",
"starttime": 1614308795,
"endtime": 1614308801,
"type": "0",
"video": "false"
"url": "/audio/conference/audio/2021/02/26/4f1418f1-cbc7-467e-9a5f-bf8d28989017.mp3",
"uuid": "4f1418f1-cbc7-467e-9a5f-bf8d28989017",
"members": [{
"id": "4831ce45-a9c9-4251-9504-453f96878647",
"name": "陈宇阳",
"phorex": "8033",
"recordId": "4f1418f1-cbc7-467e-9a5f-bf8d28989017",
"userId": "a5ad4d5a191a41a3a1b58a332ac06010"
}, {
"id": "95088464-c0cc-47e1-88c8-c72ae3ee2d2b",
"name": "891",
"phorex": "891",
"recordId": "4f1418f1-cbc7-467e-9a5f-bf8d28989017",
"userId": "4ee7ac5bc3144cd6990a9c6a098cb7a3"
}],
}]
},
"error_code": 0,
"error_msg": "操作成功"
}
6.3 查询SOS单呼通话记录
6.3.1 接口描述
本接口用于查询SOS通话记录。
6.3.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【call_internal:查询单呼通话记录】 |
userid | String | 否 | 用户id,该数据必须设置为login返回的userinof中的id |
phorex | String | 否 | 用户号码,该数据必须设置为login返回的userinof中的phorex |
seeall | String | 是 | 查看范围,该数据必须设置为login返回的userinof中的seeall。该值是配置管理中的用户属性“查看全部”。该值为1表示能查看本系统全部用户和通话记录,该值为0,表示只能查看本部门及子部门的用户和通话记录 |
all | String | 是 | 查看本机还是seeall控制的范围,0 查看本机参与的通话,1 查看seeall范围的通话 |
caller | String | 否 | 主叫号码 |
callerName | String | 否 | 主叫名称 |
callee | String | 否 | 被叫号码 |
calleeName | String | 否 | 被叫名称 |
callType | String | 否 | 呼叫类型:audio 音频呼叫,video 视频呼叫 |
callAnswerTime | Integer | 否 | 呼叫应答,-1 已接通,0 未接通 |
starttime | String | 否 | 搜索起始时间,时间戳,单位秒 |
endtime | String | 否 | 搜索结束时间,时间戳,单位秒 |
page | String | 否 | 通话记录页码,第1次查询,后台返回通话记录总页数,后续查询非第1页,需要填写本字段 |
rdsExtendType | String | 是 | sos:sos类型通话记录 |
6.3.3 响应参数
参数 | 类型 | 必选 | 描述 |
error_code | String | 是 | 错误码,0表示正常 |
error_msg | String | 是 | 错误信息 |
data | 消息数据 | ||
page | String | 是 | 通话记录页码 |
pagesize | String | 是 | 本页中通话记录条数 |
total | String | 是 | 通话记录总数量 |
results | 通话记录数组 | ||
id | String | 是 | 通话记录id |
callerName | String | 是 | 主叫名称 |
callerNumber | String | 是 | 主叫号码 |
callerSessionUuid | String | 是 | 主叫呼叫id |
calleeName | String | 是 | 被叫名称 |
calleeNumber | String | 是 | 被叫号码 |
calleeSessionUuid | String | 是 | 被叫呼叫id |
callType | String | 是 | 呼叫类型:audio 音频呼叫,video 视频呼叫 |
callState | String | 是 | 呼叫状态:SUCCESS 呼叫成功,ORIGINATOR_CANCEL 主叫挂断,NO_USER_RESPONSE 无人接听,NO_ANSWER 无人接听,USER_NOT_REGISTERED 用户未注册,UNKNOWN 未知原因 |
callCreateTime | String | 是 | 呼叫发起时间,时间戳,单位秒 |
callAnswerTime | String | 是 | 呼叫应答时间,时间戳,单位秒 |
callHangupTime | String | 是 | 呼叫挂断时间,时间戳,单位秒 |
talkTime | String | 是 | 呼叫接通时长,单位秒 |
recordUrl | String | 是 | 通话记录url,未接通呼叫的url为空 |
6.3.4 接口示例
请求
http://RDS服务器地址:端口/cti/cpi?cmd=call_internal&all=1&seeall=1&userId=0fcfb745ae83452e9dbd350331310b07&page=31&rdsExtendType=sos
响应
{
"data": {
"total": 302,
"pagesize": 10,
"page": 31,
"results": [{
"callAnswerTime": 1614221456,
"callCreateTime": 1614221455,
"callHangupTime": 1614221516,
"callState": "SUCCESS",
"callType": "audio",
"calleeName": "陈宇阳",
"calleeNumber": "8033",
"calleeSessionUuid": "f2bfdf61-e511-4013-8655-2afb6f95bb04",
"callerName": "9998",
"callerNumber": "9998",
"callerSessionUuid": "6a87650f-39af-4d03-bbf5-c26344cb1934",
"id": "706df8228b5bf473877f2d0e4351638d",
"recordUrl": "/audio/internal/2021/02/25/f2bfdf61-e511-4013-8655-2afb6f95bb04.mp3",
"talkTime": 60
}, {
"callAnswerTime": 1614221384,
"callCreateTime": 1614221381,
"callHangupTime": 1614221448,
"callState": "SUCCESS",
"callType": "audio",
"calleeName": "陈宇阳",
"calleeNumber": "8033",
"calleeSessionUuid": "d69f95a6-f024-4df6-99c2-c3bd46ef98d1",
"callerName": "9998",
"callerNumber": "9998",
"callerSessionUuid": "61151dad-6d63-4b4c-a8f7-00ae285a5ca8",
"id": "5820849636856a43ecf2d4f0ad717965",
"recordUrl": "/audio/internal/2021/02/25/d69f95a6-f024-4df6-99c2-c3bd46ef98d1.mp3",
"talkTime": 64
}]
},
"error_code": 0,
"error_msg": "操作成功"
}
6.4 统计语音通话、视频通话、IM消息使用频率
6.4.1 接口描述
一段时间内的语音、视频、消息和SOS的次数,人数(包括主被叫)
6.4.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
starttime | 开始时间 | String | 否 | 搜索起始时间,时间戳,单位秒,如果为空,则查询小于结束时间的所有记录 |
endtime | 结束时间 | String | 否 | 搜索结束时间,时间戳,单位秒,如果为空,则查询大于开始时间的所有记录 |
6.4.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
error_code | 响应码 | String | 是 | 0:请求成功,其他失败 |
error_msg | 响应消息 | String | 是 | |
data | 响应结果 | JSON | 是 | |
im_use_count | IM使用次数 | String | 是 | |
im_use_user_count | IM使用人数 | String | 是 | |
audio_use_count | 语音通话使用次数 | String | 是 | |
audio_use_user_count | 语音通话使用人数 | String | 是 | |
video_use_count | 视频通话使用次数 | String | 是 | |
video_use_user_count | 视频通话使用人数 | String | 是 | |
sos_use_count | SOS通话次数 | String | 是 | |
sos_use_user_count | sos通话人数 | String | 是 |
6.4.4 接口示例
请求:
http://RDS服务器地址:端口/dispatch/statistic/getAudioVideoImUseFrequence?starttime=20210704004715&endtime=20210704224715
响应:
{
"data": {
"im_use_count": 10,
"im_use_user_count": 5,
"audio_use_count": 10,
"audio_use_user_count": 5,
"video_use_count": 10,
"video_use_user_count": 5,
"sos_use_user_count": 10
},
"error_code": "0",
"error_msg": "请求成功"
}
7 监控调度(http)
7.1 获取监控目录
7.1.1 接口描述
本接口用于获取监控目录列表
7.1.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
parentDirectoryId | 父目录id | 否 | 精确匹配 |
7.1.3 响应参数
上级参数名 | 参数名 | 参数类型 | 是否必须 | 备注 |
code | Integer | 是 | 0: 请求失败;1: 请求成功;2: 系统错误 | |
msg | String | 否 | 请求结果说明 | |
data | JSONArray | 否 | 同级的目录和设备 | |
data | DeviceId | String | 是 | 设备或目录的ID,该ID是唯一的 |
data | topDeviceID | String | 是 | 国标平台的ID,该ID是唯一的 |
data | Address | String | 否 | |
data | IPAddress | String | 否 | |
data | Name | String | 是 | |
data | ParentID | String | 否 | |
data | Password | String | 否 | |
data | Port | String | 否 | |
data | Status | String | 否 | |
data | Latitude | String | 否 | |
data | Longitude | String | 否 | |
data | BusinessGroupID | String | 否 | |
data | type | Integer | 是 | 0:目录;1:设备 |
data | parentDirectoryId | String | 是 | 上级目录 |
7.1.4 接口示例
请求
https://192.168.100.200/dm/GBT28181/directory?parentDirectoryId=
响应
{
"code": 1,
"msg": "请求成功",
"data": [{
"type": 1,
"parentDirectoryId": null,
"model": "IP Camera",
"deviceID": "15010101001320000002",
"topDeviceID": "15010101001320000001",
"certNum": null,
"certifiable": null,
"civilCode": "3402000000",
"endTime": null,
"errCode": null,
"ipaddress": null,
"manufacturer": "Hikvision",
"parentID": null,
"parental": "0",
"registerWay": "1",
"safetyWay": "0",
"secrecy": "0",
"latitude": null,
"longitude": null,
"businessGroupID": null,
"owner": "Owner",
"port": null,
"address": "Address",
"status": "ON",
"password": null,
"name": "办公区1号摄像头"
}]
}
7.2 搜索监控目录和设备
7.2.1 接口描述
本接口用于搜索目录名和设备名,符合的结果都会返回
7.2.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
Name | 设备名称 | 否 | 模糊匹配 |
DeviceId | 设备ID | 否 | 模糊匹配 |
7.2.3 响应参数
上级参数名 | 参数名 | 参数类型 | 是否必须 | 备注 |
code | Integer | 是 | 0: 请求失败;1: 请求成功;2: 系统错误 | |
msg | String | 否 | 请求结果说明 | |
data | JSONArray | 否 | ||
data | DeviceId | String | 是 | 设备或目录的ID,该ID是唯一的 |
data | topDeviceID | String | 是 | 国标平台的ID,该ID是唯一的 |
data | Address | String | 否 | |
data | IPAddress | String | 否 | |
data | Name | String | 是 | |
data | ParentID | String | 否 | |
data | Password | String | 否 | |
data | Port | String | 否 | |
data | Status | String | 否 | |
data | Latitude | String | 否 | |
data | Longitude | String | 否 | |
data | BusinessGroupID | String | 否 | |
data | type | Integer | 是 | 0:目录;1:设备 |
data | parentDirectoryId | String | 是 | 上级目录 |
7.2.4 接口示例
请求
https://192.168.100.200/dm/GBT28181?Name=摄像头&DeviceId=摄像头
响应
{
"code": 1,
"msg": "请求成功",
"data": [{
"type": 1,
"parentDirectoryId": null,
"model": "IP Camera",
"deviceID": "15010101001320000002",
"topDeviceID": "15010101001320000001",
"certNum": null,
"certifiable": null,
"civilCode": "3402000000",
"endTime": null,
"errCode": null,
"ipaddress": null,
"manufacturer": "Hikvision",
"parentID": null,
"parental": "0",
"registerWay": "1",
"safetyWay": "0",
"secrecy": "0",
"latitude": null,
"longitude": null,
"businessGroupID": null,
"owner": "Owner",
"port": null,
"address": "Address",
"status": "ON",
"password": null,
"name": "办公区1号摄像头"
}]
}
7.3 请求VFS开启监控设备流
7.3.1 接口描述
本接口用于请求VFS开启监控设备流,成功后会获得该流的地址。
本接口为POST方法,数据提交方式为application/json
7.3.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
sessionId | 会话ID | 是 | 本次请求的会话ID |
serial | 设备唯一序列号 | 是 | TopDeviceID@DeviceID |
name | 设备名称 | 否 | |
isFS | 是否是由FS来拉流 | 否 | 如果是要拉监控进入会议(结合1.7.5使用,先调用1.7.3再调用1.7.5),需要填写此字段,并且值为"yes";否则不能携带此字段 |
7.3.3 响应参数
上级参数名 | 参数名 | 参数类型 | 是否必须 | 备注 |
code | Integer | 是 | 0: 请求成功 | |
sessionId | String | 是 | 同请求中的sessionId | |
streamId | String | 是 | 同请求中的serial | |
rtmp-path | String | 是 | Rtmp流的路径头,完整流地址是rtmp-path+streamId | |
webrtc-path | String | 是 | webrtc流的路径头,完整流地址是webrtc-path+streamId |
7.3.4 接口示例
请求
Request URL: https://192.168.100.200/api/stream/v1/start
Request Method: POST
Accept: application/json, text/plain, */*
Content-Type: application/json; charset=UTF-8
{"sessionId":"15891","serial":"36030000041180000001@34020000001340000001","name":"Huawei SDC"}
响应
{
"code":0,
"sessionId":"15891",
"streamId":"36030000041180000001@34020000001340000001",
"rtmp-path":"rtmp://192.168.100.209:1935/live/",
"webrtc-path":"webrtc://192.168.100.209/live/"
}
7.4 VFS监控设备分享
7.4.1 接口描述
本接口用于请求VFS返回监控设备的查看页面。
本接口为POST方法,数据提交方式为application/json
7.4.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
sessionId | 会话ID | 是 | 本次请求的会话ID |
streamId | 设备唯一序列号 | 是 | TopDeviceID@DeviceID |
7.4.3 响应参数
上级参数名 | 参数名 | 参数类型 | 是否必须 | 备注 |
code | Integer | 是 | 0: 请求成功 | |
sessionId | String | 是 | 同请求中的sessionId | |
streamId | String | 是 | 同请求中的streamId | |
html-path | String | 是 | html页面的路径头,完整地址是html-path+streamId |
7.4.4 接口示例
请求
Request URL: https://192.168.100.200/api/stream/v1/share
Request Method: POST
Accept: application/json, text/plain, */*
Content-Type: application/json; charset=UTF-8
{"sessionId":"15891","serial":"36030000041180000001@34020000001340000001"}
响应
{
"code":0,
"sessionId":"15891",
"streamId":"36030000041180000001@34020000001340000001",
"html-path":"http://192.168.100.209:8080/share.html?"
}
7.5 拉取VFS监控设备流入会
7.5.1 接口描述
本接口用于将监控设备视频流拉进会议室。
本接口为POST方法
7.5.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
streamURL | 视频流地址 | 是 | 必须使用rtmp流地址 |
meetNumber | 会议室号码 | 是 | 精确匹配 |
7.5.3 响应参数
上级参数名 | 参数名 | 参数类型 | 是否必须 | 备注 |
code | Integer | 是 | 0: 请求失败;1: 请求成功;2: 系统错误 | |
msg | String | 否 | 请求结果说明 |
7.5.4 接口示例
请求
Request URL: https://192.168.100.200/dm/GBT28181/pullStream
Request Method: POST
Accept: application/json, text/plain, */*
Content-Type: application/x-www-form-urlencoded
streamURL=rtmp://192.168.100.209:1935/live/15010101001320000001@15010101001320000002&meetNumber=10003
响应
{
"code":1,
"msg":"请求成功",
"data":null
}
7.6 挂断全部已入会监控视频流
7.6.1 接口描述
本接口用于挂断已经入会的全部监控视频流。
本接口为POST方法
7.6.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
meetNumber | 会议室号码 | 是 | 精确匹配 |
streamURL | 视频流地址 | 是 | 值必须设置为all |
7.6.3 响应参数
上级参数名 | 参数名 | 参数类型 | 是否必须 | 备注 |
code | Integer | 是 | 0: 请求失败;1: 请求成功;2: 系统错误 | |
msg | String | 否 | 请求结果说明 |
7.6.4 接口示例
请求
Request URL: https://192.168.100.200/cti/esl/conference/stopStream
Request Method: POST
Accept: application/json, text/plain, */*
Content-Type: application/x-www-form-urlencoded
meetNumber=10003&streamURL=all
响应
{
"code":1,
"msg":"请求成功",
"data":null
}
7.7 视频会议流分享
7.7.1 接口描述
本接口用于请求VFS返回视频会议的查看页面
7.7.2 请求参数
英文名 | 中文名 | 是否必须 | 备注 |
meetNumber | 会议室号码 | 是 | 精确匹配 |
7.7.3 响应参数
上级参数名 | 参数名 | 参数类型 | 是否必须 | 备注 |
code | Integer | 是 | 0: 请求失败;1: 请求成功;2: 系统错误 | |
msg | String | 否 | 请求结果说明 | |
data | String | 否 | 视频查看地址 |
7.7.4 接口示例
请求
https://192.168.100.200/dm/GBT28181/share?meetNumber=10003
响应
{
"code":1,
"msg":"请求成功",
"data":"http://192.168.100.209:8080/share.html?livestream-40007681x1611125532x630110"
}
8 通知接口(websocket)
8.1 用户GIS数据通知
8.1.1 接口描述
APP上报的位置信息,所有调度台和APP会收到本通知。
8.1.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【guiji:APP轨迹】 |
data | 用户数据 | ||
id | String | 是 | 用户id |
app_lng | String | 是 | 经度 |
app_lat | String | 是 | 纬度 |
8.1.3 接口示例
{ "cmd":"guiji", "data":[ { "id":"用户id", "name":"用户名称", "account":"", "phorex":"", "remarks":"", "scope":0,//0:其他, 1:调度台,2:调度用户 "type":0, "headimg":"头像地址", "createtime":"创建时间", "app_lng":0.000000000000,//经度 "app_lat":31.990363000000,//纬度 "app_battery":0.0,//电量 "app_speed":1.0,//速度 "app_direction":1.0,//方向 "camera_no":"", "camera_url":"" , "orgid":"部门id", "now_extension_status":0 // 0 在线 1不在线 } ] } |
8.2 话机是否在线状态通知
8.2.1 接口描述
调度台、调度用户(APP)、SIP用户、集群网关用户上下线时,后台给调度台和调度用户(APP)发送本消息。
上述用户在线时,后台会周期发送上线状态。
用户下线,或者后台发现用户超时后,会发送下线状态。
8.2.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【extension_status_notice:上下线通知】 |
data | 消息数据 | ||
id | String | 是 | 用户id |
now_extension_status | int | 是 | 0为上线,1为下线 |
8.2.3 接口示例
{
"cmd":"extension_status_notice",
"data":[
{
"id":"用户id",
"name":"用户名称",
"account":"",
"phorex":"",
"remarks":"",
"scope":0,//0:其他, 1:调度台,2:调度用户
"type":0,
"headimg":"头像地址",
"createtime":"创建时间",
"app_map_type":"地图类型 0:百度,1:高德,2:腾讯",
"app_lng":0.000000000000,//精度
"app_lat":31.990363000000,//维度
"app_battery":0.0,//电量
"app_speed":1.0,//速度
"app_direction":1.0,//方向
"camera_no":"",
"camera_url":"" ,
"orgid":"部门id",
"now_extension_status":0 // 0 在线 1不在线
}
]
}
8.3 话机通话状态通知
8.3.1 接口描述
调度台、调度用户(APP)、SIP用户、集群网关用户、外部用户参与呼叫时,后台给调度台和调度用户(APP)发送本消息。
每次用户状态变化,后台发送一次消息。
通话状态有3个,未通话、振铃、通话。
8.3.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【extension_state_notice:通话状态通知】 |
data | 消息数据 | ||
video | Boolean | 是 | true表示视频,false表示音频 |
targets | 被叫用户数据 | ||
id | String | 是 | 用户id |
now_extension_state | String | 是 | ringing表示响铃,oncall表示通话中,available表示未通话 |
users | 主叫用户数据 | ||
id | String | 是 | 用户id |
now_extension_state | String | 是 | ringing表示响铃,oncall表示通话中,available表示未通话 |
8.3.3 接口示例
{
"cmd": "extension_state_notice",
"data": {
"video": false,
"targets": [{
"account": "2015",
"app_battery": "62.0",
"app_direction": 0.0,
"app_lat": 40.04548941474707,
"app_lng": 116.30148229402442,
"app_map_type": "0",
"app_speed": 0.0,
"channel_online": false,
"comein": false,
"compere": false,
"createtime": "2020-05-15 14:03:19",
"deaf": false,
"dtype": 0,
"headimg": "https://192.168.100.200/media/medias/ChannelHeadImg_default.png",
"id": "da216cc1e8b3440ca3e3c2f7897fb5d6",
"kind": 6,
"lastactivetime": 1614652365,
"mute": false,
"name": "2015",
"now_extension_state": "available",
"now_extension_status": 0,
"now_online": 1,
"orgname": "吴迪测试二组",
"phorex": "2015",
"scope": 2,
"seeall": "1",
"video": false
}],
"users": [{
"account": "2002",
"app_battery": "",
"app_direction": 0.0,
"app_lat": 40.04532040,
"app_lng": 116.30150826,
"app_map_type": "0",
"app_speed": 1.16612,
"channel_online": false,
"comein": false,
"compere": false,
"createtime": "2020-05-15 14:02:47",
"deaf": false,
"dtype": 0,
"headimg": "https://192.168.100.200/media/medias/ChannelHeadImg_default.png",
"id": "fcb133b64d9e458b91be4d6186f84db2",
"kind": 0,
"lastactivetime": 1614652362,
"mute": false,
"name": "2002",
"now_extension_state": "available",
"now_extension_status": 0,
"now_online": 1,
"orgname": "吴迪测试1组",
"phorex": "2002",
"scope": 1,
"seeall": "1",
"video": false
}]
}
}
8.4 用户上线
8.4.1 接口描述
调度台和调度用户(APP)执行login命令后,后台给调度台和调度用户发送本消息。
8.4.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【login:用户上线】 |
data | 用户数据 | ||
id | String | 是 | 用户id |
8.4.3 接口示例
{ "cmd": "login", //用户上线 "data:": { "id":"用户id", "name":"用户名称", "account":"", "phorex":"", "remarks":"", "scope":0,//0:其他, 1:调度台,2:调度用户 "type":0, "headimg":"头像地址", "createtime":"创建时间", "app_map_type":"地图类型 0:百度,1:高德,2:腾讯", "app_lng":0.000000000000,//精度 "app_lat":31.990363000000,//维度 "app_battery":0.0,//电量 "app_speed":1.0,//速度 "app_direction":1.0,//方向 "camera_no":"", "camera_url":"" , "orgid":"部门id", "now_extension_status":0, // 0 在线 1不在线, "now_extension_state":"available", // ringing 响铃 oncall 通话中 available 未通话 "channel_online"://是否在对讲中,true:在,false:不在 } } |
8.5 用户下线
8.5.1 接口描述
调度台和调度用户(APP)执行logout命令后,后台给调度台和调度用户发送本消息。
如果调度台和调度用户异常离线,后台也会发出本消息。
8.5.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【logout:用户下线】 |
data | 用户数据 | ||
id | String | 是 | 用户id |
8.5.3 接口示例
{
"cmd": "logout", //用户下线
"data:": {
"id":"用户id",
"name":"用户名称",
"account":"",
"phorex":"",
"remarks":"",
"scope":0,//0:其他, 1:调度台,2:调度用户
"type":0,
"headimg":"头像地址",
"createtime":"创建时间",
"app_map_type":"地图类型 0:百度,1:高德,2:腾讯",
"app_lng":0.000000000000,//精度
"app_lat":31.990363000000,//维度
"app_battery":0.0,//电量
"app_speed":1.0,//速度
"app_direction":1.0,//方向
"camera_no":"",
"camera_url":"" ,
"orgid":"部门id",
"now_extension_status":0, // 0 在线 1不在线,
"now_extension_state":"available", // ringing 响铃 oncall 通话中 available 未通话
"channel_online"://是否在对讲中,true:在,false:不在
}
}
8.6 发起会议
8.6.1 接口描述
有人调用meeton发起会议,所有会议成员会收到本通知。
8.6.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meeton:会议发起】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
8.6.3 接口示例
{
"cmd":"meeton",
"data" : {
"meetnum":"20000",
“type”:0,
}
}
8.7 结束会议
8.7.1 接口描述
有人调用meetoff结束会议,会议成员会收到本通知。
8.7.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetoff:结束会议】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
8.7.3 接口示例
{ "cmd":"meetoff", "data" : { "meetnum":"20000", “type”:0, } } |
8.8 成员进入
8.8.1 接口描述
有人进入会议室,所有会议成员会收到本通知。
8.8.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetin:成员进入会议通话】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 | 进入的成员 |
8.8.3 接口示例
{ "cmd":"meetin", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.9 成员退出
8.9.1 接口描述
有人退出会议室,所有会议成员会收到本通知。
8.9.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetout:成员退出会议通话】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 | 退出的成员 |
8.9.3 接口示例
{ "cmd":"meetout", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.10 新增成员
8.10.1 接口描述
会议中有人调用meetadd添加成员,所有会议成员会收到本通知。
8.10.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetadd:新增成员】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.10.3 接口示例
{ "cmd":"meetadd", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.11 剔除成员
8.11.1 接口描述
会议中有人调用meetkick剔除成员,所有会议成员会收到本通知。
8.11.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetkick:剔除成员】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.11.3 接口示例
{ "cmd":"meetkick", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.12 成员禁言
8.12.1 接口描述
会议成员被禁言,所有会议成员会收到本通知。
8.12.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetmute: 成员禁言】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.12.3 接口示例
{ "cmd":"meetmute", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.13 取消禁言
8.13.1 接口描述
取消会议成员禁言,所有会议成员会收到本通知。
8.13.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetunmute:成员取消禁言】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.13.3 接口示例
{ "cmd":"meetunmute", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.14 成员置聋
8.14.1 接口描述
会议成员被置聋,所有会议成员会收到本通知。
8.14.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetdeaf: 成员置聋】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.14.3 接口示例
{ "cmd":"meetdeaf", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.15 取消置聋
8.15.1 接口描述
取消会议成员置聋,所有会议成员会收到本通知。
8.15.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meetundeaf:成员取消置聋】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.15.3 接口示例
{ "cmd":"meetundeaf", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.16 成员讲话
8.16.1 接口描述
会议成员讲话时,所有会议成员会收到本通知。
8.16.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meet_member_start_talk: 成员讲话】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.16.3 接口示例
{ "cmd":"meet_member_start_talk", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.17 取消讲话
8.17.1 接口描述
会议成员停止讲话,所有会议成员会收到本通知。
8.17.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meet_member_stop_talk:成员取消讲话】 |
data | 消息数据 | ||
meetnum | String | 是 | 会议号码 |
type | int | 是 | 会议类型,取值范围【0:会议,1:广播】 |
users | Array | 是 |
8.17.3 接口示例
{ "cmd":"meet_member_stop_talk", "data" : { "meetnum":"20000", "type":0, "users":[ {account: "811", app_battery: "",...}, {account: "812", app_battery: "",...} ] } } |
8.18 获取话权
8.18.1 接口描述
某个对讲组成员得到话权后,全体成员都会收到本消息。
8.18.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_get:获取到话权】 |
data | 消息数据 |
8.18.3 接口示例
{ "cmd": "channel_get", //获取到话权 "data:": { "channel_id": "1",//频道id "channel_name": "1",//频道名称 "channel_type": "1",//频道类型 ,取值范围【0:公共,1:私有】 "channel_creater": "xxx",//创建人 "channel_createtime": "xxx",//创建时间 "channel_updatetime": "xxx",//修改时间 "channel_holder": {//话权人 "id":"用户id", "name":"用户名称", "account":"", "phorex":"", "remarks":"", "scope":0,//0:其他, 1:调度台,2:调度用户 "headimg":"头像地址", "createtime":"创建时间", "app_lng":0.000000000000,//经度 "app_lat":31.990363000000,//纬度 "app_battery":0.0,//电量 "app_speed":1.0,//速度 "app_direction":1.0,//方向 "camera_no":"", "camera_url":"" , "orgid":"部门id", "now_extension_status":0, // 0 在线 1不在线, "now_extension_state":"available", // ringing 响铃 oncall 通话中 available 未通话 channel_online;//是否在对讲中,true:在,false:不在 } } } |
8.19 释放话权
8.19.1 接口描述
具有话权的对讲组成员释放话权后,全体成员都会收到本消息。
8.19.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_release:释放话权】 |
data | 消息数据 |
8.19.3 接口示例
{ "cmd": "channel_release", //获取到话权 "data:": { "channel_id": "1",//频道id "channel_name": "1",//频道名称 "channel_type": "1",//频道类型 ,取值范围【0:公共,1:私有】 "channel_creater": "xxx",//创建人 "channel_createtime": "xxx",//创建时间 "channel_updatetime": "xxx",//修改时间 "channel_holder": {//话权人 "id":"用户id", "name":"用户名称", "account":"", "phorex":"", "remarks":"", "scope":0,//0:其他, 1:调度台,2:调度用户 "headimg":"头像地址", "createtime":"创建时间", "app_lng":0.000000000000,//经度 "app_lat":31.990363000000,//纬度 "app_battery":0.0,//电量 "app_speed":1.0,//速度 "app_direction":1.0,//方向 "camera_no":"", "camera_url":"" , "orgid":"部门id", "now_extension_status":0, // 0 在线 1不在线, "now_extension_state":"available", // ringing 响铃 oncall 通话中 available 未通话 channel_online;//是否在对讲中,true:在,false:不在 } } } |
8.20 进入频道
8.20.1 接口描述
对讲组成员进入对讲组后,全体成员都会收到本消息。
8.20.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_in:进入频道】 |
data | 消息数据 | ||
channel | 是 | 对讲组信息 | |
users | 是 | 进入对讲组的成员的信息 |
8.20.3 接口示例
{ "cmd": "channel_in", //进入频道 "data:": { "channel": { "channel_id": "1",//频道id "channel_name": "1",//频道名称 "channel_type": "1",//频道类型 ,取值范围【0:公共,1:私有】 "channel_creater": "xxx",//创建人 "channel_createtime": "xxx",//创建时间 "channel_updatetime": "xxx",//修改时间 }, "user": {//进入用户 "id":"用户id", "name":"用户名称", "account":"", "phorex":"", "remarks":"", "scope":0,//0:其他, 1:调度台,2:调度用户 "type":0, "headimg":"头像地址", "createtime":"创建时间", "app_map_type":"地图类型 0:百度,1:高德,2:腾讯", "app_lng":0.000000000000,//精度 "app_lat":31.990363000000,//维度 "app_battery":0.0,//电量 "app_speed":1.0,//速度 "app_direction":1.0,//方向 "camera_no":"", "camera_url":"" , "orgid":"部门id", "now_extension_status":0, // 0 在线 1不在线, "now_extension_state":"available", // ringing 响铃 oncall 通话中 available 未通话 channel_online;//是否在对讲中,true:在,false:不在 } } } |
8.21 频道新增人员
8.21.1 接口描述
对讲组中邀请成员后,全体成员都会收到本消息。
8.21.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_add_user:频道新增人员】 |
data | 消息数据 |
8.21.3 接口示例
{ "cmd": "channel_add_user ", //新增频道成员 "data:": { "channel_id":"10000", "users": [{//新增用户 "id":"用户id", "name":"用户名称", "account":"", "phorex":"", "remarks":"", "scope":0,//0:其他, 1:调度台,2:调度用户 "type":0, "headimg":"头像地址", "createtime":"创建时间", "app_map_type":"地图类型 0:百度,1:高德,2:腾讯", "app_lng":0.000000000000,//精度 "app_lat":31.990363000000,//维度 "app_battery":0.0,//电量 "app_speed":1.0,//速度 "app_direction":1.0,//方向 "camera_no":"", "camera_url":"" , "orgid":"部门id", "now_extension_status":0, // 0 在线 1不在线, "now_extension_state":"available", // ringing 响铃 oncall 通话中 available 未通话 channel_online;//是否在对讲中,true:在,false:不在 }] } } |
8.22 频道删除用户
8.22.1 接口描述
对讲组中删除成员后,全体成员都会收到本消息。
8.22.2 参数描述
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【channel_del_user:频道新增人员】 |
data | 消息数据 |
8.22.3 接口示例
{ "cmd": "channel_del_user ", //删除频道成员 "data:": { "channel_id":"10000", "users": [{//用户 "id":"用户id", "name":"用户名称", "account":"", "phorex":"", "remarks":"", "scope":0,//0:其他, 1:调度台,2:调度用户 "type":0, "headimg":"头像地址", "createtime":"创建时间", "app_map_type":"地图类型 0:百度,1:高德,2:腾讯", "app_lng":0.000000000000,//精度 "app_lat":31.990363000000,//维度 "app_battery":0.0,//电量 "app_speed":1.0,//速度 "app_direction":1.0,//方向 "camera_no":"", "camera_url":"" , "orgid":"部门id", "now_extension_status":0, // 0 在线 1不在线, "now_extension_state":"available", // ringing 响铃 oncall 通话中 available 未通话 channel_online;//是否在对讲中,true:在,false:不在 }] } } |
9 用户管理
9.1 短号获取
9.1.1 接口描述
创建新用户
9.1.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
role | 角色 | String | 是 | pc : pc端账号 app : app端账号 |
name | 名称 | String | 是 |
9.1.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 200:请求成功,其他失败 |
msg | 响应消息 | String | 是 | |
data | 响应结果 | JSON | 是 | |
phorex | 分机号 | String | 是 | |
id | 新增用户Id | String | 是 | |
name | 用户名 | String | 是 | 与输入参数name相同 |
9.1.4 接口示例
请求地址:
请求参数:
Content-Type: application/x-www-form-urlencoded Method:post role=pc&name=某某某 |
响应:
{ "msg": "添加成功,初始密码为12aa34zz", "code": 200, "data": { "phorex": "1003", "id": "3a92b308ddfb4a3694a1bcfac0f9aa13", "name": "某某某" } } |
9.2 添加调度用户
9.2.1 接口描述
新建调度用户
9.2.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
id | 主键,添加的时候为空 | String | 是 | |
name | 名称 | String | 是 | |
account | 账号 | String | 是 | 账号唯一 |
phorex | 分机号 | String | 是 | 分机号唯一 |
orgid | 部门id | String | 是 | |
orgName | 部门名称 | String | 否 | |
scope | 角色 | Integer | 是 | 0:其他 1:调度台 2:调度用户 3:SIP用户 4:集群网关用户 5:外部用户 |
silentSignal | 静默信号 | String | 否 | 如下用户角色可选: 其他 集群网关用户 外部用户 |
audioSignal | 有声信号 | String | 否 | 如下用户角色可选: 其他 集群网关用户 外部用户 |
silentInstructions | 静默指令 | String | 否 | 如下用户角色可选: 集群网关用户 |
audioInstructions | 有声指令 | String | 否 | 如下用户角色可选: 集群网关用户 |
kind | 设备类型 | Integer | 是 | 2:广播, 3:监控视频 6:app 7:调度台 8:ip话机 9:车台 |
seeall | 查看所有 | String | 是 | 用户在调度台登录时,可以查看调用用户的范围 0:查看本部门及子孙部门的调度用户 1:查看所有调度用户 |
gatewayName | 网关名称 | String | 否 | |
point | 位置坐标 | String | 否 | 格式:精度,维度 |
headimg | 用户头像 | String | 否 | 用户头像访问的全路径 |
9.2.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:200,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
9.2.4 接口示例
请求地址:
请求参数:
Content-Type: application/x-www-form-urlencoded Method:post id: &name: 3008 &account: 3008 &phorex: 3008 &orgid: a80f71b160014d0a8c77c04a894b9afd &orgName: &scope: 1 &silentSignal: &audioSignal: &silentInstructions: &audioInstructions: &kind: 7 &seeall: 0 &gatewayName: &point: &headimg: |
响应:
{ "msg": "", "code": 200 } |
9.3 修改调度用户
9.3.1 接口描述
修改调度用户
9.3.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
id | 主键,添加的时候为空 | String | 是 | |
name | 名称 | String | 是 | |
account | 账号 | String | 是 | 账号唯一 |
phorex | 分机号 | String | 是 | 分机号唯一 |
orgid | 部门id | String | 是 | |
orgName | 部门名称 | String | 否 | |
scope | 角色 | Integer | 是 | 0:其他 1:调度台 2:调度用户 3:SIP用户 4:集群网关用户 5:外部用户 |
silentSignal | 静默信号 | String | 否 | 如下用户角色可选: 其他 集群网关用户 外部用户 |
audioSignal | 有声信号 | String | 否 | 如下用户角色可选: 其他 集群网关用户 外部用户 |
silentInstructions | 静默指令 | String | 否 | 如下用户角色可选: 集群网关用户 |
audioInstructions | 有声指令 | String | 否 | 如下用户角色可选: 集群网关用户 |
kind | 设备类型 | Integer | 是 | 2:广播, 3:监控视频 6:app 7:调度台 8:ip话机 9:车台 |
seeall | 查看所有 | String | 是 | 用户在调度台登录时,可以查看调用用户的范围 0:查看本部门及子孙部门的调度用户 1:查看所有调度用户 |
gatewayName | 网关名称 | String | 否 | |
point | 位置坐标 | String | 否 | 格式:精度,维度 |
headimg | 用户头像 | String | 否 | 用户头像访问的全路径 |
9.3.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:200,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
9.3.4 接口示例
请求地址:
请求参数:
Content-Type: application/x-www-form-urlencoded Method:post id: e43961451bcd42cd93e73f3ad378a156 &name: 3008 &account: 3008 &phorex: 3008 &orgid: a80f71b160014d0a8c77c04a894b9afd &orgName: &scope: 1 &silentSignal: &audioSignal: &silentInstructions: &audioInstructions: &kind: 7 &seeall: 0 &gatewayName: &point: &headimg: |
响应:
{ "msg": "", "code": 200 } |
9.4 删除调度用户
9.4.1 接口描述
物理删除调度用户
9.4.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
id | 主键,添加的时候为空 | String | 是 |
9.4.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:200,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
9.4.4 接口示例
请求地址:
请求参数:
Content-Type: application/x-www-form-urlencoded Method:post id: e43961451bcd42cd93e73f3ad378a156 |
响应:
{ "msg": "删除成功", "code": 200 } |
9.5 查询调度用户
9.5.1 接口描述
查询调度用户
9.5.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
page | 页号 | Integer | 是 | |
limit | 每页大小 | Integer | 是 | |
name | 用户名 | String | 否 | |
phorex | 分机号 | String | 否 | |
scope | 角色类型 | String | 否 | |
startTime | 开始时间 | String | 否 | 比对创建时间 |
endTime | 结束时间 | String | 否 | 比对创建时间 |
orgid | 部门Id | String | 否 |
9.5.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 | |
data | 响应结果 | Array | 是 | |
id | 用户id | String | 是 | |
name | 用户名 | String | 是 | |
account | 登录账号 | String | 是 | |
passwd | 登录密码 | String | 是 | |
phorex | 分机号 | String | 是 | |
remarks | 备注 | String | 是 | |
creater | 创建人id | String | 是 | |
createName | 创建人姓名 | String | 是 | |
scope | 角色 | Integer | 是 | |
kind | 设备类型 | Integer | 是 | |
headimg | 头像全路径 | String | 是 | |
createtime | 创建时间 | String | 是 | |
appMapType | 地图类型 | String | 是 | |
appLng | 精度 | String | 是 | |
appLat | 纬度 | String | 是 | |
appBattery | 电量 | String | 是 | |
appSpeed | 速度 | float | 是 | |
appDirection | 方向 | float | 是 | |
cameraNo | 设备号 | String | 是 | |
seeall | 查看所有 | String | 是 | 用户在调度台登录时,可以查看调用用户的范围 0:查看本部门及子孙部门的调度用户 1:查看所有调度用户 |
gatewayName | 网关名称 | String | 是 | |
cameraUrl | 摄像头地址 | String | 是 | |
count | 记录数 | long | 是 |
9.5.4 接口示例
请求:
http://RDS服务器地址:端口/dm/dispatch/user/list?page=1&limit=10&name=&phorex=&scope= |
响应:
{ "data": [ { account: "3007", appBattery: null, appDirection: 0, appLat: null, appLng: null, appMapType: null, appSpeed: 0, cameraNo: null, cameraUrl: null, createName: "admin", creater: "1", createtime: "2022-05-07 16:52:08", gatewayName: "aaa17", headimg: "https://192.168.1.82:6443/media/medias/ChannelHeadImg_default.png", id: "fe5a7d3a78494f1f8af810651dd18f54", kind: 8, kindimg: null, kindname: "ip话机", name: "3007", numberEnd: null, numberStart: null, orgName: "软件部", orgid: "a80f71b160014d0a8c77c04a894b9afd", passwd: "12aa34zz", phorex: "3007", point: "", remarks: null, scope: 5, seeall: "0", userImg: null } ], "code": "0", "count": 23, "msg": "请求成功" } |
9.6 同步
9.6.1 接口描述
同步调度用户配置信息到调度台缓存
9.6.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
9.6.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:200,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
9.6.4 接口示例
请求地址:
请求参数:
Content-Type: application/x-www-form-urlencoded Method:post |
响应:
{ "msg": "操作成功", "code": 200 } |
10 文件管理
10.1 文件上传
10.1.1 接口描述
文件上传
10.1.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
orgId | 部门id | String | 是 | |
userType | 用户类型 | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
file | 文件 | binary | 是 | |
userId | 用户id | String | 是 | |
alias | 文件名 | String | 是 |
10.`1.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 | |
data | 影响的行数 | String | 是 |
10.1.4 接口示例
请求地址:
请求参数:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryVClKvl2j0BLrVLLb Method:post orgId: a80f71b160014d0a8c77c04a894b9afd &userType: dispatch &file: (binary) &userId: 92cdcd7107b040f6bad9925aa85ba3b0 &alias: 1363882255.mp3 |
响应:
{ "msg": "修改成功", "data": 1, "code": 1 } |
10.2 文件删除
10.2.1 接口描述
文件删除
10.2.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
fileIds | 文件Id的集合,逗号分割 | String | 是 | |
orgId | 组织结构Id | String | 是 | |
userType | 用户类型 | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
10.2.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 否 | |
data | 影响的行数 | String | 否 |
10.2.4 接口示例
请求地址:
请求参数:
Content-Type: application/json Method:delete fileIds: 13 &orgId: a80f71b160014d0a8c77c04a894b9afd &userType: dispatch |
响应:
{ "msg": "修改成功", "data": null, "code": 1 } |
10.3 文件查询
10.3.1 接口描述
文件查询
10.3.2 请求参数
参数 | 类型 | 必选 | 描述 |
fileName | String | 否 | 文件名称,用于模糊查询 |
page | Integer | 否 | 分页的页号 |
rows | Integer | 否 | 每页记录数 |
orgId | String | 否 | 部门id |
userType | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
10.3.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 | |
data | 消息数据 | |||
page | 页数 | String | 是 | |
totalRows | 记录数量 | String | 是 | |
result | 文件集合 | Array | 是 | |
alias | 文件名称 | String | 是 | |
comment | 文件进行详细描述 | String | 是 | |
createdUserName | 创建人姓名 | String | 是 | |
createdUserType | 上传用户类型 | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
fileName | 文件名称 | String | 是 | |
id | 文件Id | String | 是 | |
createdTime | 创建时间 | String | 是 |
10.3.4 接口示例
请求
http://RDS服务器地址:端口/cti/file?orgId=a80f71b160014d0a8c77c04a894b9afd&userType=dispatch |
响应
{
"data":{ "page": 1, "totalRows": 5, "result":[ { alias: "1363882255.mp3", comment: null, createdUserName: "2005", createdUserType: "dispatch", fileName: "1363882255.mp3", id: 11 }, { alias: "1363882255.mp3", comment: null, createdUserName: "2005", createdUserType: "dispatch", fileName: "1363882255.mp3", id: 9 } ] }, "code": 0, "msg": "" } |
11 广播
11.1 广播任务查询
11.1.1 接口描述
查询广播任务
11.1.2 请求参数
参数 | 类型 | 必选 | 描述 |
assignmentName | String | 否 | 广播任务名称 |
page | Integer | 否 | 页号 |
rows | Integer | 否 | 每页记录数量 |
orgId | String | 否 | 部门id |
userType | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
11.1.3 响应参数
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 | |
data | 消息数据 | |||
page | 页数 | String | 是 | |
totalRows | 记录数量 | String | 是 | |
result | 广播任务的集合 | Array | 是 | |
createdTime | 创建时间 | String | 是 | |
createdUserId | 创建人 | String | 是 | |
createdUserName | 创建人姓名 | String | 是 | |
createdUserType | 创建任务的用户类型 | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
files | 文件集合 | Array | 是 | |
id | 广播id | String | 是 | |
name | 广播名称 | String | 是 | |
times | 播放次数 | String | 是 |
11.1.4 接口示例
请求
响应
{
"data":{ "page": 1, "totalRows": 5, "result":[ { createdTime: 1650437287000, createdUserId: "92cdcd7107b040f6bad9925aa85ba3b0", createdUserName: "2005", createdUserType: "dispatch", id: 19, name: "12346789", orgId: "", orgName: null, times: 2, files:[ { alias: "1363882255.mp3", breakMillisecond: 1000, comment: null, id: 11, name: "1363882255.mp3", times: 1 } ] }, { createdTime: 1650420334000, createdUserId: "92cdcd7107b040f6bad9925aa85ba3b0", createdUserName: "2005", createdUserType: "dispatch", id: 11, name: "123", orgId: "a80f71b160014d0a8c77c04a894b9afd", orgName: "软件部", times: 2, files:[ { alias: "3363882255.mp3", breakMillisecond: 1000, comment: null, id: 1, name: "3363882255.mp3", times: 1 } ] } ] }, "code": 0, "msg": "" } |
11.2 添加广播任务
11.2.1 接口描述
添加广播任务
11.2.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
name | 广播任务名称 | String | 是 | |
orgId | 父部门id | String | 是 | |
times | 播放次数 | String | 是 | |
userId | 用户id | String | 是 | |
userType | 用户类型 | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
files | 文件集合 | |||
breakMillisecond | 延时时间 | String | 是 | |
id | 文件Id | String | 是 | |
times | 播放次数 | String | 是 |
11.2.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 | |
data | 广播id | String | 是 |
11.2.4 接口示例
请求地址:
请求参数:
Content-Type: application/json; charset=UTF-8 Method:post { name: "123", orgId: "a80f71b160014d0a8c77c04a894b9afd", times: "12", userId: "92cdcd7107b040f6bad9925aa85ba3b0", userType: "dispatch", files:[ { breakMillisecond: 1000, id: 11, times: 1 } ] } |
响应:
{ "msg": "", "code": 0, "data": null } |
11.3 修改广播任务
11.3.1 接口描述
修改广播
11.3.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
name | 广播任务名称 | String | 是 | |
id | 广播任务id | String | 是 | |
orgId | 父部门id | String | 否 | |
times | 播放次数 | String | 是 | |
userId | 用户id | String | 是 | |
userType | 用户类型 | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
files | 文件集合 | |||
breakMillisecond | 延时时间 | String | 是 | |
id | 文件Id | String | 是 | |
times | 播放次数 | String | 是 |
11.3.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
11.3.4 接口示例
请求地址:
请求参数:
Content-Type: application/json; charset=UTF-8 Method:PUT { id: 19 name: "123", orgId: "a80f71b160014d0a8c77c04a894b9afd", times: "12", userType: "dispatch", files:[ { breakMillisecond: 1000, id: 11, times: 1 } ] } |
响应:
{ "msg": "", "code": 0, } |
11.4 删除广播任务
11.4.1 接口描述
删除广播任务
11.4.2 请求参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
assignmentIds | 广播任务id | String | 是 | 多个广播任务逗号分隔 |
orgId | 部门id | String | 是 | |
userType | 用户类型 | String | 是 | 用户类型: 可选值: dispatch system 接口调用时,输入:dispatch |
userId | 用户id | String | 是 |
11.4.3 响应参数
英文名 | 中文名 | 类型 | 是否必须 | 备注 |
code | 响应码 | String | 是 | 状态码:0,成功;2,异常(系统内部出现错误);1,失败(调用不合法,比如请求参数错误) |
msg | 响应消息 | String | 是 |
11.4.4 接口示例
请求地址:
请求参数:
Content-Type: application/json; charset=UTF-8 Method:DELETE { assignmentIds: 25, orgId: a80f71b160014d0a8c77c04a894b9afd, userType: dispatch } |
响应:
{ "msg": "", "code": 0, } |
11.5 会议管理-广播
11.5.1 接口描述
参见:RDS服务器接口V1.7.doc的 1.3.1 创建会议
11.6 会议成员-广播
11.6.1 接口描述
参见:RDS服务器接口V1.7.doc的 1.3.6 会议中添加成员
11.7 开启广播
11.7.1 接口描述
参见:RDS服务器接口V1.7.doc的 1.3.4 发起会议
11.7.2 请求参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meeton:会议发起】 |
meetnum | String | 是 | 会议号码 |
assignment | String | 是 | 广播id |
11.8 结束广播
11.8.1 接口描述
参见:RDS服务器接口V1.7.doc的 1.3.5 结束会议
11.9 文件广播开始(websocket)
11.9.1 接口描述
每个文件广播前,RDS向用户发送meet_play_file_start事件
11.9.2 请求参数
11.9.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meet_play_file_start:文件开始播放】 |
data | 消息数据 | ||
file | String | 是 | 文件路径 |
fileid | String | 是 | 文件Id |
meetnum | String | 是 | 会议号 |
playedtimes | String | 是 | 每隔文件已经播放次数 |
round | String | 是 | 播放到第几个文件 |
times | String | 是 | 每个文件要播放次数 |
11.9.4 接口示例
响应:
{ "cmd": "meet_play_file_start", "data": { file: "/mp3/c12b76dde085b314aa9e1115e61d65ff.mp3" fileid: 11 meetnum: "20000" playedtimes: 0 round: 0 times: 1 } } |
11.10 文件结束广播(websocket)
11.10.1 接口描述
每个文件播放完成后,RDS向用户发送meet_play_file_stopped事件
11.10.2 请求参数
11.10.3 响应参数
参数 | 类型 | 必选 | 描述 |
cmd | String | 是 | 取值为【meet_play_file_stopped:文件结束播放】 |
data | 消息数据 | ||
file | String | 是 | 文件路径 |
fileid | String | 是 | 文件Id |
meetnum | String | 是 | 会议号 |
playedtimes | String | 是 | 每隔文件已经播放次数 |
round | String | 是 | 播放到第几个文件 |
times | String | 是 | 每个文件要播放次数 |
11.10.4 接口示例
响应:
{ "cmd": "meet_play_file_stopped", "data": { file: "/mp3/c12b76dde085b314aa9e1115e61d65ff.mp3" fileid: 11 meetnum: "20000" playedtimes: 0 round: 0 times: 1 } } |