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.
This commit is contained in:
@@ -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: <NomeDoTamanho> (+R$ X,XX)"` | Sim |
|
||||||
|
| Sabor (único) | `"Sabor: <NomeDeSabor>"` | Sim |
|
||||||
|
| Sabor N (múltiplos) | `"Sabor 1: <Sabor>"`, `"Sabor 2: <Sabor>"` | Sim quando maxFlavors > 1 |
|
||||||
|
| Massa | `"Massa: <NomeDaMassa>"` | Não |
|
||||||
|
| Borda sem custo | `"Borda: <NomeDaBorda>"` | Não |
|
||||||
|
| Borda com custo | `"Borda: <NomeDaBorda> (+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`:**
|
**Regras para `items[].addons`:**
|
||||||
|
|
||||||
- `qty` do adicional é aceito no backend (ex.: `2 ovos`).
|
- `qty` do adicional é aceito no backend (ex.: `2 ovos`).
|
||||||
|
|||||||
Reference in New Issue
Block a user