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

  1. 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.

  2. 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.

postWebhooktripData

Payload

eventType'tripData' required

Event type

imeistring required

IMEI of the device that sent the event

vinstring required

VIN of the vehicle that sent the event

transactionIdstring required

Unique identifier for the trip

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.