Idempotence et modifications simultanées
Évitez les doublons lors d'une nouvelle tentative et n'écrasez jamais par erreur une version plus récente.
Idempotency-Key
Une erreur réseau ou un délai d'attente dépassé ne signifie pas que votre requête a échoué. Avec un POST, envoyez donc un en-tête Idempotency-Key contenant une valeur unique, par exemple un UUID :
curl -X POST "https://app.klantly.com/api/v1/customers" \
-H "Authorization: Bearer $KLANTLY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f" \
-d '{"email": "jan@example.com"}'- Si vous renvoyez la même requête avec la même clé, vous obtenez la même réponse, avec l'en-tête
Idempotent-Replayed: true. Rien n'est créé en double. - La même clé avec un autre corps renvoie
422 idempotency_key_reused. - Si la première requête est encore en cours, vous obtenez
409 idempotency_in_progress.
Une Idempotency-Key est valable 24 heures, par clé API.
ETag et If-Match
Chaque objet seul est accompagné d'un en-tête ETag. Envoyez-le dans If-Match lorsque vous faites un PATCH :
PATCH /api/v1/customers/9d3f6c1e-4b2a-4c8e-9f1a-2b3c4d5e6f70 HTTP/1.1
Authorization: Bearer kly_4fZ2mQ8v...
If-Match: "3f2c9a41d6e8b07c5a2f"
Content-Type: application/jsonSi quelqu'un d'autre a modifié l'enregistrement entre-temps, vous obtenez 412 precondition_failed et rien ne change. Récupérez à nouveau l'enregistrement et réessayez. Sans If-Match, la modification est simplement appliquée.
Dernière mise à jour le 14 septembre 2026