Skip to main content

Endpoints and Topic Slots

ReferenceAudience: API consumerUse: look up what each endpoint type carries and which slot routes which traffic

An endpoint is a named MQTT connection configuration stored on the reader. Its members are documented in MQTT Endpoints; it is created with config_endpoint and read with get_endpoint_config.

Endpoint Types​

epTypeCarriesStatus
MGMTDevice-management commands, replies and events
MGMT_EVTManagement events on a separate endpointNo published example exercises it; see the deviation below
CTRLRFID control commands and replies
DATA1Tag and barcode data, on the first data channel
DATA2Tag and barcode data, on a second data channelCurrently not supported
MDMA mobile-device-management form of the management endpoint

Topic Slots​

The position of an entry in mqttParams.publishTopics decides what the reader publishes on it. The reader never reads the topic text to decide.

epTypesubscribeTopics[0]publishTopics[0]publishTopics[1]publishTopics[2]
MGMT, MDMRequired: commandsRequired: repliesRecommended: eventsRecommended: Last Will and mqttConnEVT
CTRLRequired: control commandsRequired: control repliesOptional: stored, not used for eventsOptional: Last Will and mqttConnEVT
MGMT_EVTRequired: events are currently published hereNot usedNot usedOptional: Last Will
DATA1Not usedNot used for tag dataRequired: tag dataOptional: Last Will
  • A partial array is read from index 0 upward, so a data endpoint needs a filler entry in slot 0 to put its tag-data topic in slot 1. With one entry, the endpoint is accepted and streams nothing.
  • Swapping two entries re-routes live traffic, and the configuration stays valid.
  • A slot marked "not used" may still be sent and is stored.
  • get_endpoint_config reads the slots back in the same order. A read-back with fewer than three entries does not say which slots are unused, so re-send the full array when you change one entry.

Deviation: MGMT_EVT​

A MGMT_EVT endpoint currently publishes its events on its subscribe topic instead of publishTopics[1]. The API owners record this as a firmware defect to be corrected. Confirm the behavior on your firmware before you build against it.

Limits​

LimitValueCode when exceeded
Publish topics per endpoint325
Subscribe topics per endpoint126
endpointName length15 charactersNot specified
tenantId length48 characters27
An add with a name that exists—10 or 33
Changing an active endpoint—35

Each topic entry has its own qos and retain, and the contract requires both; see Delivery and Retry Semantics. Topics are built as described in Topics and Channels.

Related: 📕 MQTT Endpoints · 📕 Topics and Channels · 📕 config_endpoint · 📘 Endpoints, Topics, and Channels · 📕 Endpoint Configuration

Was this helpful?