Webhooks
Kolis envoie un POST JSON à votre adresse à chaque changement. Répondez 2xx en moins de 8 secondes.
Événements
delivery.createdLa livraison est enregistréedelivery.searchingRecherche d'un livreurdelivery.assignedUn livreur a acceptédelivery.picked_upColis récupérédelivery.deliveredRemis contre le codedelivery.cancelledAnnulée (motif fourni)delivery.failedÉchec après ramassagedelivery.delayedRetard annoncé par le livreur (data.delivery.delay_minutes cumulé, delay_reason)
{
"id": "evt_3f9a…",
"type": "delivery.assigned",
"api_version": "2026-11-01",
"created": "2026-11-10T10:04:12Z",
"mode": "live",
"data": { "delivery": { "id": "7CAE5146", "external_ref": "CMD-1042", "status": "assigned", "reason": null } }
}import { verifyWebhookSignature } from "./kolis";
app.post("/hooks/kolis", express.raw({ type: "*/*" }), (req, res) => {
const ok = verifyWebhookSignature(process.env.WHSEC, req.header("x-kolis-signature"), req.body.toString());
if (!ok) return res.sendStatus(400);
// dédoublonner avec x-kolis-event-id, puis répondre vite
res.sendStatus(200);
});Fiabilité
- SignatureX-Kolis-Signature : t=…,v1=… (HMAC-SHA256)
- DoublonsX-Kolis-Event-Id identique à chaque reprise
- ReprisesAprès 1, 5, 30, 120, 720 minutes
- Rotation du secretDeux signatures pendant 24 h
- OrdreNon garanti : utilisez le champ created