Aller au contenu principal

Erreurs

L'API répond avec les codes de statut HTTP standard et quelques codes propres à Eaternity. Dans un lot, chaque élément a son propre statuscode.

Codes de succès​

CodeDescription
200La requête a réussi
201Ressource créée avec succès
202Requête acceptée pour un traitement asynchrone (produits)
204Ressource supprimée avec succès (pas de contenu)

Codes d'erreur client​

CodeDescription
400Requête incorrecte : JSON mal formé ou contenu invalide
401Aucune autorisation : aucune clé API valide fournie
403Interdit : la cuisine n'est pas autorisée pour les calculs
404Introuvable : la ressource demandée n'existe pas
405Méthode non autorisée
413Payload Too Large (contenu trop volumineux)

Codes d'erreur serveur​

CodeDescriptionAction
500Erreur serveurRenvoyez la requête ou contactez le support

Codes d'erreur de validation​

CodeDescriptionAction
422Erreur de validation de la requête : la requête ne correspond pas au schéma attendu (p. ex. un entier là où une chaîne était attendue)Corrigez le format de la requête

Codes d'erreur de traitement (propres à Eaternity)​

Ces codes de statut personnalisés signalent des problèmes de traitement précis :

CodeNomDescriptionAction
601Manual Matching MissingN'est plus renvoyé. Un ingrédient sans correspondance renvoie 602.—
602No Automatic MatchAu moins un nom d'ingrédient n'a pas pu être mis en correspondance automatiquement dans la Eaternity DatabaseRéessayez une fois par jour ou essayez un autre nom d'ingrédient
610Missing Required PropertyUne propriété obligatoire de la ressource manque dans la requêteFournissez le champ obligatoire
611Wrong Property ValueUne propriété de la ressource n'est pas conforme à la documentation : mauvais format ou valeur invalideCorrigez la valeur de la propriété
612Reference Not FoundUn ingrédient référence une recette (type: recipes) ou un produit (type: products) qui n'est pas enregistréCréez-le d'abord, ou incluez la sous-recette dans le même lot
613Write To A Product DeniedSoit une recette ou une fourniture a tenté de définir un ingrédient sous un id qui appartient à un produit, soit l'écriture d'un produit convertirait un ingrédient existant en produitRéférencez le produit avec type: "products" au lieu de le définir. Pour convertir volontairement un ingrédient, ajoutez convert-ingredient-to-product=true.
670Recipe Has No IngredientsUne sous-recette est référencée avec une quantité positive mais n'a elle-même aucun ingrédientAjoutez des ingrédients à la sous-recette

Codes supplémentaires propres à l'implémentation​

Les codes suivants sont renvoyés par le moteur de calcul pour des échecs de traitement précis. Ils ne figurent pas dans la spécification de référence de l'API, mais peuvent apparaître en pratique.

CodeNomDescriptionAction
671Missing LCA InventoryAucun inventaire de cycle de vie trouvé pour l'ingrédientContactez le support avec le détail du terme
672Missing NutrientsAucune donnée nutritionnelle trouvée pour l'ingrédientContactez le support avec le détail du terme
673Failed Amount EstimationLa quantité de l'ingrédient n'a pas pu être estiméeVérifiez le format de la déclaration
674Failed Ingredient SplitterLa déclaration des ingrédients n'a pas pu être analyséeSimplifiez la déclaration des ingrédients
675Unknown UnitUnité de l'ingrédient non reconnueUtilisez des unités standard (gram, liter)
678CO2 Calculation FailedLa valeur CO2 ne peut pas être calculéeVérifiez que les données de l'ingrédient sont complètes
679VitaScore Calculation FailedLe VitaScore ne peut pas être calculéVérifiez la disponibilité des données nutritionnelles
680Environment Score FailedLe score environnemental ne peut pas être calculéVérifiez la disponibilité des données environnementales

Traiter les erreurs 6xx​

Les codes d'erreur 6xx sont propres au système de calcul d'Eaternity :

  • 602 : survient lorsqu'un ingrédient ne peut pas être mis en correspondance avec la base de données Eaternity. La mise en correspondance tourne chaque jour : réessayez après 24 heures ou essayez un nom d'ingrédient plus courant.

  • 610/611 : concernent des propriétés de requête manquantes ou invalides. Vérifiez la requête par rapport à la documentation de l'API.

  • 612 : vérifiez que les sous-recettes et les produits sont créés avant d'être référencés, ou incluez les sous-recettes dans la même requête de lot.

  • 613 : les produits sont protégés en écriture ; seuls les endpoints de produits peuvent les modifier. Dans une recette, référencez un produit avec type: "products" au lieu de le redéfinir sous le même id.

  • 670 : assurez-vous que les sous-recettes contiennent au moins un ingrédient avant de les référencer.

  • 671-680 : signalent des problèmes du moteur de calcul. Vérifiez que les déclarations d'ingrédients sont correctement formatées et utilisent des unités standard.