Saltar al contenido principal

Suministros

Los suministros representan pedidos entregados por proveedores concretos de la cadena de suministro. Contienen una lista de ingredientes —el mismo objeto de ingrediente que en las recetas— y pueden servir como base de datos para los Eaternity Reports, además de dar información sobre compras individuales.

Para una solicitud y una respuesta completas, consultad el caso de uso Suministros para informes basados en suministros.

Visión general​

Usad la Supply API para:

  • Registrar las compras de ingredientes a proveedores
  • Calcular la huella de CO₂ de las entregas de la cadena de suministro
  • Generar datos para los Eaternity Reports sobre la sostenibilidad de las compras
  • Analizar el impacto ambiental por proveedor

Parámetros de consulta​

Todos los endpoints de suministros aceptan los parámetros de consulta full-resource, indicators, return-uids, transient e ingredients-declaration. Valores y valores por defecto: Parámetros de consulta.

Propiedades del suministro​

Ingredientes

Cada artículo entregado es un objeto de ingrediente. Campos, valores permitidos y matching: Ingredientes.

Propiedades de la solicitud​

PropiedadTipoObligatoriaDescripción
idStringNoIdentificador del suministro. Lo genera Eaternity o lo indica el cliente mediante un PUT.
kitchen-idStringSolo en loteLa cocina a la que pertenece el suministro. Obligatorio en POST /supplies/batch; en las rutas por cocina, la cocina se toma de la URL.
supplierStringNoNombre del proveedor concreto de la cadena de suministro
supplier-idStringNoVuestro identificador del proveedor
invoice-idStringNoNúmero de factura (si es distinto del ID del suministro)
order-dateDateNoLa fecha en que se pidió el suministro. Formato: YYYY-MM-DD
supply-dateDateBuena prácticaLa fecha de entrega del suministro. Los informes cuentan el suministro en esta fecha. Formato: YYYY-MM-DD
ingredientsArraySíLos artículos entregados, como objetos de ingrediente. Ved Ingredientes.

Ejemplo de solicitud​

POST /supplies/batch
[
{
"request-id": 1,
"supply": {
"id": "d1ed2263",
"kitchen-id": "kitchen-restaurant-a",
"supplier": "Vegetable Supplies Ltd.",
"supplier-id": "el3i5y-2in5y-2hbllll01",
"supply-date": "2013-06-01",
"ingredients": [
{
"id": "100100191",
"type": "conceptual-ingredients",
"names": [
{
"language": "de",
"value": "Tomaten"
}
],
"amount": 150,
"unit": "gram",
"origin": "spain",
"transport": "air",
"production": "greenhouse",
"processing": "raw",
"conservation": "fresh",
"packaging": "plastic"
}
]
}
}
]

Propiedades de la respuesta (con full-resource=true)​

PropiedadTipoDescripción
idStringIdentificador del suministro
kitchen-idStringLa cocina a la que pertenece este suministro
co2-valueFloatValor total de CO₂ del suministro en gramos de CO₂e
info-textStringNotas sobre el cálculo (p. ej., "Two ingredient origins have been estimated.")
supplierStringNombre del proveedor
supplier-idStringIdentificador del proveedor
supply-dateStringFecha de entrega
ingredientsArrayIngredientes con sus calificaciones y valores de CO₂ individuales
indicatorsObjectIndicadores ambientales (con indicators=true)

Ejemplo de respuesta (GET con full-resource=true)​

El lote responde con una entrada de estado por suministro, [{"statuscode": 200, "message": "", "supply-id": "d1ed2263", "request-id": 1}]. Los valores se obtienen con GET /kitchens/kitchen-restaurant-a/supplies/d1ed2263?full-resource=true:

{
"statuscode": 200,
"message": "",
"supply-id": "d1ed2263",
"supply": {
"food-unit": 0.12,
"final-weight-per-portion": 150.0,
"co2-value": 169,
"rating": "C",
"co2-value-improvement-percentage": -82,
"co2-value-reduction-value": -76,
"kitchen-id": "kitchen-restaurant-a",
"supplier": "Vegetable Supplies Ltd.",
"supplier-id": "el3i5y-2in5y-2hbllll01",
"supply-date": "2013-06-01",
"ingredients": [
{
"foodUnit": 0.12,
"co2-value": 169,
"rating": "C",
"co2-value-improvement-percentage": -82,
"co2-value-reduction-value": -76,
"bar-chart": 100,
"id": "100100191",
"type": "conceptual-ingredients",
"names": [{"language": "de", "value": "Tomaten"}],
"amount": 150.0,
"unit": "gram",
"origin": "spain",
"transport": "air",
"production": "greenhouse",
"processing": "raw",
"conservation": "fresh",
"packaging": "plastic"
}
],
"id": "d1ed2263"
}
}

Operaciones por lotes​

Los suministros admiten la creación por lotes mediante POST /supplies/batch. Se pueden crear o actualizar varios suministros en una sola solicitud; cada suministro indica su kitchen-id.

Cada suministro del lote puede incluir un request-id para localizar cada elemento en la respuesta. Cada entrada necesita un request-id o un id de suministro.

Endpoints por cocina​

Los suministros se gestionan dentro de una cocina concreta:

MétodoEndpointDescripción
POST/kitchens/{kitchen_id}/supplies/Crear un suministro (ID generado por Eaternity)
GET/kitchens/{kitchen_id}/supplies/Listar todos los IDs de suministro de esta cocina
GET/kitchens/{kitchen_id}/supplies/{supply_id}Obtener un suministro concreto
PUT/kitchens/{kitchen_id}/supplies/{supply_id}Actualizar o crear un suministro con un ID concreto
DELETE/kitchens/{kitchen_id}/supplies/{supply_id}Eliminar un suministro

Endpoints​