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 - Indicates this is a request to the server.
  • RESPONSE - Indicates this is a response from the server to the client.
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_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:
  • REQUEST - Indicates this is a request to the server.
  • RESPONSE - Indicates this is a response from the server to the client.
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

Status response example

Status_Response