Zum Hauptinhalt springen

Fehler

Die API antwortet mit Standard-HTTP-Statuscodes und einigen Eaternity-spezifischen Codes. In einem Batch hat jeder Eintrag seinen eigenen statuscode.

Erfolgscodes​

CodeBeschreibung
200Request erfolgreich
201Ressource erfolgreich erstellt
202Request zur asynchronen Verarbeitung angenommen (Products)
204Ressource erfolgreich gelöscht (kein Inhalt)

Client-Fehlercodes​

CodeBeschreibung
400Bad Request: fehlerhaftes JSON oder ungültiger Inhalt
401Keine Autorisierung: kein gültiger API-Schlüssel angegeben
403Forbidden: Küche ist für Berechnungen nicht autorisiert
404Not Found: angeforderte Ressource existiert nicht
405Methode nicht erlaubt
413Payload Too Large

Server-Fehlercodes​

CodeBeschreibungVorgehen
500ServerfehlerRequest wiederholen oder Support kontaktieren

Validierungs-Fehlercodes​

CodeBeschreibungVorgehen
422Request Validation Error: Der Request entspricht nicht dem erwarteten Schema (z. B. Integer statt String)Format des Requests korrigieren

Verarbeitungs-Fehlercodes (Eaternity-spezifisch)​

Diese eigenen Statuscodes zeigen bestimmte Probleme bei der Verarbeitung an:

CodeNameBeschreibungVorgehen
601Manual Matching MissingWird nicht mehr zurückgegeben. Eine nicht zugeordnete Zutat gibt 602 zurück.—
602No Automatic MatchMindestens ein Zutatenname konnte in der Eaternity Database nicht automatisch zugeordnet werdenEinmal täglich wiederholen oder einen anderen Zutatennamen versuchen
610Missing Required PropertyEine erforderliche Eigenschaft der Ressource fehlt im RequestDas erforderliche Feld angeben
611Wrong Property ValueEine Eigenschaft der Ressource entspricht nicht der Dokumentation: falsches Format oder ungültiger WertWert der Eigenschaft korrigieren
612Reference Not FoundEine Zutat verweist auf ein Rezept (type: recipes) oder ein Produkt (type: products), das nicht gespeichert istZuerst erstellen oder das Unterrezept im selben Batch mitschicken
613Write To A Product DeniedEntweder versuchte ein Rezept oder Einkauf, eine Zutat unter einer ID zu definieren, die zu einem Produkt gehört, oder ein Schreibvorgang auf ein Produkt würde eine bestehende Zutat in ein Produkt umwandelnDas Produkt mit type: "products" referenzieren, statt es zu definieren. Um eine Zutat absichtlich umzuwandeln, convert-ingredient-to-product=true angeben.
670Recipe Has No IngredientsEin Unterrezept wurde mit positiver Menge referenziert, hat aber selbst keine ZutatenDem Unterrezept Zutaten hinzufügen

Weitere implementierungsspezifische Codes​

Die folgenden Codes gibt die Berechnungs-Engine bei bestimmten Verarbeitungsfehlern zurück. Sie sind nicht in der massgebenden API-Spezifikation dokumentiert, können in der Praxis aber vorkommen.

CodeNameBeschreibungVorgehen
671Missing LCA InventoryKein Sachbilanz-Inventar für die Zutat gefundenSupport mit Angaben zum Begriff kontaktieren
672Missing NutrientsKeine Nährwertdaten für die Zutat gefundenSupport mit Angaben zum Begriff kontaktieren
673Failed Amount EstimationMenge der Zutat konnte nicht geschätzt werdenFormat der Deklaration prüfen
674Failed Ingredient SplitterZutatendeklaration konnte nicht geparst werdenZutatendeklaration vereinfachen
675Unknown UnitEinheit der Zutat nicht erkanntStandardeinheiten verwenden (gram, liter)
678CO2 Calculation FailedCO2-Wert kann nicht berechnet werdenVollständigkeit der Zutatendaten prüfen
679VitaScore Calculation FailedVitaScore kann nicht berechnet werdenVerfügbarkeit der Nährwertdaten prüfen
680Environment Score FailedUmweltbewertung kann nicht berechnet werdenVerfügbarkeit der Umweltdaten prüfen

Umgang mit 6xx-Fehlern​

Die 6xx-Fehlercodes sind spezifisch für das Berechnungssystem von Eaternity:

  • 602: Tritt auf, wenn eine Zutat keinem Eintrag der Eaternity Database zugeordnet werden kann. Die Zuordnung läuft täglich; wiederholen Sie den Request nach 24 Stunden oder versuchen Sie einen gängigeren Zutatennamen.

  • 610/611: Diese betreffen fehlende oder ungültige Eigenschaften im Request. Prüfen Sie den Request anhand der API-Dokumentation.

  • 612: Stellen Sie sicher, dass Unterrezepte und Produkte erstellt sind, bevor Sie darauf verweisen, oder schicken Sie Unterrezepte im selben Batch-Request mit.

  • 613: Produkte sind schreibgeschützt; nur die Produkt-Endpoints dürfen sie ändern. Referenzieren Sie ein Produkt aus einem Rezept mit type: "products", statt es unter derselben ID neu zu definieren.

  • 670: Stellen Sie sicher, dass Unterrezepte mindestens eine Zutat enthalten, bevor Sie darauf verweisen.

  • 671-680: Diese weisen auf Probleme der Berechnungs-Engine hin. Prüfen Sie, ob Zutatendeklarationen korrekt formatiert sind und Standardeinheiten verwenden.