Klantly Developers

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
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 :

HTTP
PATCH /api/v1/customers/9d3f6c1e-4b2a-4c8e-9f1a-2b3c4d5e6f70 HTTP/1.1
Authorization: Bearer kly_4fZ2mQ8v...
If-Match: "3f2c9a41d6e8b07c5a2f"
Content-Type: application/json

Si 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