From 35418cc4a265886f25eb936aef7308b85143ee9e Mon Sep 17 00:00:00 2001 From: Daniel Arantes Loverde Date: Tue, 9 Jun 2026 08:58:26 -0300 Subject: [PATCH] docs(api): document pizza item payload format in Create Order endpoint Add choices[] field documentation with format table, example payload and business rules for size/flavor/dough/crust serialization. --- API_Mobile_App.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/API_Mobile_App.md b/API_Mobile_App.md index 52c7525..d410e8f 100644 --- a/API_Mobile_App.md +++ b/API_Mobile_App.md @@ -656,6 +656,44 @@ Use este endpoint ao trocar endereço na tela de pagamento para validar cobertur } ``` +**Exemplo com pizza (tamanho + sabores + borda):** + +```json +{ + "items": [ + { + "productId": "prod_pizza_calabresa", + "name": "Pizza Calabresa", + "qty": 1, + "price": 65.00, + "choices": [ + "Tamanho: Grande (+R$ 55,00)", + "Sabor: Calabresa", + "Massa: Tradicional", + "Borda: Catupiry (+R$ 10,00)" + ] + } + ] +} +``` + +**Como montar `choices[]` para pizza:** + +| Linha | Formato | Obrigatório | +|---|---|---| +| Tamanho | `"Tamanho: (+R$ X,XX)"` | Sim | +| Sabor (único) | `"Sabor: "` | Sim | +| Sabor N (múltiplos) | `"Sabor 1: "`, `"Sabor 2: "` | Sim quando maxFlavors > 1 | +| Massa | `"Massa: "` | Não | +| Borda sem custo | `"Borda: "` | Não | +| Borda com custo | `"Borda: (+R$ X,XX)"` | Não | + +**Regras:** +- `choices[]` é um array de strings. O backend converte para `options[]` na normalização do pedido. +- O `price` do item deve refletir o preço total da pizza (tamanho + modificador de borda). +- Os nomes de tamanho, massa e borda devem corresponder aos `id` ou `name` retornados pelo catalog endpoint. +- Máximo de sabores definido por `pizzaConfig.sizes[n].maxFlavors`. + **Regras para `items[].addons`:** - `qty` do adicional é aceito no backend (ex.: `2 ovos`).