api-title-dd-mgnt.png

Depending on your edge device configuration or network, your application may need to send configuration or other commands. Using API's provided, the application can send outbound information to your end points, including those that may require wakeup. Support for various cellular network subscription services insure maximum value for your connection.

 

MachineShop Device and Data Source Management services allows access to a set of API’s that will enable an application to fully control the data sources associated with the account. By having bi-directional data paths via API, your application can send any available commands to the data_source. For example, you can update the data source (device) configuration. A wide variety of API’s are available to allow the application to understand the parameters than can be adjusted and easily create a command to the data_source without any knowledge of the actual command structure or network connection.

Representative samples of API’s available within our Device and Data Managemen Services:

/platform/data_sources/{id}/commands/configure

Description: A transaction can be queued for sending to the specific data source id to send it a command to change its configuration. Other API’s are available for the application to inquire the specific fields that can be modified.

In this example, we want to change the frequency value for a specific data_source to the value 300. MachineShop Device and Data Managemen Services services will manage the translation of this POST into an actual command that will be relayed to the data source. MachineShop will also manage any specific requirements to “wakeup” the device which may include notifications via an alternative method.

The POST actually creates a transaction with the service which is assigned a transaction id. When the transaction is completed (or times out due to an error) a callback is posted to the application.

Example: POST /platform.data_sources/54bfe11114ce6fa755000009/commands/configureView

{
    “command_status” : “queued for execution”,
    “tx_id” : “53e2612114ce6faa03000001"
}
 
Once the command is executed and acknowledged by the data source, the following would be send via POST http to https://callback.application.com containing the information reported by the data_source upon completion of the command.


{"_id": "54d27d946db0c96dbf000001",
  "created_at": "2015-02-04T17:49:07Z",
  "data_source_datetime": "2015-02-04T17:49:26+00:00",
  "data_source_id": "54b0236b6db0c93f580003b4",
  "deleted_at": null,
  "duplicate": false,
  "edge_data_source_name": null,
  "payload": {
    "tx_id": "53e2612114ce6faa03000001",
    “protocol_version": “020102",
    “device_name": “83671029998884",
    “serial_number": "431E",
    "send_time": "2015-02-04T17:49:26Z",
    "count_number": "E768",
    "tail_character": "$"
  },
  "profile_timestamps": {
    "data_source": "2015-02-04 17:49:26.000 UTC",
    "worker": "2015-02-04 17:49:07.493 UTC"
  },
  "raw_data": "+ACK:GTCFG/ 020109/ 359464036002587/83671029998884/ 431e/ 20150204174926/ E768/ $",
  "report_processor": "java",
  "stale": false,
  "updated_at": "2015-02-04T17:49:07Z"
}
{
    “callback_url” : “https://callback.application.com/configure_response”,
    “callback_headers” : { “Content-Type” : “application/json” },
    “callback_timeout” : 180,
    “command_params” : { “frequency” : 300},
    “command_array_params” : {“fields” : [ “time”, “temp”, “lat”, “lng”]}
}

/data_sources/{id}/activate_sim

Description: A service is available that will activate a wireless subscription on various carriers that have connectivity to MachineShop. The activation service is unified across all carriers in such a way that the service can be activated on any carrier with the same API service without regard to specifics of that carrier’s API. Services are available as a RESTful API regardless of the API method for the carrier’s system.

Generally, users would also subscribe to our storage services in order to create keychains that would contain the specific API access tokens for the various carriers. Otherwise, those tokens will need to be specified within the service call.

Example: PUT /data_sources/54b0236b6db0c93f580003b4/activate_simView

{ 
    "edit_terminal_response": 
       { "correlation_id": null, 
         "carrier_api_version": "5.61", 
         "carrier_build": "5.76-150109-110862", 
         "timestamp": "2015-02-04T21:17:24.788Z", 
         "iccid": "89022704252305659606", 
         "effective_date": "2015-02-04",
         “carrier_request_id": "mUhiDvKgcPoNN47r" 
      } 
}

This call will activate the subscription service that is associated with this specific data_source. Specifics about the SIM would have been loaded into the data_source upon creation such as MSISDN or IMEI as needed for the carrier network.

MachineShop’s Ecosystem

Join the growing network of organizations leveraging Connected Services

Get Started
As Seen in