Forniture
Le forniture rappresentano ordini consegnati da fornitori specifici della catena di fornitura. Contengono una lista di ingredienti — lo stesso oggetto ingrediente delle ricette — e possono servire come base di dati per gli Eaternity Report, oltre a fornire un riscontro sui singoli acquisti.
Per una request e una response complete, consultate lo use case Forniture per report basati sulle forniture.
Panoramica
Usate la Supply API per:
- Registrare gli acquisti di ingredienti presso i fornitori
- Calcolare l'impronta di carbonio (CO₂) delle consegne della catena di fornitura
- Generare dati per gli Eaternity Report sulla sostenibilità degli acquisti
- Analizzare l'impatto ambientale per fornitore
Parametri di query
Tutti gli endpoint delle forniture accettano i parametri di query full-resource, indicators, return-uids, transient e ingredients-declaration. Valori e default: Parametri di query.
Proprietà della fornitura
Ogni articolo consegnato è un oggetto ingrediente. Campi, valori ammessi e matching: Ingredienti.
Proprietà della request
| Proprietà | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
id | String | No | Identificatore della fornitura. Generato da Eaternity oppure fornito dal client tramite un PUT. |
kitchen-id | String | Solo batch | La cucina a cui appartiene la fornitura. Obbligatorio in POST /supplies/batch; nelle route legate a una cucina, la cucina è indicata nell'URL. |
supplier | String | No | Nome del fornitore specifico nella catena di fornitura |
supplier-id | String | No | Il vostro identificatore del fornitore |
invoice-id | String | No | Numero di fattura (se diverso dall'ID della fornitura) |
order-date | Date | No | La data in cui la fornitura è stata ordinata. Formato: YYYY-MM-DD |
supply-date | Date | Best practice | La data di consegna della fornitura. I report conteggiano la fornitura in questa data. Formato: YYYY-MM-DD |
ingredients | Array | Sì | Gli articoli consegnati, come oggetti ingrediente. Vedere Ingredienti. |
Esempio di request
[
{
"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"
}
]
}
}
]
Proprietà della response (con full-resource=true)
| Proprietà | Tipo | Descrizione |
|---|---|---|
id | String | Identificatore della fornitura |
kitchen-id | String | La cucina a cui appartiene questa fornitura |
co2-value | Float | Valore totale di CO₂ della fornitura in grammi CO₂e |
info-text | String | Note sul calcolo (ad es. "Two ingredient origins have been estimated.") |
supplier | String | Nome del fornitore |
supplier-id | String | Identificatore del fornitore |
supply-date | String | Data di consegna |
ingredients | Array | Ingredienti con le singole valutazioni e i valori di CO₂ |
indicators | Object | Indicatori ambientali (con indicators=true) |
Esempio di response (GET con full-resource=true)
Il batch risponde con una voce di stato per fornitura, [{"statuscode": 200, "message": "", "supply-id": "d1ed2263", "request-id": 1}]. I valori si ottengono 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"
}
}
Operazioni batch
Le forniture supportano la creazione in batch tramite POST /supplies/batch. In una sola request si possono creare o aggiornare più forniture; ogni fornitura indica il proprio kitchen-id.
Ogni fornitura del batch può includere un request-id per ritrovare i singoli elementi nella response. Per ogni voce è obbligatorio un request-id oppure un id di fornitura.
Endpoint legati a una cucina
Le forniture vengono gestite all'interno di una cucina specifica:
| Metodo | Endpoint | Descrizione |
|---|---|---|
POST | /kitchens/{kitchen_id}/supplies/ | Crea una singola fornitura (ID generato da Eaternity) |
GET | /kitchens/{kitchen_id}/supplies/ | Elenca tutti gli ID delle forniture di questa cucina |
GET | /kitchens/{kitchen_id}/supplies/{supply_id} | Restituisce una fornitura specifica |
PUT | /kitchens/{kitchen_id}/supplies/{supply_id} | Aggiorna o crea una fornitura con un ID specifico |
DELETE | /kitchens/{kitchen_id}/supplies/{supply_id} | Elimina una fornitura |
Endpoint
📄️ Create supplies
Create a single supply in this kitchen. The ID is generated by Eaternity.
📄️ Get all supplies in a kitchen
Returns a list of supply IDs in this kitchen.
📄️ Get a supply
Retrieve a specific supply with calculated CO₂ values.
📄️ Update or create a supply
Update or create this supply with the specific ID.
📄️ Delete a supply
Delete a specific supply.
📄️ Create or update a batch of supplies
Batch operations for supplies allow you to create or update multiple supplies at once.
📄️ Create a supply (standalone)
Create a new supply without specifying the kitchen in the URL path.
📄️ Get a supply (standalone)
Retrieve a supply by its ID without specifying the kitchen.
📄️ Update or create a supply (standalone)
Update an existing supply or create a new one with the specified ID.
📄️ Delete a supply (standalone)
Delete a supply by its ID without specifying the kitchen.