Schema
OrderItemInput
One line of the `items` array on POST /orders. Rows are FLAT: one row per (producto, opcion), the same shape `OrderItemRead` returns. Several rows for the same product_id with different option_id collapse into ONE order item carrying several options. Unlike the read shape, an input row carries NO price: the server resolves the price from the customer's price list, promos and surcharges — a client cannot dictate what a line costs.
Ejemplo
Campo
| Campo | Tipo | Flags | Notas |
|---|---|---|---|
product_id | string | requerido | The producto's numeric id OR its code ("REM-001") — both are accepted, so you can order straight from a /products response. |
option_id | string | Required when the producto HAS options — a product with variants rejects a row without one (422). Omit for a legacy producto with no options. | |
quantity | integer | requerido | Whole number greater than 0. Halves and zeros are rejected. |
