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`:**
|
||||
|
||||
- `qty` do adicional é aceito no backend (ex.: `2 ovos`).
|
||||
|
||||
Reference in New Issue
Block a user