flexyPage Messenger MQTT API Definition 2.2.0

The flexyPage Messenger is a tool for the message communication between a messaging center and the flexyPage device, e.g. elevator displays. The communication is facilitated via an MQTT broker. This document describes the relevant topics and payloads to communicate TO a device and understand its responses.

Servers

  • mqtt.messenger.flexypage.netmqtt 5.0.0production

Operations

  • RECEIVE messenger/client/{clientId}/connected

    Operation IDpublish

    Available only on servers:

    object
    clientId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-1>
    Message ID<anonymous-message-1>

    An event describing that a client is connected to the broker uniquely identified by its client id.

    This topic should be used in the last will and testament (LWT). The payload should be then set to "0" and a message-expiry-interval of 1 should be set.

    Payload
    integer

    [int] A value describing the connection status of an entity. Values could be a "0" for disconnected or a "1" for connected.

      Allowed values:
    • "DISCONNECTED=0"
    • "CONNECTED=1"
    object
    object

    Examples

  • SEND messenger/{serialNumber}/accept-connection

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-2>
    Message ID<anonymous-message-2>

    An event describing that the device implementing this protocol accepts connections from the server.

    Payload
    integer

    [int] A value describing if connections are accepted. Values could be a 0 for ignoring connection requests or a 1 for accepting connection requests from server.

      Allowed values:
    • "IGNORE=0"
    • "ACCEPT=1"
    object
    object

    Examples

  • RECEIVE messenger/{serialNumber}/init/request

    Operation IDpublish

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-3>
    Message ID<anonymous-message-3>

    An event describing that a client request the device to initiate the communication with the messaging center. The clientId in the payload helps the device to identify the communication partner and react on a disconnect.

    Payload
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Holds the client id of a client on the broker.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/init

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-4>
    Message ID<anonymous-message-4>

    An event describing that a device just initialised the communication with the messaging center.

    Payload
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Holds the chat id used to group and bundle the messages and responses into a chat.

    object
    object

    Examples

  • RECEIVE messenger/{serialNumber}/{chatId}/acknowledged

    Operation IDpublish

    Available only on servers:

    object
    serialNumber
    required
    string
    chatId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-5>
    Message ID<anonymous-message-5>

    An event describing that a message center received the communication initiation for the given chatId.

    array<object>

    Should send an array of available languages.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/{chatId}/language

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string
    chatId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-6>
    Message ID<anonymous-message-6>

    An event describing the language selected for the chat identified by the given chat id.

    Payload
    string

    [ std::string ] Locale string.

    object
    object

    Examples

  • RECEIVE messenger/{serialNumber}/{chatId}/message

    Operation IDpublish

    Available only on servers:

    object
    serialNumber
    required
    string
    chatId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-7>
    Message ID<anonymous-message-7>

    An event describing the sending of a message to the device identified by the serial number in a chat identified by the chat id.

    object

    The message object containing a yes or no question, a multiple choice question or a simple statement.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/{chatId}/message/{messageId}/answer

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string
    chatId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/
    messageId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-8>
    Message ID<anonymous-message-8>

    An event describing the sending of an answer to the messaging center from the device identified by the serial number in a chat identified by the chat id to the message identified by message id.

    Payload
    string

    [ std::string ] Index in answers array of message.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/{chatId}/device/goodbye

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string
    chatId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-9>
    Message ID<anonymous-message-9>

    An event describing that the device identified by serial number ended the communication on the chat identified by chat id.

    Payload
    string

    [ std::string ] Should send an empty message.

    object
    object

    Examples

  • RECEIVE messenger/{serialNumber}/{chatId}/center/goodbye

    Operation IDpublish

    Available only on servers:

    object
    serialNumber
    required
    string
    chatId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-10>
    Message ID<anonymous-message-10>

    An event describing that the messaging center identified by clientId ended the communication to the device identified by serial number on the chat identified by chat id.

    Payload
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Holds the client id of a client on the broker.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/connected

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-11>
    Message ID<anonymous-message-11>

    An event describing MQTT client from device identified by serial number is connected to the mqtt broker.

    Payload
    integer

    [int] A value describing the connection status of an entity. Values could be a "0" for disconnected or a "1" for connected.

      Allowed values:
    • "DISCONNECTED=0"
    • "CONNECTED=1"
    object
    object

    Examples

  • SEND messenger/{serialNumber}/camera/connected

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-12>
    Message ID<anonymous-message-12>

    An event describing that the device identified by serial number has a camera connected.

    Payload
    integer

    [int] A value describing the connection status of an entity. Values could be a "0" for disconnected or a "1" for connected.

      Allowed values:
    • "DISCONNECTED=0"
    • "CONNECTED=1"
    object
    object

    Examples

  • SEND messenger/{serialNumber}/camera/snapshot

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-13>
    Message ID<anonymous-message-13>

    An event containing an base64 encoded image, that holds an image. That can be used for unrequested images.

    Payload
    string
    format: base64

    [ std::string ] Base64 encoded jpeg image string.

    object
    object

    Examples

  • RECEIVE messenger/{serialNumber}/camera/snapshot/take

    Operation IDpublish

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-14>
    Message ID<anonymous-message-14>

    An event describing that the camera should take an image snapshot. The snapshot should be published with the given uuid in the payload and should have the dimensions specified by width and height.

    object

    The object information about how the snapshot should be taken and published. imageId specifies the uuid under which the image should be published. width and height specify the dimensions in which the image should be taken. A 0 value for both means max resolution of camera. Is only one value given the image should be scaled to this width or height in pixels while keeping the aspect ratio fixed.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/camera/snapshot/{imageId}

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string
    imageId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-15>
    Message ID<anonymous-message-15>

    An event containing an base64 encoded image, that holds the image that was requested with an camera/snapshot/take event.

    Payload
    string
    format: base64

    [ std::string ] Base64 encoded jpeg image string.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/camera/snapshot/{imageId}/error

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string
    imageId
    required
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Accepts the following message:

    <anonymous-message-16>
    Message ID<anonymous-message-16>

    An event containing an error string, if the image creation was not successful.

    Payload
    string

    [ std::string ] Human readable error string

    object
    object

    Examples

  • SEND messenger/{serialNumber}/help-on-site

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-17>
    Message ID<anonymous-message-17>

    An event describing that help arrived on installation site of the device implementing this protocol.

    Payload
    any

    Endpoint does not carry a payload.

    object
    object

    Examples

  • SEND messenger/{serialNumber}/local/stream/supported

    Operation IDsubscribe

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-18>
    Message ID<anonymous-message-18>

    A signal notifying if a udp jpeg stream is supported.

    Payload
    boolean

    [bool] True if in jpeg stream is supported.

    object
    object

    Examples

  • RECEIVE messenger/{serialNumber}/local/stream/start

    Operation IDpublish

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-19>
    Message ID<anonymous-message-19>

    A signal triggering the start of an udp jpeg stream to port 5004 on the configured ECP device.

    object
    object

    Examples

  • RECEIVE messenger/{serialNumber}/local/stream/stop

    Operation IDpublish

    Available only on servers:

    object
    serialNumber
    required
    string

    Accepts the following message:

    <anonymous-message-20>
    Message ID<anonymous-message-20>

    A signal triggering the stop of an udp jpeg stream to port 5004 on the configured ECP device.

    object
    object

    Examples

Schemas

  • connectedStatus
    integer

    [int] A value describing the connection status of an entity. Values could be a "0" for disconnected or a "1" for connected.

      Allowed values:
    • "DISCONNECTED=0"
    • "CONNECTED=1"
  • acceptConnectionStatus
    integer

    [int] A value describing if connections are accepted. Values could be a 0 for ignoring connection requests or a 1 for accepting connection requests from server.

      Allowed values:
    • "IGNORE=0"
    • "ACCEPT=1"
  • object

    A language object containing a locale string and an image depicting the language.

  • object

    The message object containing a yes or no question, a multiple choice question or a simple statement.

  • object

    The object information about how the snapshot should be taken and published. imageId specifies the uuid under which the image should be published. width and height specify the dimensions in which the image should be taken. A 0 value for both means max resolution of camera. Is only one value given the image should be scaled to this width or height in pixels while keeping the aspect ratio fixed.

  • imageId
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Holds the image id used uniquely identify an image in the whole system.

  • serialNumber
    string

    [ std::string ] The serial number of the device the communication happens with.

  • messageId
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Holds the message id used uniquely identify a message in the whole system.

  • chatId
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Holds the chat id used to group and bundle the messages and responses into a chat.

  • clientId
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    Holds the client id of a client on the broker.

  • answer
    string

    [ std::string ] An answer option as string.

  • base64Image
    string
    format: base64

    [ std::string ] Base64 encoded jpeg image string.

  • UUID
    string
    format: uuid,rawmust match: /[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/

    [ std::string ] A UUID