Status
The Status protocol is used to provide status and telematics information to the infrastructure for status tracking and analytics.
Status request
The status request structure is shown below.
Status request header structure
The following table depicts the status request header structure.
Field | Required | Type | Description | Example Value(s) |
---|---|---|---|---|
protocol | yes | Object | Metadata about the protocol that is being used. | N/A |
protocol.name | yes | String | A name key that identifies the protocol. | Status |
protocol.version | yes | String | The version of the protocol that is being used. | 4.0.0 |
protocol.type | yes | String | The type of the protocol. Possible values are:
|
REQUEST |
tenantId | yes | String | The identifier of the tenant that this endpoint belongs to. | example_tenant |
deviceId | yes | String | The unique identifier for the device on the given tenant. | 1XKADP9X7CJ328889 |
sourceId | yes | String | The originating source of the request. | ENDPOINT |
sessionId | yes | String | A client-generated value that should uniquely identify a series of transactions that are related to each other. | 1220320-231ffw |
Status request body structure
The following table depicts the structure of the body of the status request.
Field | Required | Type | Description | Example Value(s) |
---|---|---|---|---|
nodes | yes | Array | An array of nodes that represents the anatomy of the endpoint. | N/A |
nodes.id | yes | String | The unique identifier of the node within the endpoint. | ECU121234897 |
nodes.status | no | Object | The status of the node within the endpoint. | N/A |
nodes.status.message | yes | String | A message that provides extra information about the status. | Idle |
nodes.status.timestamp | yes | Long | The time stamp of the occurrence of the state in milliseconds epoch time. | 5734010100 |
nodes.status.code | yes | String | A code that indicates what the current status of this node in the endpoint is. | 0 |
nodes.properties | no | Array | An array of key value pairs the define properties or state of the node in the endpoint. | N/A |
nodes.properties.key | yes | String | The key of the property | locale |
nodes.properties.value | no | String | The value of the property. | en_CA |
nodes.releases | no | Array | An array of releases the node in the endpoint currently has installed or if desired that have been installed over time. | N/A |
nodes.releases.category | yes | String | The category of the release. | FULL |
nodes.releases.version | yes | String | The version of the release within the category. | 3.0.0.0 |
nodes.releases.revision | no | Integer | The revision of the version of the release within the category. If not specified revision 0 (the first revision) is assumed. | 0 |
nodes.releases.status | no | Object | The status of the update within the node. | N/A |
nodes.releases.status.code | yes | String | A code that indicates what the current status of this release in the node is. | Complete |
nodes.releases.status.timestamp | yes | Long | The time stamp of the occurance of the state in milliseconds epoch time. | 5734010100 |
nodes.releases.status.message | yes | String | A message that provides extra information about the status. | 0 |
nodes.releases.packages | no | Array | An array of packages in the release. | N/A |
nodes.releases.packages.packageId | yes | String | The id of the package in the release. | adas.ecu.example_tenant |
nodes.releases.packages.version | yes | String | The version of the package in the release. | 2.0.0.0 |
nodes.releases.packages.checksum | no | String | The checksum of the package in the release. This is helpful for integrity checks. | afoije4w980753u8h46t |
nodes.releases.packages.status | no | Object | The status of the update for the package within the release. | N/A |
nodes.releases.packages.status.message | no | String | A message that provides extra information about the status. | Installation Complete |
nodes.releases.packages.status.timestamp | yes | Long | The time stamp of the occurance of the state in milliseconds epoch time. | 5734010100 |
nodes.releases.packages.status.code | no | String | A code that indicates what the current status of this package in the release is. | 0 |
Status request URL
POST https://ps.dcms.blackberry.com/dmps/status/4.0.0
Status request example
The following is an example of a status request.
Status response
The status response strcuture is shown below.
Status response body
The table below provides the fields required in the body of a status response.
Field | Required | Type | Description | Example Value(s) |
---|---|---|---|---|
protocol | yes | Object | Metadata about the protocol that is being used. | N/A |
protocol.name | yes | String | A name key that identifies the protocol. | Status |
protocol.version | yes | String | The version of the protocol that is being used. | 4.0.0 |
protocol.type | yes | String | The type of the protocol. Possible values are:
|
RESPONSE |
tenantId | yes | String | The identifier of the tenant that this endpoint belongs to. | example_tenant |
deviceId | yes | String | The unique identifier for the device on the given tenant. | 1XKADP9X7CJ328889 |
sessionId | yes | String | A client-generated value that should uniquely identify a series of transactions that are related to each other. | 1220320-231ffw |
status.code | yes | String | A server-generated code that indicates the result of sending the request to the server. | 0 |
status.message | yes | String | A message the correlates to the status code and provides additional information about the code. | Success |