Saltar al contenido principal

Errores

La API responde con códigos de estado HTTP estándar y con algunos códigos propios de Eaternity. En un lote, cada elemento tiene su propio statuscode.

Códigos de éxito​

CódigoDescripción
200La solicitud se ha procesado correctamente
201Recurso creado correctamente
202Solicitud aceptada para procesamiento asíncrono (Productos)
204Recurso eliminado correctamente (sin contenido)

Códigos de error del cliente​

CódigoDescripción
400Solicitud incorrecta: JSON mal formado o contenido no válido
401Sin autorización: no se ha proporcionado una clave de API válida
403Prohibido: la cocina no está autorizada para cálculos
404No encontrado: el recurso solicitado no existe
405Método no permitido
413Payload demasiado grande

Códigos de error del servidor​

CódigoDescripciónAcción
500Error del servidorRepetid la solicitud o contactad con el soporte

Códigos de error de validación​

CódigoDescripciónAcción
422Error de validación de la solicitud: la solicitud no se ajusta al esquema esperado (p. ej., un entero donde se esperaba un string)Corregid el formato de la solicitud

Códigos de error de procesamiento (propios de Eaternity)​

Estos códigos de estado propios indican problemas concretos de procesamiento:

CódigoNombreDescripciónAcción
601Manual Matching MissingYa no se devuelve. Un ingrediente sin matching devuelve 602.—
602No Automatic MatchAl menos un nombre de ingrediente no tiene matching automático en la Eaternity DatabaseRepetid una vez al día o probad otro nombre de ingrediente
610Missing Required PropertyLa solicitud no incluye una propiedad obligatoria del recursoIndicad el campo obligatorio
611Wrong Property ValueUna propiedad del recurso no se ha indicado según la documentación: formato incorrecto o valor no válidoCorregid el valor de la propiedad
612Reference Not FoundUn ingrediente referencia una receta (type: recipes) o un producto (type: products) que no está guardadoCread primero la referencia, o incluid la subreceta en el mismo lote
613Write To A Product DeniedUna receta o un suministro ha intentado definir un ingrediente con un id que pertenece a un producto, o la escritura de un producto convertiría un ingrediente existente en unoReferenciad el producto con type: "products" en lugar de definirlo. Para convertir un ingrediente a propósito, añadid convert-ingredient-to-product=true.
670Recipe Has No IngredientsSe ha referenciado una subreceta con una cantidad positiva, pero no tiene ingredientes propiosAñadid ingredientes a la subreceta

Códigos adicionales propios de la implementación​

El motor de cálculo devuelve los siguientes códigos ante fallos concretos de procesamiento. No están documentados en la especificación canónica de la API, pero pueden aparecer en la práctica.

CódigoNombreDescripciónAcción
671Missing LCA InventoryNo se ha encontrado un inventario de ciclo de vida para el ingredienteContactad con el soporte indicando el término
672Missing NutrientsNo se han encontrado datos de nutrientes para el ingredienteContactad con el soporte indicando el término
673Failed Amount EstimationNo se ha podido estimar la cantidad del ingredienteRevisad el formato de la declaración
674Failed Ingredient SplitterNo se ha podido analizar la declaración de ingredientesSimplificad la declaración de ingredientes
675Unknown UnitNo se reconoce la unidad del ingredienteUsad unidades estándar (gram, liter)
678CO2 Calculation FailedNo se puede calcular el valor de CO2Comprobad que los datos del ingrediente estén completos
679VitaScore Calculation FailedNo se puede calcular el VitaScoreComprobad que haya datos de nutrientes disponibles
680Environment Score FailedNo se puede calcular la puntuación ambientalComprobad que haya datos ambientales disponibles

Gestión de los errores 6xx​

Los códigos de error 6xx son propios del sistema de cálculo de Eaternity:

  • 602: aparece cuando un ingrediente no tiene matching en la base de datos de Eaternity. El proceso de matching se ejecuta a diario, así que repetid la solicitud pasadas 24 horas o probad un nombre de ingrediente más común.

  • 610/611: se refieren a propiedades de la solicitud que faltan o no son válidas. Comprobad la solicitud con la documentación de la API.

  • 612: comprobad que las subrecetas y los productos estén creados antes de referenciarlos, o incluid las subrecetas en la misma solicitud por lotes.

  • 613: los productos están protegidos contra escritura; solo los endpoints de productos pueden modificarlos. Referenciad un producto desde una receta con type: "products" en lugar de redefinirlo con el mismo id.

  • 670: aseguraos de que las subrecetas contengan al menos un ingrediente antes de referenciarlas.

  • 671-680: indican problemas del motor de cálculo. Comprobad que las declaraciones de ingredientes tengan el formato correcto y usen unidades estándar.