Passer au contenu principal
L’API Chariow utilise des codes de réponse HTTP conventionnels pour indiquer le succès ou l’échec des requêtes.

Format de réponse

Toutes les réponses de l’API suivent un format cohérent :
Les réponses d’erreur contiennent toujours message et errors. Certaines d’entre elles, comme les erreurs d’authentification et de limite de débit, omettent le champ data.

Codes de statut HTTP

Erreurs courantes

Erreurs d’authentification (401)

Ces messages sont toujours renvoyés en anglais :
Solution :

Scope manquant (403)

La clé API est valide mais ne possède pas un scope exigé par l’endpoint :
Causes :
  • La clé a été créée sans le scope exigé par l’endpoint
  • Le rôle du membre de l’équipe qui a créé la clé a été rétrogradé, ce qui a retiré le scope
Solution : ajoutez les scopes listés dans errors.scopes à la clé dans Paramètres → Clés API. Lisez errors.scopes plutôt que message dans votre code, car le message est traduit dans la langue de la requête. Consultez Authentification pour connaître le scope exigé par chaque endpoint.

Ressource non trouvée (404)

Causes :
  • ID de ressource invalide
  • La ressource appartient à une autre boutique
  • La ressource a été supprimée
  • Le produit n’est pas publié (pour les endpoints publics)

Erreurs de validation (422)

Causes :
  • Champs obligatoires manquants
  • Format de champ invalide
  • Non-respect d’une règle métier

Limite de débit dépassée (429)

Solution : attendez le nombre de secondes indiqué dans l’en-tête Retry-After, puis réessayez. Consultez Limites de débit pour plus de détails.

Gestion des erreurs

Exemple en JavaScript

Exemple en PHP

Référence des codes d’erreur

Erreurs de paiement

Erreurs de licence

Bonnes pratiques

Ne présumez jamais qu’une requête a réussi : vérifiez toujours le code de statut HTTP avant de traiter la réponse.
Conservez les réponses d’erreur pour le débogage et la surveillance.
Traduisez les erreurs de l’API en messages compréhensibles pour vos clients.
Pour les erreurs 5xx et les limites de débit, implémentez une logique de réessai avec backoff exponentiel.