Restofy Docs
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
min:36 max:36
items array
items[].productId int
min_value:1
items[].menuId int
min_value:1
items[].name string
max:200
items[].unitPriceCents int
min_value:0
items[].qty int
min_value:1
items[].courseId int
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
min_value:1
items[].modifiers[].modifierId int
min_value:1
items[].modifiers[].quantity int
min_value:1
items[].modifiers[].priceCents int
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"
    }
}