Fournitures
Les fournitures représentent des commandes livrées par des fournisseurs précis de la chaîne d'approvisionnement. Elles contiennent une liste d'ingrédients (le même objet ingrédient que dans les recettes). Elles peuvent servir de base de données pour les rapports Eaternity et fournir un retour sur des achats individuels.
Pour une request et une réponse complètes, voir le use case Fournitures pour les rapports basés sur les achats.
Aperçu
Utilisez l'API des fournitures pour :
- Suivre les achats d'ingrédients auprès des fournisseurs
- Calculer l'empreinte carbone des livraisons de la chaîne d'approvisionnement
- Produire des données pour les rapports Eaternity sur la durabilité des achats
- Analyser l'impact environnemental par fournisseur
Paramètres de requête
Tous les endpoints des fournitures acceptent les paramètres de requête full-resource, indicators, return-uids, transient et ingredients-declaration. Valeurs et valeurs par défaut : Paramètres de requête.
Propriétés de la fourniture
Chaque article livré est un objet ingrédient. Champs, valeurs autorisées et correspondance : Ingrédients.
Propriétés de la request
| Propriété | Type | Obligatoire | Description |
|---|---|---|---|
id | String | Non | Identifiant de la fourniture. Généré par Eaternity ou fourni par le client via un PUT. |
kitchen-id | String | Lot uniquement | La cuisine à laquelle appartient la fourniture. Obligatoire dans POST /supplies/batch ; sur les routes liées à une cuisine, la cuisine provient de l'URL. |
supplier | String | Non | Nom du fournisseur dans la chaîne d'approvisionnement |
supplier-id | String | Non | Votre identifiant pour le fournisseur |
invoice-id | String | Non | Numéro de facture (s'il diffère de l'ID de la fourniture) |
order-date | Date | Non | Date de commande de la fourniture. Format : YYYY-MM-DD |
supply-date | Date | Recommandé | Date de livraison de la fourniture. Les rapports comptabilisent la fourniture à cette date. Format : YYYY-MM-DD |
ingredients | Array | Oui | Les articles livrés, sous forme d'objets ingrédient. Voir Ingrédients. |
Exemple de 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"
}
]
}
}
]
Propriétés de la réponse (avec full-resource=true)
| Propriété | Type | Description |
|---|---|---|
id | String | Identifiant de la fourniture |
kitchen-id | String | La cuisine à laquelle appartient cette fourniture |
co2-value | Float | Valeur CO₂ totale de la fourniture en grammes de CO₂e |
info-text | String | Remarques sur le calcul (p. ex. « Two ingredient origins have been estimated. ») |
supplier | String | Nom du fournisseur |
supplier-id | String | Identifiant du fournisseur |
supply-date | String | Date de livraison |
ingredients | Array | Ingrédients avec leurs notations et valeurs de CO₂ individuelles |
indicators | Object | Indicateurs environnementaux (lorsque indicators=true est défini) |
Exemple de réponse (GET avec full-resource=true)
Le lot répond avec une entrée de statut par fourniture, [{"statuscode": 200, "message": "", "supply-id": "d1ed2263", "request-id": 1}]. Les valeurs s'obtiennent avec 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"
}
}
Opérations par lot
Les fournitures peuvent être créées par lot via POST /supplies/batch. Plusieurs fournitures peuvent être créées ou mises à jour en une seule request ; chaque fourniture indique son kitchen-id.
Chaque fourniture du lot peut inclure un request-id pour suivre chaque élément dans la réponse. Un request-id ou un id de fourniture est obligatoire pour chaque entrée.
Endpoints liés à une cuisine
Les fournitures sont gérées sous une cuisine précise :
| Méthode | Endpoint | Description |
|---|---|---|
POST | /kitchens/{kitchen_id}/supplies/ | Créer une fourniture (ID généré par Eaternity) |
GET | /kitchens/{kitchen_id}/supplies/ | Lister tous les ID de fournitures de cette cuisine |
GET | /kitchens/{kitchen_id}/supplies/{supply_id} | Obtenir une fourniture précise |
PUT | /kitchens/{kitchen_id}/supplies/{supply_id} | Mettre à jour ou créer une fourniture avec un ID précis |
DELETE | /kitchens/{kitchen_id}/supplies/{supply_id} | Supprimer une fourniture |
Endpoints
📄️ 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.