Enveloppe de réponse standard
Une réponse réussie comporte toujourssuccess: true, un statut HTTP 2xx et un objet data contenant le résultat. Le tableau links contient les liens de pagination ou de ressources associées, le cas échéant.
boolean
requis
true pour toute réponse réussie.integer
requis
Reprend le code de statut HTTP (par exemple
200, 201).string
requis
Une description lisible du résultat.
object | array
La charge utile de cette réponse. Un objet pour les points de terminaison à ressource unique ; un tableau pour les points de terminaison de liste.
array
Curseurs de pagination ou liens de ressources associées. Vide (
[]) lorsque non applicable.Enveloppe d’erreur
Lorsqu’une requête échoue,success vaut false et l’enveloppe ajoute un champ name lisible par machine, que vous pouvez utiliser pour piloter la logique de gestion des erreurs sans analyser la chaîne message.
boolean
requis
Toujours
false pour les réponses d’erreur.integer
requis
Le code de statut HTTP. Notez l’orthographe en camelCase (
statusCode) sur les réponses d’erreur, contrairement à status_code sur les réponses réussies.string
requis
Un identifiant d’erreur lisible par machine. Utilisez ce champ, et non
message, pour orienter votre logique de gestion des erreurs.string
requis
Une description lisible de ce qui s’est mal passé. Utile pour la journalisation ; n’analysez pas cette chaîne par programme.
Codes de statut HTTP
Noms d’erreur lisibles par machine
Utilisez le champname dans le code de votre application pour gérer des conditions d’erreur spécifiques sans vous appuyer sur les chaînes de message, qui peuvent changer.
Gérer les erreurs dans le code
Recommandations de nouvelle tentative
Toutes les erreurs ne justifient pas une nouvelle tentative. Utilisez ce tableau pour décider quand réessayer automatiquement et quand signaler l’erreur à l’opérateur.Back-off exponentiel pour les erreurs 429 et 5xx
Lorsque vous recevez une réponse429 ou 5xx, patientez avant de réessayer. Voici une stratégie simple de back-off exponentiel :
Python
Pour
429 Too Many Requests, vérifiez si la réponse inclut un en-tête Retry-After indiquant exactement combien de secondes attendre avant d’envoyer la requête suivante.Pagination sur les points de terminaison de liste
Les points de terminaison de liste (par exempleGET /v2/api/entities) utilisent la pagination par décalage (offset). Le tableau links de l’enveloppe de réponse contient les URL de curseur next et prev lorsque d’autres pages sont disponibles. Les flux à fort volume, tels que les signaux, prennent également en charge la pagination par curseur, à privilégier pour les charges de travail d’interrogation en production.