Description
Il est possible d’ajouter des ingrédients à l’inventaire du café.
Toutes les quantités d’ingrédients sont calculées en millilitres (ml).
Les recettes de café, qu’un client peut commander, nécessitent une liste d’ingrédients.
Lorsqu’un client effectue une commande, les ingrédients requis pour préparer les cafés de la commande sont retirés de l’inventaire.
Lorsque l’inventaire du café n’a pas assez d’ingrédients pour répondre à une commande, elle est rejetée sans qu’aucun ingrédient ne soit consommé.
L’inventaire est vidé de tous ses ingrédients lors de la fermeture du café.
Ingrédients
Ingredients |
---|
Chocolate |
Espresso |
Milk |
Water |
Recettes
Café | Ingrédients |
---|---|
Americano | 50 espresso + 50 water. |
Dark Roast | 40 espresso + 40 water + 10 chocolate + 10 milk. |
Cappuccino | 50 espresso + 40 water + 10 milk. |
Espresso | 60 espresso. |
Flat White | 50 espresso + 50 milk. |
Latte | 50 espresso + 50 milk. |
Macchiato | 80 espresso + 20 milk. |
Mocha | 50 espresso + 40 milk + 10 chocolate. |
Notes: Toutes les quantités d’ingrédients sont mesurées en millilitres (ml).
Conditions de succès
# | Description |
---|---|
1 | Il est possible d’ajouter des ingrédients de plus à l’inventaire courant. |
2 | Les quantités d’ingrédients sont en millilitres (ml). |
3 | Lorsqu’un client effectue une commande, les ingrédients nécessaires à la recette sont retirés de l’inventaire du café. |
4 | Les commandes sont rejetées lorsque le café n’a pas tous les ingrédients nécessaires pour l’entièreté de la commande. |
5 | Les commandes rejetées ne sont pas facturées. |
6 | Les commandes rejetées ne modifient pas l’inventaire. |
7 | La fermeture du café retire tous les ingrédients de son inventaire. |
8 | Une quantité dans l’inventaire courant ne doit jamais être plus petite que zéro. |
API
Ajout d’ingrédients à l’inventaire.
Requête
PUT /inventory
{
"Chocolate": 0:int,
"Espresso": 0:int,
"Milk": 0:int,
"Water": 0:int
}
Note: Tous les ingrédients doivent être présents dans le JSON à chaque ajout à l’inventaire (0 pour aucun ajout).
Réponses
HTTP 200 Ok
Afficher les ingrédients de l’inventaire.
Requête
GET /inventory
{
"Chocolate": 0:int,
"Espresso": 0:int,
"Milk": 0:int,
"Water": 10:int
}
Réponses
HTTP 200 Ok
MISE-À-JOUR - Commander un café
Requête
PUT /customers/{CUSTOMER_ID}/orders
{
"orders": ["Latte"]
}
Réponses
NOUVEAU: HTTP 400 Bad Request - Lorsque le café n’a pas tous les ingrédients nécessaires pour compléter la commande.
{
"error": "INSUFFICIENT_INGREDIENTS"::string,
"description": "We lack the necessary number of ingredients to fulfill your order."::string
}