Format de reponse d’erreur
Champs d’erreur
| Champ | Type | Description |
|---|---|---|
type | string | Categorie d’erreur (voir tableau ci-dessous) |
code | string | Code d’erreur stable pour le traitement programmatique |
message | string | Explication lisible incluant la valeur en echec |
retryable | boolean | Indique si la requete peut etre retentee |
request_id | string | Identifiant unique de cette requete — a inclure dans les tickets de support |
doc_url | string | Lien vers la documentation de cette erreur |
param | string | Le parametre ayant cause l’erreur (le cas echeant) |
suggestion | string | Action recommandee (peut inclure des noms d’endpoints) |
errors | array | Erreurs au niveau des champs pour les echecs de validation |
retry_after_seconds | integer | Secondes a attendre avant de reessayer (rate limits uniquement) |
Types d’erreur
| Type | Code HTTP | Quand |
|---|---|---|
authentication_error | 401 | API key invalide, manquante ou expiree |
permission_error | 403 | Cle valide mais scope insuffisant |
validation_error | 400 | Entree incorrecte, parametres manquants, mauvais format |
not_found_error | 404 | La ressource n’existe pas |
conflict_error | 409 | Doublon ou conflit d’etat |
rate_limit_error | 429 | Trop de requetes (toujours retryable: true) |
server_error | 500 | Erreur interne |
Request ID
Chaque reponse inclut unrequest_id (format : req_ + 12 caracteres alphanumeriques). Vous pouvez egalement envoyer le votre via le header X-Request-Id — l’API l’utilisera au lieu d’en generer un.
Erreurs de validation
Lorsque plusieurs champs echouent a la validation, le tableauerrors liste chacun d’entre eux :
Format des numeros de telephone
Tous les numeros de telephone doivent etre au format E.164 :+ suivi du code pays et du numero, sans espaces ni tirets.
Idempotence
Tous les endpoints d’ecriture (POST, PUT, DELETE) supportent un header optionnelIdempotency-Key pour reessayer les requetes en toute securite.
Comment ca fonctionne
- Envoyez un header
Idempotency-Keyunique avec votre requete d’ecriture (par exemple, un UUID) - Si la requete reussit (2xx), la reponse est stockee pendant 1 heure
- Si vous envoyez la meme cle au meme endpoint, l’API retourne la reponse stockee avec un header
Idempotency-Replayed: true— l’operation n’est pas re-executee - Si la requete echoue (4xx/5xx), la cle n’est pas consommee — vous pouvez reessayer avec la meme cle jusqu’a ce que la requete reussisse
Exemple
Reutilisation des cles entre endpoints
Utiliser la meme cle d’idempotence pour un endpoint ou une methode HTTP differente retourne une erreur409 avec le code IDEMPOTENCY_KEY_REUSE.
Headers de reponse
| Header | Description |
|---|---|
Idempotency-Key | Renvoye sur toutes les requetes qui incluent le header |
Idempotency-Replayed | Defini a true lorsque la reponse est rejouee depuis le cache |