Before switching to live keys, confirm each item:
- Keys are stored server-side only, one key per system, each with the fewest scopes and fleets it needs; tracking-data keys are separate from management keys.
- Every POST, PATCH and DELETE sends an
Idempotency-Keyderived from your own record (order line, customer id), and retries reuse it. - Activations send
external_order_referenceand a uniqueexternal_request_idper intended action. - Customers and fleets are found again by
external_referencerather than by name or email. - Your system treats
202 Acceptedas "requested", not "active", and only shows a service as active afterservice.activation_completedor a completed operation. - Your webhook endpoint verifies the signature on the raw body, rejects old timestamps, answers 2xx within 10 seconds and processes the event afterwards.
- Events are deduplicated by
id, tolerated out of order, and your code re-reads the resource when the order matters. - You handle every error code in Errors, honour
Retry-After, and back off on429and503. - Cancellations in your system call the deactivation endpoint; your customer's retail cancellation never stops Fleetalyse charges by itself.
- Your interface shows service state, device connectivity and SIM state separately and marks tracking data older than 10 minutes as stale.
- Lists follow
next_cursoruntilhas_moreis false. - You tested failures with the magic identifiers, including an unknown outcome (
…0002). - Someone on your team receives the Partner account's security and billing emails.