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
| Code | Description |
|---|---|
| 200 | La requête a réussi |
| 201 | Ressource créée avec succès |
| 202 | Requête acceptée pour un traitement asynchrone (produits) |
| 204 | Ressource supprimée avec succès (pas de contenu) |
Codes d'erreur client
| Code | Description |
|---|---|
| 400 | Requête incorrecte : JSON mal formé ou contenu invalide |
| 401 | Aucune autorisation : aucune clé API valide fournie |
| 403 | Interdit : la cuisine n'est pas autorisée pour les calculs |
| 404 | Introuvable : la ressource demandée n'existe pas |
| 405 | Méthode non autorisée |
| 413 | Payload Too Large (contenu trop volumineux) |
Codes d'erreur serveur
| Code | Description | Action |
|---|---|---|
| 500 | Erreur serveur | Renvoyez la requête ou contactez le support |
Codes d'erreur de validation
| Code | Description | Action |
|---|---|---|
| 422 | Erreur 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 :
| Code | Nom | Description | Action |
|---|---|---|---|
| 601 | Manual Matching Missing | N'est plus renvoyé. Un ingrédient sans correspondance renvoie 602. | — |
| 602 | No Automatic Match | Au moins un nom d'ingrédient n'a pas pu être mis en correspondance automatiquement dans la Eaternity Database | Réessayez une fois par jour ou essayez un autre nom d'ingrédient |
| 610 | Missing Required Property | Une propriété obligatoire de la ressource manque dans la requête | Fournissez le champ obligatoire |
| 611 | Wrong Property Value | Une propriété de la ressource n'est pas conforme à la documentation : mauvais format ou valeur invalide | Corrigez la valeur de la propriété |
| 612 | Reference Not Found | Un 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 |
| 613 | Write To A Product Denied | Soit 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 produit | Ré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. |
| 670 | Recipe Has No Ingredients | Une sous-recette est référencée avec une quantité positive mais n'a elle-même aucun ingrédient | Ajoutez 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.
| Code | Nom | Description | Action |
|---|---|---|---|
| 671 | Missing LCA Inventory | Aucun inventaire de cycle de vie trouvé pour l'ingrédient | Contactez le support avec le détail du terme |
| 672 | Missing Nutrients | Aucune donnée nutritionnelle trouvée pour l'ingrédient | Contactez le support avec le détail du terme |
| 673 | Failed Amount Estimation | La quantité de l'ingrédient n'a pas pu être estimée | Vérifiez le format de la déclaration |
| 674 | Failed Ingredient Splitter | La déclaration des ingrédients n'a pas pu être analysée | Simplifiez la déclaration des ingrédients |
| 675 | Unknown Unit | Unité de l'ingrédient non reconnue | Utilisez des unités standard (gram, liter) |
| 678 | CO2 Calculation Failed | La valeur CO2 ne peut pas être calculée | Vérifiez que les données de l'ingrédient sont complètes |
| 679 | VitaScore Calculation Failed | Le VitaScore ne peut pas être calculé | Vérifiez la disponibilité des données nutritionnelles |
| 680 | Environment Score Failed | Le 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.