Restofy Docs
Pedido del comensal POST

Ver el pedido

POST /api/orders/get-order

Descripción

Devuelve el estado del pedido, sus productos y sus totales en una sola lectura.

Detalles

Retorna el pedido en curso con su estado, el lugar donde se atiende, el canal de entrega, cómo eligió pagar el cliente y, cuando es a domicilio, la dirección y el estado de la entrega. Incluye además los productos cargados con sus opciones elegidas y el desglose de totales, para pintar la pantalla del pedido sin pedir cada cosa por separado.

Permisos requeridos

auth-order

Request

Este endpoint no recibe parámetros.

Respuesta

Campos que devuelve dentro de data. Nada fuera de esta lista sale en la respuesta.

Campo Tipo Descripción
order object Estado del pedido
order.orderUuid string Identificador del pedido
order.orderCode string Número del pedido para mostrar
order.joinCode string Admite vacío Código corto para que otros se sumen
order.lifecycleStatus string Estado del pedido
order.awaitingApproval bool Si espera que el restaurante lo apruebe
order.isLocked bool Si hay un pago en línea en curso y no se puede editar
order.onlinePaymentStatus string Estado del pago en línea
order.openedAt datetime Cuándo se abrió el pedido
order.closedAt datetime Admite vacío Cuándo se cerró el pedido
order.timezone string Zona horaria del restaurante
order.fulfillmentUuid string Identificador del canal de entrega
order.fulfillmentTypeCode string Código del tipo de canal
order.fulfillmentTypeName string Nombre del tipo de canal
order.callerMode string Admite vacío Cómo se llama al cliente cuando el pedido está listo
order.callerLabel string Admite vacío Nombre del código de llamado
order.tableName string Admite vacío Nombre de la mesa
order.roomName string Admite vacío Nombre de la habitación
order.paysAtEnd bool Si el pedido se paga al final y suma rondas sin pagar antes
order.paymentOptionType string Admite vacío Forma de pago elegida
order.payingGuestName string Admite vacío Quién del grupo eligió cómo pagar, si no fuiste tú
order.isPaymentStarted bool Si el cobro ya arrancó y el grupo no puede sumar platos
order.nextStep string Admite vacío Lo próximo que le falta al pedido: address, zone, pickup, payment, transfer, online o review
order.paymentMethodCode string Admite vacío Medio de pago en línea elegido
order.cashTenderedCents int Admite vacío Con cuánto paga en efectivo, en centavos
order.ordering object Si el canal recibe pedidos ahora
order.ordering.canOrder bool Si recibe pedidos en este momento
order.ordering.reason string Motivo por el que recibe o no pedidos
order.ordering.opensAt datetime Admite vacío Cuándo vuelve a recibir pedidos
order.delivery object Admite vacío Datos del domicilio; vacío si no es a domicilio
order.delivery.status string Admite vacío Estado de la entrega
order.delivery.recipientName string Admite vacío Quién recibe
order.delivery.recipientPhone string Admite vacío Teléfono de quien recibe
order.delivery.addressLine string Admite vacío Dirección de entrega
order.delivery.addressDetail string Admite vacío Complemento de la dirección
order.delivery.city string Admite vacío Ciudad
order.delivery.municipalityCode string Admite vacío Código oficial de la ciudad
order.delivery.reference string Admite vacío Punto de referencia
order.delivery.deliveryZoneId int Admite vacío Zona de entrega elegida
order.delivery.courierName string Admite vacío Nombre del domiciliario
order.delivery.courierPhone string Admite vacío Teléfono del domiciliario
order.paymentReceipt object Admite vacío Último comprobante de transferencia; vacío si no hay
order.paymentReceipt.paymentReceiptUuid string Identificador del comprobante
order.paymentReceipt.status string Estado de la revisión del comprobante
order.paymentReceipt.createdAt datetime Cuándo se subió
order.pickup object Admite vacío Quién recoge el pedido; vacío si no es para recoger o si falta
order.pickup.recipientName string Admite vacío Quién recoge
order.pickup.recipientPhone string Admite vacío Teléfono de quien recoge
order.pickup.vehiclePlate string Admite vacío Placa del vehículo
order.pickup.vehicleModel string Admite vacío Modelo del vehículo
order.pickup.vehicleColor string Admite vacío Color del vehículo
order.pickup.callerInfo string Admite vacío Código con el que se llama al cliente
items array Productos del pedido
items[].itemUuid string Identificador del producto en el pedido
items[].productUuid string Identificador público del producto
items[].productName string Nombre del producto
items[].productIcon string Admite vacío Ícono del producto
items[].categoryName string Admite vacío Nombre de la categoría
items[].productPriceOptionName string Admite vacío Variación elegida
items[].quantity decimal Cantidad
items[].unitPriceCents int Precio unitario, en centavos
items[].modifiersTotalCents int Total de las opciones elegidas, en centavos
items[].discountCents int Descuento aplicado, en centavos
items[].isComped bool Si es cortesía
items[].totalBaseCents int Total antes de impuestos, en centavos
items[].taxCents int Impuestos, en centavos
items[].priceCents int Total de la línea, en centavos
items[].lifecycleStatus string Estado del producto en el pedido
items[].preparationStatus string Estado en cocina
items[].servedStatus string Estado de entrega a la mesa
items[].itemNotes string Admite vacío Indicaciones para la cocina
items[].consumptionMode string Admite vacío Si se come en la mesa o va empacado
items[].guestName string Admite vacío Nombre de quien lo pidió
items[].isMine bool Si lo pediste tú
items[].authorKey string Admite vacío Marca anónima de quien lo pidió, igual para sus productos del pedido
items[].cancellationReasonName string Admite vacío Motivo que escribió el comensal al cancelar
items[].createdAt datetime Cuándo se agregó
items[].submittedAt datetime Admite vacío Cuándo se envió al restaurante
items[].confirmedAt datetime Admite vacío Cuándo lo aprobó el restaurante
items[].firedAt datetime Admite vacío Cuándo entró a cocina
items[].readyAt datetime Admite vacío Cuándo quedó listo
items[].servedAt datetime Admite vacío Cuándo se entregó
items[].cancelledAt datetime Admite vacío Cuándo se canceló
modifiers array Opciones elegidas en cada producto
modifiers[].itemUuid string Producto del pedido al que pertenece
modifiers[].modifierGroupName string Nombre del grupo de opciones
modifiers[].modifierName string Nombre de la opción
modifiers[].quantity decimal Cantidad
modifiers[].unitPriceCents int Precio unitario, en centavos
modifiers[].totalCents int Total de la opción, en centavos
totals object Totales del pedido
totals.productsCents int Total de los productos, en centavos
totals.taxInclusionMode string Si los precios incluyen impuestos
totals.totalBaseCents int Subtotal antes de impuestos, en centavos
totals.taxCents int Impuestos, en centavos
totals.priceCents int Total de los productos con impuestos, en centavos
totals.discountReasonName string Admite vacío Motivo del descuento
totals.discountCents int Descuentos, en centavos
totals.tipAmountCents int Propina, en centavos
totals.tipModeApplied string Cómo se calculó la propina
totals.isTipOverridden bool Si la propina la eligió el cliente
totals.deliveryFeeCents int Costo del domicilio, en centavos
totals.deliveryModeApplied string Cómo se calculó el domicilio
totals.grandTotalCents int Total a pagar, en centavos
totals.balanceCents int Saldo pendiente, en centavos
totals.paymentStatus string Estado del pago

Ejemplo de request

curl -X POST https://restofy.pro/api/orders/get-order \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>"

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-10-09T02:12:12Z
HTTP 200

Request

[]

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "order": {
            "orderUuid": "946990a8-cbf2-4507-8681-a2214210560b",
            "orderCode": "88X-P74",
            "joinCode": "P74",
            "lifecycleStatus": "ordering",
            "awaitingApproval": false,
            "isLocked": false,
            "onlinePaymentStatus": "none",
            "openedAt": "2026-10-09T02:10:15.000Z",
            "closedAt": null,
            "timezone": "America/Bogota",
            "fulfillmentUuid": "94c7d029-0c97-401a-8859-4172b99384bd",
            "fulfillmentTypeCode": "fulfillment.counter",
            "fulfillmentTypeName": "Autoservicio",
            "callerMode": "name",
            "callerLabel": null,
            "tableName": null,
            "roomName": null,
            "paysAtEnd": false,
            "paymentOptionType": null,
            "payingGuestName": null,
            "isPaymentStarted": false,
            "nextStep": "pickup",
            "paymentMethodCode": null,
            "cashTenderedCents": null,
            "ordering": {
                "canOrder": true,
                "reason": "open",
                "opensAt": null
            },
            "delivery": null,
            "paymentReceipt": null,
            "pickup": null
        },
        "items": [
            {
                "itemUuid": "c92805ca-6d91-4404-aec4-4185e06a4ea9",
                "productUuid": "3662a28e-18be-11f1-9da2-b627060a1ebe",
                "productName": "Limonada Natural",
                "productIcon": "fa-solid fa-glass-citrus",
                "categoryName": "Bebidas Frías",
                "productPriceOptionName": null,
                "quantity": "1.0000",
                "unitPriceCents": 500000,
                "modifiersTotalCents": 0,
                "discountCents": 0,
                "isComped": 0,
                "totalBaseCents": 0,
                "taxCents": 0,
                "priceCents": 500000,
                "lifecycleStatus": "draft",
                "preparationStatus": "pending",
                "servedStatus": "pending",
                "itemNotes": null,
                "consumptionMode": null,
                "guestName": "Comensal de prueba",
                "isMine": true,
                "authorKey": "5c3bac54645bb815",
                "cancellationReasonName": null,
                "createdAt": "2026-10-09T02:10:15.728Z",
                "submittedAt": null,
                "confirmedAt": null,
                "firedAt": null,
                "readyAt": null,
                "servedAt": null,
                "cancelledAt": null
            }
        ],
        "modifiers": [],
        "totals": {
            "productsCents": 500000,
            "taxInclusionMode": "inclusive",
            "totalBaseCents": 0,
            "taxCents": 0,
            "priceCents": 0,
            "discountReasonName": null,
            "discountCents": 0,
            "tipAmountCents": 0,
            "tipModeApplied": "voluntary",
            "isTipOverridden": 0,
            "deliveryFeeCents": 0,
            "deliveryModeApplied": "disabled",
            "grandTotalCents": 500000,
            "balanceCents": 0,
            "paymentStatus": "unpaid"
        }
    }
}