Aller au contenu principal

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​

Ingrédients

Chaque article livré est un objet ingrédient. Champs, valeurs autorisées et correspondance : Ingrédients.

Propriétés de la request​

PropriétéTypeObligatoireDescription
idStringNonIdentifiant de la fourniture. Généré par Eaternity ou fourni par le client via un PUT.
kitchen-idStringLot uniquementLa cuisine à laquelle appartient la fourniture. Obligatoire dans POST /supplies/batch ; sur les routes liées à une cuisine, la cuisine provient de l'URL.
supplierStringNonNom du fournisseur dans la chaîne d'approvisionnement
supplier-idStringNonVotre identifiant pour le fournisseur
invoice-idStringNonNuméro de facture (s'il diffère de l'ID de la fourniture)
order-dateDateNonDate de commande de la fourniture. Format : YYYY-MM-DD
supply-dateDateRecommandéDate de livraison de la fourniture. Les rapports comptabilisent la fourniture à cette date. Format : YYYY-MM-DD
ingredientsArrayOuiLes articles livrés, sous forme d'objets ingrédient. Voir Ingrédients.

Exemple de request​

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"
}
]
}
}
]

Propriétés de la réponse (avec full-resource=true)​

PropriétéTypeDescription
idStringIdentifiant de la fourniture
kitchen-idStringLa cuisine à laquelle appartient cette fourniture
co2-valueFloatValeur CO₂ totale de la fourniture en grammes de CO₂e
info-textStringRemarques sur le calcul (p. ex. « Two ingredient origins have been estimated. »)
supplierStringNom du fournisseur
supplier-idStringIdentifiant du fournisseur
supply-dateStringDate de livraison
ingredientsArrayIngrédients avec leurs notations et valeurs de CO₂ individuelles
indicatorsObjectIndicateurs 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éthodeEndpointDescription
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​