device_cmd_method determines the command type, and the device_cmd_data field structure varies with the method value. After successful dispatch, the command batch ID (bid) is returned for subsequent polling of progress and results. Differences from the organization-level command channel ("Send Custom Commands to Organization Devices (Universal cmds Channel) [Develop Query-type as Interface, Retain Config-type]" interface):supplement_light_open / supplement_light_close), other commands require project administrator permissions;rtk_calibration) are transparently passed after verification. device_cmd_method common value quick reference:supplement_light_open / supplement_light_close (turn on/off fill light): device_cmd_data passes {}, only requires project member permissions;rtk_calibration (RTK one-click calibration): device_cmd_data is defined by the model SDK documentation, requires project administrator;ptz_control (gimbal control): device_cmd_data is defined by the model SDK documentation (target angle/speed, etc.), requires project administrator;device_reboot (device reboot) / cover_open / cover_close (dock cover open/close) / drone_open / drone_close (drone power on/off): {}, requires project administrator;{
"device_sn": "3ABDQ12345678",
"device_cmd_method": "ptz_control",
"device_cmd_data": {
"pitch": -45,
"yaw": 0,
"speed": 30
}
}curl --location '/openapi/v2.0/manage/api/v1/projects//topologies/cmds' \
--header 'x-user-token;' \
--header 'x-user-token;' \
--header 'X-Request-Id;' \
--header 'X-Request-Id;' \
--header 'X-Project-Uuid;' \
--header 'Content-Type: application/json' \
--data '{
"device_sn": "3ABDQ12345678",
"device_cmd_method": "ptz_control",
"device_cmd_data": {
"pitch": -45,
"yaw": 0,
"speed": 30
}
}'{
"code": 0,
"message": "OK",
"data": {
"bid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tid": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"timestamp": 1717555200000,
"output": {}
}
}