DeviceCommand

Represents a device command, a unit of information sent to devices.

Methods

MethodAuthorizationUriDescription
queryAccess JSON Web Token (GetDeviceCommand)GET /device/{deviceId}/commandQueries device commands.
getAccess JSON Web Token (GetDeviceCommand)GET /device/{deviceId}/command/{commandId}Gets information about device command.
insertAccess JSON Web Token (CreateDeviceCommand)POST /device/{deviceId}/commandCreates new device command.
updateAccess JSON Web Token (UpdateDeviceCommand)PUT /device/{deviceId}/command/{commandId}Updates an existing device command.
pollAccess JSON Web Token (GetDeviceCommand)GET /device/{deviceId}/command/{commandId}/pollPolls new device commands.
This method returns all device commands that were created after specified timestamp.
In the case when no commands were found, the method blocks until new command is received. If no commands are received within the waitTimeout period, the server returns an empty response. In this case, to continue polling, the client should repeat the call with the same timestamp value.
waitAccess JSON Web Token (GetDeviceCommand)GET /device/{deviceId}/command/{commandId}/pollWaits for a command to be processed.
This method returns a command only if it has been processed by a device.
In the case when command is not processed, the method blocks until device acknowledges command execution. If the command is not processed within the waitTimeout period, the server returns an empty response. In this case, to continue polling, the client should repeat the call.
pollManyAccess JSON Web Token (GetDeviceCommand)GET /device/command/pollPolls new device commands.
This method returns all device commands that were created after specified timestamp.
In the case when no commands were found, the method blocks until new command is received. If no commands are received within the waitTimeout period, the server returns an empty response. In this case, to continue polling, the client should repeat the call with the same timestamp value.

Resource Representation

{
    "id": {integer},
    "timestamp": {datetime},
    "userId": {integer},
    "deviceId": {string},
    "networkId": {integer},
    "deviceTypeId": {integer},
    "command": {string},
    "parameters": {object},
    "lifetime": {integer},
    "status": {string},
    "result": {object},
    "lastUpdated": {datetime}
}
Property NameTypeDescription
idintegerCommand identifier.
commandstringCommand name
timestampdatetimeCommand UTC datetime (yyyy-MM-dd'T'HH:mm:ss.SSS ISO 8601).
userIdintegerAssociated user identifier.
deviceIdstringDevice unique identifier.
networkIdintegerNetwork unique identifier.
deviceTypeIdintegerDevice type unique identifier.
parametersobjectCommand parameters, a JSON object with an arbitrary structure.
lifetimeintegerCommand lifetime, a number of seconds until this command expires.
statusstringCommand status, as reported by device or related infrastructure.
resultobjectCommand execution result, an optional value that could be provided by device.
lastUpdateddatetimeLast command update UTC datetime (yyyy-MM-dd'T'HH:mm:ss.SSS ISO 8601).