Erreurs
Comprenez les réponses d’erreur de Webway, les codes d’état et comment réessayer en toute sécurité.
Les erreurs utilisent une petite enveloppe JSON que les SDK compatibles avec OpenAI peuvent analyser :
{
"error": {
"message": "insufficient credit",
"type": "insufficient_quota",
"code": "insufficient_quota"
}
}
type est la valeur générale sur laquelle les bibliothèques clientes se basent. code est plus précis
et ne diffère de type que lorsque l’échec vient d’un fournisseur.
L’enveloppe dépend du point de terminaison. /v1/messages renvoie le format d’Anthropic, ce qui permet
aux SDK Anthropic et à Claude Code de l’analyser et d’appliquer leur propre logique de nouvelle tentative sans
traitement spécifique pour cette passerelle :
{
"type": "error",
"error": {
"type": "overloaded_error",
"message": "the provider is over capacity, retry shortly (request 4f2ab910)",
"code": "overloaded"
}
}
Codes d’état
| État | Signification | Réessayer ? |
|---|---|---|
400 |
JSON, champs ou paramètres non valides | Non ; corrigez la requête |
401 |
Clé manquante, non valide, expirée ou révoquée | Non ; remplacez la clé |
402 |
Votre solde ne suffit pas à couvrir la requête | Après avoir approvisionné votre solde |
403 |
Le modèle nécessite votre propre clé de fournisseur | Non ; ajoutez-en une dans le tableau de bord |
404 |
Modèle ou point de terminaison introuvable | Non ; vérifiez l’identifiant et le chemin |
413 |
Le corps de la requête est trop volumineux | Non ; réduisez la charge utile |
429 |
Limite de débit atteinte | Oui ; attendez puis réessayez |
502 / 503 |
Le fournisseur est indisponible | Oui ; utilisez une temporisation progressive |
504 |
Le fournisseur a dépassé le délai imparti | Oui ; utilisez une temporisation progressive |
Le code 402 concerne toujours uniquement votre solde. Un problème de facturation entre Webway et un
fournisseur produit un code 502, car vous ne pouvez rien faire pour le résoudre.
Échecs des fournisseurs
Lorsque l’échec vient d’un fournisseur plutôt que de votre requête, code
indique lequel s’est produit :
code |
État | Signification | Réessayer ? |
|---|---|---|---|
model_unavailable |
502 |
Le fournisseur ne servira pas ce modèle. C’est à nous de corriger le problème | Non |
context_length_exceeded |
400 |
La requête dépasse la fenêtre de contexte du modèle | Non |
content_filtered |
400 |
La couche de sécurité du fournisseur a refusé la requête | Non |
invalid_request |
400 |
Le fournisseur a rejeté la requête | Non |
rate_limited |
429 |
Limite de débit atteinte chez le fournisseur | Oui |
overloaded |
503 |
Le fournisseur a dépassé sa capacité | Oui |
timeout |
504 |
Le fournisseur n’a pas répondu à temps | Oui |
transport_error |
502 |
La connexion au fournisseur a échoué | Oui |
upstream_error |
502 |
Non classé. Toujours examiné | Peut-être |
Le texte des erreurs du fournisseur n’est jamais transmis tel quel. Les services en amont décrivent les échecs avec leur propre vocabulaire, parfois dans une autre langue, mentionnent souvent une infrastructure qui ne vous appartient pas, et ce texte change sans préavis. Chaque erreur est classée dans l’une des catégories ci-dessus et reformulée, afin que le message reçu soit suffisamment stable pour servir de référence dans les journaux.
Chaque message se termine par un identifiant de requête Webway. Indiquez-le dans vos demandes d’assistance : c’est l’identifiant qui peut réellement être recherché.
Erreurs pendant la diffusion en continu
Une requête peut échouer après l’envoi des en-têtes de réponse. Il n’est alors plus
possible de modifier le code d’état ; l’échec arrive donc sous forme d’événement dans
le flux, selon le même protocole que le reste — event: error sur
/v1/messages, un événement error sur /v1/responses, un fragment error sur
/v1/chat/completions. Les valeurs de code correspondent au même tableau.
Considérez comme un échec tout flux qui se termine sans son événement terminal, et non comme une réponse courte.
Règles de nouvelle tentative
Réessayez uniquement les réponses 429 et les réponses 5xx transitoires. Utilisez une temporisation exponentielle avec
une part d’aléatoire, limitez le nombre de tentatives et respectez Retry-After lorsqu’il est présent.
Ne réessayez pas les codes 400, 401, 402, 403, 404 ou 413 sans modifier la requête. La même
requête échouera à nouveau.
Les requêtes rejetées avant le début du traitement par le fournisseur ne sont pas facturées. Une requête qui échoue après le début de la génération peut être facturée pour les jetons déjà produits, y compris si vous l’annulez en cours de diffusion.