ReportingServices ReportingServices
Back to Help

Getting Started

Integrating a telemetry device

ReportingServices ships with two generic inbound endpoints so most sensors and meters can integrate directly, without a custom adapter. Gauge sensors (POST /api/v1/webhooks/inbound/gauge-sensor) — for a device reporting a point-in-time value such as a tank dip reading or a reservoir level. Send {device_id, reading_type, value, timestamp}, or a batch of these under a "readings" key. Meters and counters (POST /api/v1/webhooks/inbound/meter-reading) — for a device reporting a running total or an incremental change, such as a pump meter, weighbridge, or generator-hours counter. Send {device_id, reading_type, reading_kind, value, timestamp}, where reading_kind is "cumulative" or "delta". For both endpoints: device_id must match the external reference you set on the asset, and reading_type must match the name of one of that asset's configured reading types exactly. Every request must be signed — set an inbound webhook secret on the API client from the API Clients page, then include an X-Webhook-Signature header containing the HMAC-SHA256 of the raw request body using that secret. Retried deliveries of the same reading are automatically deduplicated, so it's safe for a device to resend on a timeout. If a device genuinely can't be adapted to either shape, contact support — see the Contact page.