Toma de pedidos
POST
Agregar items a la orden
POST /api/pos-order/set-order-items
Descripción
Inserta nuevos productos con sus modificadores en la orden y recalcula los totales.
Detalles
Agrega los productos seleccionados a la orden validando que pertenezcan al menú indicado, que los precios coincidan con los configurados y que los modificadores cumplan las reglas de selección mínima y máxima de cada grupo. Cada item queda confirmado y pendiente de preparación, y los totales de la orden se recalculan automáticamente. Solo se permite mientras la orden siga abierta.
Permisos requeridos
orders.module
orders.integration
El usuario solo necesita uno de los permisos listados.
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| orderUuid | string | Sí |
min:36
max:36
|
| items | array | Sí | — |
| items[].productId | int | Sí |
min_value:1
|
| items[].menuId | int | Sí |
min_value:1
|
| items[].name | string | Sí |
max:200
|
| items[].unitPriceCents | int | Sí |
min_value:0
|
| items[].qty | int | Sí |
min_value:1
|
| items[].courseId | int | Sí |
min_value:1
|
| items[].consumptionMode | string | No |
enum:eat_in,takeaway
|
| items[].note | string | No |
max:500
|
| items[].productPriceId | int | No |
min_value:1
|
| items[].productPriceOptionId | int | No |
min_value:1
|
| items[].modifiers | array | No | — |
| items[].modifiers[].modifierGroupId | int | Sí |
min_value:1
|
| items[].modifiers[].modifierId | int | Sí |
min_value:1
|
| items[].modifiers[].quantity | int | Sí |
min_value:1
|
| items[].modifiers[].priceCents | int | Sí |
min_value:0
|
Ejemplo de request
curl -X POST https://restofy.pro/api/pos-order/set-order-items \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-H "X-Tenant-Key: <tenantKey>" \
-d '{
"orderUuid": "string",
"items": [
{
"productId": 1,
"menuId": 1,
"name": "string",
"unitPriceCents": 1,
"qty": 1,
"courseId": 1
}
]
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-09-08T16:35:34Z
HTTP 200
Request
{
"orderUuid": "23c322c2-ff78-4395-a157-fac5cbbd1c38",
"items": [
{
"productId": 9,
"menuId": 1,
"name": "Cazuela de Mariscos",
"unitPriceCents": 2300000,
"qty": 1,
"courseId": 2,
"productPriceId": 9
}
]
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"orderUuid": "23c322c2-ff78-4395-a157-fac5cbbd1c38",
"itemsPendingSend": 0,
"orderCode": "96W-R35",
"tableLabel": "Mesa 01",
"actorName": "App Testing"
}
}