Erreurs
Les erreurs suivent le format standard RFC 9457 (application/problem+json). Seul l'endpoint /oauth/token utilise le format OAuth2 (voir Authentification).
Format
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json
{
"type": "https://o-ven.com/developers/errors#invalid_parameter",
"title": "Paramètre invalide",
"status": 400,
"detail": "La fenêtre `from` / `to` ne peut pas dépasser 93 jours.",
"request_id": "req_9d2e41c0a7b34f5e8c1d6a2b3f4e5d6c"
}type: URL de la documentation du code d'erreur (cette page). Le fragment après#est le code, stable : c'est lui qu'il faut tester dans votre programme.title: libellé court, lisible.status: statut HTTP, identique à celui de la réponse.detail: explication propre à cette occurrence (paramètre en cause…). Optionnel, destiné à un humain : ne le parsez pas.request_id: identifiant de l'appel, également renvoyé dans l'en-têteX-Request-Idde toutes les réponses. Communiquez-le au support.
Codes d'erreur
Cause. Un paramètre est absent, mal formé ou incohérent : date sans fuseau, to antérieur à from, fenêtre de plus de 93 jours, limit hors bornes, cursor modifié ou réutilisé avec d'autres filtres, valeur d'énumération inconnue.
Que faire. Corrigez la requête à l'aide du champ detail, qui nomme le paramètre en cause. Ne réessayez pas à l'identique.
Cause. Votre accès n'inclut pas le scope requis par cet endpoint (indiqué dans detail).
Que faire. Demandez à l'administrateur de l'enseigne d'ajouter le scope à votre accès. Les tokens existants en bénéficient immédiatement.
Cause. L'accès est restreint à une liste d'adresses IP et la vôtre n'en fait pas partie.
Que faire. Appelez l'API depuis une adresse autorisée, ou demandez à l'enseigne d'ajouter votre adresse.
Cause. L'API n'est disponible que si au moins un restaurant de l'enseigne a un abonnement O-Ven actif. Ce n'est plus le cas.
Que faire. Contactez l'enseigne. L'accès redevient disponible dès que l'abonnement est réactivé.
Cause. L'endpoint n'existe pas, ou l'objet demandé n'existe pas ou n'appartient pas à votre périmètre (restaurant, commande, salarié d'un autre restaurant…). Les deux cas sont volontairement indiscernables.
Que faire. Vérifiez l'URL et l'identifiant. Pour un restaurant, comparez avec GET /me (restaurant_ids).
Cause. Vous avez dépassé le nombre de requêtes autorisées par minute pour votre accès.
Que faire. Attendez le nombre de secondes indiqué par l'en-tête Retry-After avant de réessayer. Voir la page Limites.
Cause. Une erreur inattendue s'est produite de notre côté.
Que faire. Réessayez plus tard avec un délai croissant. Si l'erreur persiste, transmettez-nous le request_id.