This documentation details the JSON schema and usage guidelines for capturing RFID tag location events. It also covers connection details for publishing to a Confluent Cloud Kafka topic using SCRAM/TLS.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "DocumentLogEpcLocation",
"type": "object",
"properties": {
"epc": {
"type": "string",
"description": "Electronic Product Code, a unique identifier for RFID tags."
},
"x": {
"type": "number",
"description": "X coordinate of the tag's location (required if using x/y approach)."
},
"y": {
"type": "number",
"description": "Y coordinate of the tag's location (required if using x/y approach)."
},
"floorNumber": {
"type": "number",
"description": "Floor or elevation of the tag's location (required if x and y are provided)."
},
"epochMillis": {
"type": "integer",
"description": "The time of the event in epoch milliseconds."
},
"zoneId": {
"type": "string",
"description": "The zone within a facility where the tag was detected. If this is provided, x, y, and floorNumber are not required."
},
"placeId": {
"type": "string",
"description": "A combination of a 2-character country code, an underscore, and a 4-character store number."
},
"macAddress": {
"type": "string",
"description": "MAC address of the RFID reader."
},
"rssi": {
"type": "number",
"description": "Received Signal Strength Indicator."
}
},
"required": [
"epc",
"epochMillis",
"placeId"
],
"oneOf": [
{
"required": ["zoneId"]
},
{
"required": ["x", "y", "floorNumber"]
}
]
}
| Field | Type | Required? | Description |
|---|---|---|---|
| epc | String | Yes | Electronic Product Code, a unique identifier for RFID tags. |
| x | Double | Conditional |
X coordinate of the tag's location. Required if not using
zoneId (i.e., if you choose x/y/floorNumber).
|
| y | Double | Conditional |
Y coordinate of the tag's location. Required if not using
zoneId (i.e., if you choose x/y/floorNumber).
|
| floorNumber | Number | Conditional |
Floor or elevation of the tag's location. Required if x
and y are provided.
|
| epochMillis | Integer | Yes | The time of the event, in milliseconds since the Unix epoch. |
| zoneId | String | Conditional |
The zone where the tag was detected. Required if not using
x, y, and floorNumber.
|
| placeId | String | Yes |
Combines a 2-character country code, an underscore, and a
4-character store number (e.g., US_1234).
|
| macAddress | String | No | MAC address of the RFID reader. |
| rssi | Float | No | Received Signal Strength Indicator. |
The following diagram illustrates how you can choose either
zoneId + placeId (unique per tenant), or
x + y + floorNumber + placeId
to specify the tag's location:
Option 1 (Using x, y, floorNumber):
{
"epc": "300833B2DDD9014000000000",
"x": 45.232,
"y": 12.487,
"floorNumber": 2,
"epochMillis": 1609459200000,
"placeId": "US_1234",
"macAddress": "00:1A:2B:3C:4D:5E",
"rssi": -67.5
}
Option 2 (Using zoneId):
{
"epc": "300833B2DDD9014000000000",
"zoneId": "Z123",
"epochMillis": 1609459200000,
"placeId": "US_1234",
"macAddress": "00:1A:2B:3C:4D:5E",
"rssi": -67.5
}
The feed is published to Confluent Cloud using SCRAM/TLS authentication. Below are the required connection parameters: