Trip Data
Handling Message Data Duplication
Bouncie communicates data through multiple streams to ensure both robust and timely reception of vehicle metrics. This includes periodic data transmissions that ensure reliable transmission of data and real-time data transmission for immediate updates. Due to this multi-stream approach, developers might observe instances of message data duplication.
Why Duplication Occurs
-
Real-Time Stream: Designed for speed, this stream delivers data as it happens without waiting for previous messages to be confirmed. This will lead to data points that can overlap when paired with the regular transmissions from the Periodic Data stream.
-
Periodic Stream: Designed to ensure data integrity and order, this stream delivers data at regular intervals. As this data will overlap with the data received via the Real-Time Stream, some information will be replicated.
Best Practices for Handling Duplications
-
Unique Identifiers (transactionId): Each trip is associated with a transactionId serving as its unique identifier. We recommend implementing logic in your application to check for and discard any duplicated events based on these transactionId values.
-
Timestamp Analysis: Utilize timestamps to determine the relevancy of data. In some cases, slightly older data received via the Periodic Stream might still be valuable for confirming the accuracy of data captured through the Real-Time Stream. In addition, there are circumstances in which the Periodic Data Stream may contain data that was unable to be transmitted via the Real-Time Stream.
By implementing these practices, developers can efficiently manage data duplication, ensuring the integrity and accuracy of the data processed in their applications. We're committed to providing a high-quality data stream to power your vehicle telematics solutions.
Payload
Example payload
{
"imei": "123456789012345",
"vin": "1HGBIQOJXMN109186",
"transactionId": "123456789012345-1735920000-202501",
"data": [
{
"timestamp": "2026-01-01T010:01:00.000Z",
"speed": 45,
"gps": {
"lat": 32.7767432,
"lon": -96.7970123,
"heading": 135
},
"fuelLevelInput": 75.5
}
]
}Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.