Idempotency
Como tornar integrações seguras contra retries e entregas duplicadas.
A Routal não expõe hoje um header Idempotency-Key. A alavanca de idempotência é o campo external_id de cada recurso (stop, vehicle), combinado com o padrão search-then-create.
Três padrões que cobrem 95% dos casos
- Search-then-create por
external_id— antes de criar, busque comPOST /v2/stops/searchporexternal_id; se existe, reuse. - Bulk-list-and-diff no arranque — no início do job, liste os recursos existentes uma vez, construa um Set em memória com os
external_id, e compare com sua fonte. - Webhook handler idempotente — deduplique pela tripla
(event_id, data.id, data.updated_at).
Os snippets de implementação detalhados de cada padrão (TS + Python + cURL) vivem em inglês.
