Devices

Use the Jetstream REST API to queue commands for your offline devices. When devices are online, commands are not queued; they are executed immediately. The Jetstream REST API may also be used to configure your application. Use GetEvents to begin receiving Jetstream events from deployed devices.

Jetstream devices usually communicate in near real time, utilizing websocket technology. When the devices are actively communicating, they are said to be "online". When there are communication outages, the devices are said to be "offline". When devices are offline, any commands issued to the devices are queued; they are delivered to the devices when they re-establishe communications. Similarly, any events the device publishes are held until the device comes online again.

For developers just getting started, we recommend going through the Jetstream Developers Guide and logging in to the Admin Console to add a device and simulate events. When you are ready to develop, use the Jetstream tools and open source projects to aid you in your journey.

command

Jetstream lets you execute commands for your RFID devices. Devices can be placed on any internet based network; therefore, Jetstream will handle all the complexity of coordinating the delivery, execution and returning the results of your command request. When your devices have are online with Jetstream the commands are executed immediately. If your device if offline the commands are queued until the device establishes the conneciton.

To Execute a Command
  1. Your application calls the Jetstream REST API with a command request.
  2. Jetstream determines if the device is online
  3. The Jetstream REST API returns a unique CommandId.
  4. If the device is online, the command is executed and the results of the command are provided in response.
  5. If the device is not online the command is queued. When the device establishes an active connection, queued commands are then execute in sequential order on the device.
  6. Jetstream queues a CommandCompletionEvent for your application to be picked up using GetEvents
  7. Your application processes the event based on your business rules

More Info

CommandId is the unique identifier to correlate the command request with the resulting CommandCompletionEvent

configuration

At any time you may reconfigure your Jetstream application to add or remove devices, get your current application configuration, determine what types of devices are available to add or keep your devices configured to meet a policy.

To Configure Your Application
  1. Your application calls the Jetstream REST API with a configuration request
  2. The Jetstream REST API configures your application
  3. The Jetstream REST API returns a ConfigureResponse to your application
events

Jetstream automatically publishes device and system events to your application.

To Receive an Event
  1. The device or the Jetstream REST API generates an event
  2. The Jetstream REST API publishes the event
  3. GetEvents recieves the event
  4. Your application processes the event based on your business rules

Jetstream supports multiple RFID device types and abstracts the type of device from your application. Therefore you can configure, command and receive events from any device using the same code. Device metadata is managed through GetDeviceDefinitions which allows devices to define the commands and config values it supports in Jetstream. Device types that support more than just the standard commands can define their own commands using the DeviceSpecificCommand. Finally devices that require custom event data can publish their event data with the standard events using the DeviceExtension elements found in the standard event schemas.