介绍
本文通过对该中控控制API指令的功能说明和语法的详细介绍,使阅读人员能够快速了解中控控制模块的相关功能,并能指导开发人员完成后续的开发编码工作。能够根据说明完成与yealink VCS 产品的网络模式的控制主机的开发。
快速入门
网络模式配置
设备支持网络模式对主机设备进行控制,采用TCP协议建立连接,客户端需要知道主机的ip地址和端口号才能连接主机端。
以下是网络模式需要配置的参数:
CT200/CT300的Socket模式的控制端口配置为:6024
IP地址可以根据实际情况填写即可
密码鉴权
如果CT200/CT300的Socket模式开启了密码鉴权,通过TCP协议建立连接时,需要输入密码并鉴权通过后,才能正常执行中控指令。输入密码格式为 "XXXX\r\n" ,其中XXXX为正确的密码。
例如:建立TCP连接后,收到"Password:\r\n"信息,即提示需要输入鉴权密码。
当前输入错误的密码,连接会返回"Invalid Password!\r\nPassword:\r\n",提示需要重新输入密码进行鉴权。
只要输入正确的密码,连接会返回"welcome yealink centralcontrol"。
API指令
基本语法说明
本介绍设备中控API指令说明文件,为了便于说明API指令语法,对API书写的格式做如下声明与约定:
指令单词均为小写
指令基本结构:命令+参数
参数组成:参数名+参数值,以 (:) 号分隔,指令参数同HTTP API格式,以json字串形式传输
存在部分特殊参数使用 key:value 的形式进行传参。
基本数据包格式说明
发送格式说明: 采用\r\n (回车换行符)作为结束标识符,所有API 指令发送最后都需要加入\r\n结束的标识符
返回格式说明:采用\r\n作为结束标识符,所有返回包都会带有\r\n的结束标识符
指令基本格式:
Command + \r\n(无参数类型)
Command + 空格 + json字符串 + \r\n(带参数类型)
Command + 空格 + key:value + \r\n(带关键信息)
Command + 空格 + key:value + 空格 + json字符串 + \r\n(带参数及关键信息)
基础API
获取设备信息列表
指令
system get devices
返回参数
参数
数据类型
描述
id
String
Device UUID
name
String
Device name
model
String
Device model
type
String
Device type
Encoder
Decoder
ipAddress
String
Device IP address
macAddress
String
MAC address
status
String
Device status
Online
Offline
发送示例
system get devices\r\n
返回示例
system get devices {"data":{"list":[{"createTime":1770195884834,"deviceId":5,"firmwareVersion":"316.435.254.103","groupId":"CONTROL_DEFAULT_DEVICE_GROUP","id":"EN300_44dbd2dde825","ipAddress":"10.57.20.69","macAddress":"44DBD2DDE825","model":"EN300","modifyTime":1770195884834,"name":"EN300-DDE825","status":"Offline","tag":"","type":"Encoder"},{"createTime":1770889453212,"deviceId":9,"firmwareVersion":"343.435.254.68","groupId":"CONTROL_DEFAULT_DEVICE_GROUP","id":"DE300_44dbd2dde614","ipAddress":"10.57.20.45","macAddress":"44DBD2DDE614","model":"DE300","modifyTime":1770889453212,"name":"DE300-DDE614","status":"Offline","tag":"DE300-TV-1","type":"Decoder"}]},"error":null,"ret":1}
设置音视频路由
指令
set audio and video routing
请求参数
参数
参数类型
数据类型
是否必需
描述
transmitterMac
Body
String
Yes
Transmitter's MAC address
receiverMac
Body
String
Yes
Receiver's MAC address
signal
Body
String
Yes
Route signals
Audio/Video
Video
Audio
action
Body
String
Yes
Indicates whether the signal is enabled or disabled.
open
close
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
set audio and video routing {"transmitterMac":"44DBD2DDE744","receiverMac":"44DBD2CAD485","signal":"Audio/Video","action":"open"}\r\n
返回示例
set audio and video routing {"data":null,"error":null,"ret":0}\r\n
获取音视频路由状态
指令
get audio and video routing info
返回参数
参数
数据类型
描述
groupId
String
Group ID
transmitterMac
String
Transmitter's MAC address
receiverMac
String
Receiver's MAC address
signal
String
Route signals
Audio/Video
Video
Audio
发送示例
get audio and video routing info\r\n
返回示例
get audio and video routing info {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","routing":[]},"error":null,"ret":1}\r\n
获取音视频预置路由列表
指令
get audio and video matrix preset list
返回参数
参数
数据类型
描述
groupId
String
Group ID
presetId
String
Route ID
name
String
Route name
enable
Integer
Application status
0 - Not Applied
1 - Applied
发送示例
get audio and video matrix preset list\r\n
返回示例
get audio and video matrix preset list {"data":{"presetList":[]},"error":null,"ret":1}\r\n
调用音视频预置路由
指令
apply audio and video matrix preset
请求参数
参数
参数类型
数据类型
是否必需
描述
presetId
Body
String
Yes
Route ID
返回参数
参数
数据类型
描述
presetId
String
Route ID
发送示例
apply audio and video matrix preset {"presetId":"9af5249f-45dd-b71d-d59c-e7a0d58c1824"}\r\n
返回示例
apply audio and video matrix preset {"ret":1,"data":{"presetId":"1e65020e-6064-9bd0-1d6b-8de77400c884"},"error":null}\r\n
设置USB路由(包含取消路由)
指令
set usb routing
请求参数
参数
参数类型
数据类型
是否必需
描述
mode
Body
String
Yes
USB routing mode
Follow Video
Manual
routing
Body
Array
Yes
Routing list
transmitterMac
Body
String
Yes
Transmitter's MAC address
transmitterIp
Body
String
Yes
Transmitter's IP address
receiverMac
Body
String
Yes
Receiver's MAC Address
receiverIp
Body
String
Yes
Receiver's IP address
signal
Body
String
Yes
Signal type
Audio/Video
None (Cancel Routing)
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
set usb routing {"mode":"Manual","routing":[{"transmitterMac":"2458122467125568","transmitterIp":"10.60.26.16","receiverMac":"5468124591324158","receiverIp":"10.60.26.17","signal":"Audio/Video"}]}\r\n
返回示例
set usb routing {"ret":0,"data":null,"error":null}\r\n
获取USB路由列表
指令
get usb routing list
返回参数
参数
数据类型
描述
groupId
String
Group ID
mode
String
USB routing mode
Follow Video
Manual
routing
Array
Routing list
transmitterMac
String
Transmitter's MAC address
receiverMac
String
Receiver's MAC address
发送示例
get usb routing list\r\n
返回示例
get usb routing list {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","mode":"Manual","routing":[]},"error":null,"ret":1}\r\n
切换USB路由模式
指令
set usb routing mode
请求参数
参数
参数类型
数据类型
是否必需
描述
mode
Body
String
Yes
USB routing mode
Follow Video
Manual
routing
Body
Array
Yes
Routing list
transmitterMac
Body
String
Yes
Transmitter's MAC address
transmitterIp
Body
String
Yes
Transmitter's IP address
receiverMac
Body
String
Yes
Receiver's MAC Address
receiverIp
Body
String
Yes
Receiver's IP address
返回参数
参数
数据类型
描述
groupId
String
Group ID
发送示例
set usb routing mode {"mode":"Manual","routing":[{"transmitterMac":"2458122467125568","transmitterIp":"10.60.26.16","receiverMac":"5468124591324158","receiverIp":"10.60.26.17"}]}\r\n
返回示例
set usb routing mode {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP"},"error":null,"ret":1}\r\n
获取自动路由列表
指令
get auto routing list
返回参数
参数
数据类型
描述
groupId
String
Group ID
autoId
String
Automatic route group ID
name
String
Route name
enable
Integer
Application status
0 - Not Applied
1 - Applied
发送示例
get auto routing list\r\n
返回示例
get auto routing list {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","presetList":[{"autoId":"1a99bc39-07f7-11f1-9b41-e08b94b34d19","createTime":1772264772182,"enable":1,"modifyTime":1772264772182,"name":"Auto DE300-TV-1","routing":[{"enable":0,"receiverId":"DE300_44dbd2dde614","receiverIp":"","receiverMac":"44DBD2DDE614","receiverName":"DE300-1","receiverType":"decoder","transmitterId":"","transmitterIp":"","transmitterMac":"","transmitterName":"EN300-1","transmitterType":"encoder"}]}]},"error":null,"ret":1}\r\n
启动自动路由
指令
enable auto routing
请求参数
参数
参数类型
数据类型
是否必需
描述
autoId
Body
String
Yes
Automatic route group ID
返回参数
参数
数据类型
描述
autoId
String
Automatic route group ID
发送示例
enable auto routing {"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"}\r\n
返回示例
enable auto routing {"ret":1,"data":{"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"},"error":null}\r\n
关闭自动路由
指令
disable auto routing
请求参数
参数
参数类型
数据类型
是否必需
描述
autoId
Body
String
Yes
Automatic route group ID
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
disable auto routing {"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"}\r\n
返回示例
disable auto routing {"ret":0,"data":null,"error":null}\r\n
编解码器API
设置编解码器视频矩阵配置
指令
set video matrix
请求参数
参数
参数类型
数据类型
是否必需
描述
batchConfig
Body
Object
No
参数s for batch configuration
batchList
Body
Array
No
UUID list of devices to be configured in batch
singleList
Body
Array
No
Configuration list for individual devices
model
Body
String
Yes
Device model
mac
Body
String
Yes
Device MAC address
ENCODER
lanOut
Body
String
Yes
LAN out video source, default is USB-C
lanOutSwitching
Body
String
Yes
LAN auto-switching switch
1 - Enabled
0 - Disabled
loopOut
Body
String
Yes
Loop out video source, default is USB-C
loopOutSwitching
Body
String
Yes
Loop out auto switch
1 - enabled
0 - disabled
DECODER
autoSwitching
Body
Integer
Yes
Automatic function switching toggle
1 - Enabled
0 - Disabled
hdmiOut
Body
String
Yes
Optional values
none
hdmi input1
lan in
videoCaptureOut
Body
String
Yes
Optional values
none
hdmi input1
lan in
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
set video matrix {"singleList":[{"model":"EN300","mac":"44DBD2CE2D06","lanOut":"usb-c","lanOutSwitching":1,"loopOut":"usb-c","loopOutSwitching":1}]}\r\n
返回示例
set video matrix {"ret":0,"data":null,"error":null}\r\n
获取编解码器视频矩阵配置
指令
get video matrix info
请求参数
参数
参数类型
数据类型
是否必需
描述
list
Body
Array
Yes
Device type and MAC address list
model
Body
String
Yes
Device model
mac
Body
String
Yes
Device MAC address
返回参数
参数
数据类型
描述
reqFinish
Integer
Request completion flag
1 - Stop requesting
0 - Continue requesting
id
String
Device UUID
type
String
Device type
encoder
decoder
name
String
Device name
model
String
Device model
ENCODER
lanOut
String
LAN out video source, default is USB-C
lanOutSwitching
String
LAN auto-switching switch
1 - Enabled
0 - Disabled
loopOut
String
Loop out video source, default is USB-C
loopOutSwitching
String
Loop out auto switch
1 - enabled
0 - disabled
DECODER
autoSwitching
Integer
Automatic function switching toggle
1 - Enabled
0 - Disabled
hdmiOut
String
Optional values
none
hdmi input1
lan in
videoCaptureOut
String
Optional values
none
hdmi input1
lan in
发送示例
get video matrix info {"list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
get video matrix info {"ret":1,"data":{"reqFinish":1,"list":[{"id":"EN300_44dbd2dde744","type":"encoder","name":"VP59","model":"VP59","lanOut":"usb-c","lanOutSwitching":1,"loopOut":"usb-c","loopOutSwitching":1}]},"error":null}\r\n
设置编解码器USB配置
指令
set usb
请求参数
参数
参数类型
数据类型
是否必需
描述
usbMode
Body
String
Yes
USB signal mode
transmitter
receiver
usbSwitch
Body
String
Yes
Local USB switch mode
follow_video
manual
usbHost
Body
String
Yes
Used in manual mode
usb_host1
usb_host2
usb_c
list
Body
Array
Yes
Device UUID list
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
set usb {"usbMode":"transmitter","usbSwitch":"manual","usbHost":"usb_c","list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
set usb {"ret":0,"data":null,"error":null}\r\n
获取编解码器USB配置
指令
get usb info
请求参数
参数
参数类型
数据类型
是否必需
描述
model
Path
String
Yes
Device model
mac
Path
String
Yes
Device MAC address
返回参数
参数
数据类型
描述
usbMode
String
USB signal mode
transmitter
receiver
usbSwitch
String
Local USB switch mode
follow_video
manual
usbHost
String
Used in manual mode
usb_host1
usb_host2
usb_c
发送示例
get usb info model:EN300 mac:44DBD2DDE744\r\n
返回示例
get usb info {"ret":1,"data":{"usbMode":"transmitter","usbSwitch":"manual","usbHost":"usb_c"},"error":null}\r\n
设置编解码器Audio配置
指令
devices set audio
请求参数
参数
参数类型
数据类型
是否必需
描述
batchConfig
Body
Object
No
参数s for batch configuration
batchList
Body
Array
No
UUID list of devices to be configured in batch
singleList
Body
Array
No
Configuration list for individual devices
model
Body
String
Yes
Device model
mac
Body
String
Yes
Device MAC address
analogAudioOut
Body
Integer
Yes
HDMI out audio output switch
1 - On
0 - Off
audioOutVolume
Body
String
Yes
Audio output volume, 0-100
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
devices set audio {"singleList":[{"model":"EN300","mac":"44DBD2DDE744","analogAudioOut":1,"audioOutVolume":80}]}\r\n
返回示例
devices set audio {"ret":0,"data":null,"error":null}\r\n
获取编解码器Audio配置
指令
get audio config info
请求参数
参数
参数类型
数据类型
是否必需
描述
list
Body
Array
Yes
Device list
model
Body
String
Yes
Device model
mac
Body
String
Yes
Device MAC address
返回参数
参数
数据类型
描述
reqFinish
Integer
Request completion flag
1 - Stop requesting
0 - Continue requesting
id
String
Device UUID
type
String
Device type
encoder
decoder
name
String
Device name
model
String
Device model
analogAudioOut
Integer
HDMI out audio output switch
1 - On
0 - Off
audioOutVolume
Integer
Audio output volume, 0-100
发送示例
get audio config info {"list":[{"model":"DE300","mac":"249AD85A5BE2"}]}\r\n
返回示例
get audio config info {"ret":1,"data":{"reqFinish":1,"list":[{"id":"DE300_249ad85a5be2","type":"decoder","name":"VP59","model":"VP59","analogAudioOut":1,"audioOutVolume":80}]},"error":null}\r\n
调试编解码器显示控制
指令
devices set advanced display control test
请求参数
参数
参数类型
数据类型
是否必需
描述
controlType
Body
String
Yes
Control type. Default is CEC. Options:
Off
CEC
RS232
IR
commandType
Body
String
Yes
Command type
hex
ascii
commandString
Body
String
Yes
Command string
serial
Body
String
Yes
RS232 serial port configuration. 是否必需 only when controlType is RS232
- baudRate
Body
Integer
Yes
Baud rate. Default is 9600. Options:
300
600
1200
2400
4800
9600
19200
38400
57600
115200
- dataBits
Body
Integer
Yes
Data bits:
7
8
- parity
Body
String
Yes
Parity bit:
none
odd
even
- stopBits
Body
Integer
Yes
Stop bits:
1
2
- flowControl
Body
String
Yes
Flow control:
none
dtr_dsr
rts_cts
xon_xoff
list
Body
Array
Yes
Device list
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
devices set advanced display control test {"controlType":"RS232","commandType":"hex","commandString":"xxxxxxxxxxx","serial":{"baudRate":9600,"dataBits":8,"parity":"none","stopBits":1,"flowControl":"none"},"list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
devices set advanced display control test {"ret":0,"data":null,"error":null}\r\n
界面设计API
预设动作集列表查询
指令
ctrl get macros page
请求参数
参数
参数类型
数据类型
是否必需
描述
skip
Body
Int
Yes
Number of skipped data entries
limit
Body
Int
Yes
Limit the number of displayed data entries
返回参数
参数
数据类型
描述
total
Int
Total number of records
id
String
Preset Action ID
name
String
Preset Action name
发送示例
ctrl get macros page {"skip":0,"limit":50}\r\n
返回示例
ctrl get macros page {"data":{"limit":50,"list":[{"id":"1a99bc3a-07f7-11f1-9b41-e08b94b34d19","name":"Room1 Latest Input Source"}],"skip":0,"spaceId":"13e571ef-07f7-11f1-9b41-e08b94b34d19","total":1},"error":null,"ret":1}\r\n
自动化列表查询
指令
ctrl get monitors page
请求参数
参数
参数类型
数据类型
是否必需
描述
skip
Body
Int
Yes
Number of skipped data entries
limit
Body
Int
Yes
Limit the number of displayed data entries
返回参数
参数
数据类型
描述
total
Int
Total number of records
id
String
Automation ID
name
String
Automation name
enable
Boolean
Enabled
发送示例
ctrl get monitors page {"skip":0,"limit":50}\r\n
返回示例
ctrl get monitors page {"ret":1,"data":{"skip":0,"limit":50,"spaceId":"04cc5185-d823-497b-97ae-dc1d934bd6f0","total":1,"list":[{"id":"6a670bb3-65b1-44c0-ba90-d63f733aa188","name":"Monitorname1","enable":true}]},"error":null}\r\n
自动路由列表查询
指令
ctrl get auto routings page
请求参数
参数
参数类型
数据类型
是否必需
描述
skip
Body
Int
Yes
Number of skipped data entries
limit
Body
Int
Yes
Limit the number of displayed data entries
返回参数
参数
数据类型
描述
total
Int
Total number of records
id
String
Automatic routing ID
name
String
Automatic routing name
enable
Boolean
Enabled
发送示例
ctrl get auto routings page {"skip":0,"limit":50}\r\n
返回示例
ctrl get auto routings page {"ret":1,"data":{"skip":0,"limit":50,"spaceId":"04cc5185-d823-497b-97ae-dc1d934bd6f0","total":1,"list":[{"id":"6a670bb3-65b1-44c0-ba90-d63f733aa188","name":"AutoRouting name 1","enable":true}]},"error":null}\r\n
调用预设动作集
指令
ctrl set macro invoke
请求参数
参数
参数类型
数据类型
是否必需
描述
macroId
Body
String
Yes
Preset Action ID
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
ctrl set macro invoke {"macroId":"1a99bc3a-07f7-11f1-9b41-e08b94b34d19"}\r\n
返回示例
ctrl set macro invoke
禁用/启用自动化
指令
ctrl set monitor
请求参数
参数
参数类型
数据类型
是否必需
描述
monitorId
Body
String
Yes
Automation ID
enable
Body
Boolean
Yes
Automation status: true to enable, false to disable
返回参数
参数
数据类型
描述
ret
Integer
Returns -1 on failure and ≥ 0 on success.
发送示例
ctrl set monitor {"monitorId":"1a99bc3c-07f7-11f1-9b41-e08b94b34d19","enable":true}\r\n
返回示例
ctrl set monitor {"ret":0,"data":null,"error":null}\r\n