Real-Time API 1.3.0

This real-time api provides an endpoint for users to subscribe to the alarm and measurements messages. The messages were buffered in a queue when users disconnected from the server and will be retrived once reconnected.

Errors

Any error condition (failed authentication, rate limiting, subscription refused, or an unexpected server-side error) is reported to the client as a STOMP ERROR frame - see components.schemas.StompErrorFrame below. After sending an ERROR frame the server closes the WebSocket connection, per the STOMP protocol.

Known ERROR frame scenarios on this server:

  • Missing/invalid Authorization header on CONNECT - message: invalid authorization. - Rate limited - too many parallel connections - message: Maximum parallel connection limit exceeded. Please close other connections., header error-code: max-connections-reached.
  • Rate limited - too many connection attempts - message: Too many connection attempts. Please wait {ms} ms before retrying., header error-code: rate-limit-exceeded.
  • Subscription refused (missing permission/license for the queue) - message: subscription refused: missing required permission or license for queue: {queue}, header queue: {queue}.
  • Unexpected server-side error while processing any other client frame - message: Unable to process the request. The real cause is logged server-side only and never included in the frame sent to the client.

Servers

  • wss://tds-real-time-api.REGION.ENV.savr.saveris.net/web-socketwssreal-time
    Security:
    • HTTP
      • Scheme: bearer

Operations

  • SEND /queue/username/alarms

    Subscribe to this channel to receive the alarm message. NOTE that the username must match the username you used while acquring the token!

    Operation ID/queue/username/alarms.subscribe

    Available only on servers:

    Accepts one of the following messages:

    • #0

      measurement alarm event

      Message IDsubscribe.message.0
      allOf
      object

      Examples

    • #1

      device/sensor system alarm event

      Message IDsubscribe.message.1
      object

      Detailed information about the alarm.

      object

      Examples

  • SEND /queue/username/measurements

    Note: This channel will be deprecated in the near future. Please use /queue/username/measurements-v2 instead.

    Subscribe to this channel to receive the measurements message. NOTE that the username must match the username you used while acquring the token!

    Operation ID/queue/username/measurements.subscribe

    Available only on servers:

    Accepts the following message:

    measurements

    Message IDsubscribe.message.0
    object

    Detailed information about the measurements.

    object

    Examples

  • SEND /queue/username/measurements-v2

    Subscribe to this channel to receive measurements in the v2 format (MeasurementOutputMessage). Only active after a version switch has been scheduled via the version-settings API. NOTE that the username must match the username you used while acquiring the token!

    Operation ID/queue/username/measurements-v2.subscribe

    Available only on servers:

    Accepts the following message:

    measurements v2

    Message IDsubscribe.message.0
    object

    Detailed information about the measurements (v2 format).

    object

    Examples

Messages

  • #1

    measurement alarm event

    Message IDmeasurement_alarm
    allOf
    object
  • #2

    device/sensor system alarm event

    Message IDsystem_alarm
    object

    Detailed information about the alarm.

    object
  • #3

    measurements

    Message IDmeasurements
    object

    Detailed information about the measurements.

    object
  • #4

    measurements v2

    Message IDmeasurements_v2
    object

    Detailed information about the measurements (v2 format).

    object

Schemas

  • object

    Shape of every STOMP ERROR frame sent by this server. See the "Errors" section above for the concrete scenarios and their message/header values. The connection is closed immediately after this frame is sent.

  • object
  • object
  • object

    Detailed information about the alarm.

  • object

    fields that only exist in measurement alarm type

  • object

    Detailed information about the measurements.

  • object

    Detailed information about the measurements (v2 format).

  • content_lengthstring
  • destinationstring