跳到主要内容
版本:3.4.4

CmdStateChanged

通知名称:终端指令状态变更通知

订阅地址/user/{token}/queue/cmd

注:订阅地址中的{token}要用实际的令牌字符串(POST /login接口返回的authToken)代替,如token为Ge4E1xNHSfW8NYa0VJe48A,则指令完成通知的订阅地址为: /user/Ge4E1xNHSfW8NYa0VJe48A/queue/cmd

结构

当指令记录状态发生变更时(如指令下发完成时、指令被应答时、或下发指令出错时,或指令被取消时,或指令超时时),服务端推送本通知。结构如下:

属性数据类型必要说明
idstringY终端指令记录ID。此ID与调用下发指令 POST /term_cmd 接口返回的id一致。指出本通知所指代的指令记录
reqTmstringY指令的请求时间,格式:yyyy-MM-dd HH:mm:ss。(对应 TermCmd 中的reqTm属性)
statusintY指令的新的状态:
  • 1: 已下发
  • 2:终端已应答
  • -1:执行异常
  • -2:指令格式不正确,无效格式,服务器无法下发
  • -3:指令不支持
  • -4: 用户取消
  • -5: 终端不在线
  • -6: 超时
(对应 TermCmd 中的status属性)
tmstringY指令状态的变更时间,格式:yyyy-MM-dd HH:mm:ss
initMsgIdstringY下发指令时指令的消息号(对应 TermCmd 中的msgId属性)
subCmdTypstring下发指令时指令的子命令类型(对应 TermCmd 中的subCmdTyp属性)
msgSnint下发指令时的消息流水号(对应 TermCmd 中的msgSn属性)
simNostringY下发指令时指令的终端识别号(对应 TermCmd 中的simNo属性)
ackMsgIdstring终端应答自身的指令消息号,JT/T 808,JT/T 1078 指令消息号。仅当status == 2时有效
ackSeqNoint终端应答自身的指令消息流水号。仅当status == 2时有效
ackCodeint终端应答的应答码。仅当status == 2且应答消息有应答码时有效。具体参见各指令说明
ackParamsobject终端应答的数据内容。仅当status == 2且应答消息有应答内容时有效。具体参见各指令说明

数据示例

{
"id": "433350002",
"reqTm": 1643006473800,
"status": 2,
"tm": 1643006473802,
"initMsgId": "8201",
"simNo": "13320200317",
"ackMsgId": "0201",
"ackSeqNo": 3,
"ackParams": {
"trk": {
"simNo": "13320200317",
"recvTm": 1643006473802,
"gpsTm": 1643006473000,
"alm": 0,
"st": 524291,
"lng": 121.42949,
"lat": 31.24088,
"alt": 10,
"spd": 30.0,
"recSpd": 30.0,
"dir": 0
}
}
}