ChirpStack uplink adapter
Map ChirpStack v4 JSON application uplinks without coupling your business logic to provider fields.
Input mapping
| ChirpStack field | Ghost field |
|---|---|
| deduplicationId | eventId |
| deviceInfo.devEui | device.devEui |
| deviceInfo.applicationId | applicationId |
| time / fCnt / fPort | receivedAt / frameCounter / fPort |
| data / object | payloadBase64 / decoded |
import {fromChirpStack} from './uplink.mjs';
const event = fromChirpStack(body, trustedBinding);Receiver responsibilities
Authenticate the request before parsing business fields. Bound request size, validate the integration’s application and authorize the device. Persist the normalized event before acknowledging acceptance. Your HTTP or MQTT receiver must distinguish uplinks from other event types.
Acceptance checks
Replay an actual development-device event in a private environment. Confirm frame counter and payload presence, compare normalized identity to your registry, then redeliver the same event to exercise durable deduplication. Our included fixtures are fictional, not evidence of a commissioned device.
Provider reference
ChirpStack event definitions ↗Provider behaviour should be verified against the version you deploy.