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 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>" \
  -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-10-09T02:12:12Z
HTTP 200

Request

{
    "orderUuid": "6f8d466d-b9bf-4942-9228-cbf7969afd18",
    "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": "6f8d466d-b9bf-4942-9228-cbf7969afd18",
        "itemsPendingSend": 0,
        "orderCode": "62W-C56",
        "tableLabel": "Mesa 01",
        "actorName": "App Testing"
    }
}