Passa al contenuto principale

Errori

L'API risponde con codici di stato HTTP standard e alcuni codici specifici di Eaternity. In un batch, ogni elemento ha il proprio statuscode.

Codici di successo​

CodiceDescrizione
200Request riuscita
201Risorsa creata correttamente
202Request accettata per l'elaborazione asincrona (Prodotti)
204Risorsa eliminata correttamente (nessun contenuto)

Codici di errore del client​

CodiceDescrizione
400Bad request - JSON malformato o contenuto non valido
401Nessuna autorizzazione - chiave API valida non fornita
403Forbidden - cucina non autorizzata ai calcoli
404Not found - la risorsa richiesta non esiste
405Metodo non consentito
413Payload Too Large

Codici di errore del server​

CodiceDescrizioneAzione
500Server ErrorRipetete la request o contattate il supporto

Codici di errore di validazione​

CodiceDescrizioneAzione
422Request Validation Error — la request non corrisponde allo schema previsto (ad es. un intero dove era previsto una stringa)Correggete il formato della request

Codici di errore di elaborazione (specifici di Eaternity)​

Questi codici di stato personalizzati indicano problemi di elaborazione specifici:

CodiceNomeDescrizioneAzione
601Manual Matching MissingNon più restituito. Un ingrediente senza matching restituisce 602.—
602No Automatic MatchAlmeno un nome di ingrediente non ha trovato un matching automatico nell'Eaternity DatabaseRiprovate una volta al giorno o provate un altro nome di ingrediente
610Missing Required PropertyUna proprietà obbligatoria della risorsa non è stata indicata nella requestFornite il campo obbligatorio
611Wrong Property ValueUna proprietà della risorsa non è stata fornita secondo la documentazione: formato errato o valore non validoCorreggete il valore della proprietà
612Reference Not FoundUn ingrediente fa riferimento a una ricetta (type: recipes) o a un prodotto (type: products) che non è salvatoCreatelo prima, oppure includete la sotto-ricetta nello stesso batch
613Write To A Product DeniedUna ricetta/fornitura ha cercato di definire un ingrediente con un id che appartiene a un prodotto, oppure la scrittura di un prodotto convertirebbe un ingrediente esistente in prodottoFate riferimento al prodotto con type: "products" invece di definirlo. Per convertire un ingrediente di proposito, aggiungete convert-ingredient-to-product=true.
670Recipe Has No IngredientsÈ stata referenziata una sotto-ricetta con quantità positiva, ma senza ingredienti propriAggiungete ingredienti alla sotto-ricetta

Codici aggiuntivi specifici dell'implementazione​

I codici seguenti vengono restituiti dal motore di calcolo per errori di elaborazione specifici. Non sono documentati nella specifica canonica dell'API, ma possono comparire nella pratica.

CodiceNomeDescrizioneAzione
671Missing LCA InventoryNessun inventario del ciclo di vita trovato per l'ingredienteContattate il supporto con i dettagli del termine
672Missing NutrientsNessun dato nutrizionale trovato per l'ingredienteContattate il supporto con i dettagli del termine
673Failed Amount EstimationImpossibile stimare la quantità dell'ingredienteVerificate il formato della dichiarazione
674Failed Ingredient SplitterImpossibile analizzare la dichiarazione degli ingredientiSemplificate la dichiarazione degli ingredienti
675Unknown UnitUnità dell'ingrediente non riconosciutaUsate unità standard (gram, liter)
678CO2 Calculation FailedImpossibile calcolare il valore di CO2Verificate la completezza dei dati dell'ingrediente
679VitaScore Calculation FailedImpossibile calcolare il VitaScoreVerificate la disponibilità dei dati nutrizionali
680Environment Score FailedImpossibile calcolare il punteggio ambientaleVerificate la disponibilità dei dati ambientali

Gestione degli errori 6xx​

I codici di errore 6xx sono specifici del sistema di calcolo di Eaternity:

  • 602: si verifica quando un ingrediente non trova un matching nel database Eaternity. Il processo di matching viene eseguito ogni giorno, quindi riprovate dopo 24 ore o provate un nome di ingrediente più comune.

  • 610/611: riguardano proprietà della request mancanti o non valide. Confrontate la request con la documentazione dell'API.

  • 612: verificate che sotto-ricette e prodotti siano creati prima di farvi riferimento, oppure includete le sotto-ricette nella stessa request batch.

  • 613: i prodotti sono protetti in scrittura: solo gli endpoint dei prodotti possono modificarli. Fate riferimento a un prodotto da una ricetta con type: "products" invece di ridefinirlo con lo stesso id.

  • 670: assicuratevi che le sotto-ricette contengano almeno un ingrediente prima di farvi riferimento.

  • 671-680: indicano problemi del motore di calcolo. Verificate che le dichiarazioni degli ingredienti siano formattate correttamente e usino unità standard.