Passer au contenu principal
Chaque réponse de l’API Youverify, qu’elle soit un succès ou un échec, suit la même structure d’enveloppe JSON. En concevant votre intégration autour de cette structure cohérente, vous n’écrivez votre code de traitement des réponses qu’une seule fois et il fonctionne pour tous les points de terminaison.

Enveloppe de réponse standard

Une réponse réussie comporte toujours success: 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.
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 champ name 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éponse 429 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 exemple GET /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.