Menú digital
POST
Ver el pedido del menú digital
POST /api/digital-menu/get-order
Descripción
Devuelve el pedido completo: en qué paso va, qué le falta, quién pidió qué y cuánto va.
Detalles
Retorna el estado del pedido con los pasos que se muestran según cómo llega a la persona, lo próximo que le falta, los platos de todos con su autor y su estado, y los totales. Cada persona sabe cuáles platos son suyos.
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 en la mesa |
| order.lifecycleStatus | string | Estado del pedido |
| order.paymentStatus | string | Estado del pago |
| order.status | string | Paso actual del pedido para mostrar |
| order.steps | array | Pasos del pedido según cómo se entrega |
| order.steps[].key | string | Código del paso |
| order.steps[].label | string | Nombre del paso |
| order.steps[].icon | string | Ícono del paso |
| order.nextStep | string Admite vacío | Lo próximo que le falta al pedido; vacío si no falta nada |
| order.openedAt | datetime | Cuándo se abrió 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.placeName | string Admite vacío | Mesa o habitación del pedido |
| order.paysAtEnd | bool | Si se paga al final y suma rondas |
| 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.paymentOptionType | string Admite vacío | Forma de pago elegida |
| order.paymentMethodCode | string Admite vacío | Medio de pago en línea elegido |
| order.onlinePaymentStatus | string | Estado del pago en línea |
| order.paymentReceiptStatus | string Admite vacío | Estado del último comprobante de transferencia |
| order.isPaymentLocked | bool | Si hay un pago en línea en curso y no se puede editar |
| order.cancellationNote | string Admite vacío | Nota del restaurante si canceló el pedido |
| order.cancellationRequest | object Admite vacío | Última solicitud de cancelación enviada al restaurante; vacío si no hay |
| order.cancellationRequest.cancellationRequestUuid | string | Identificador de la solicitud |
| order.cancellationRequest.status | string | Estado: pending, accepted, rejected o withdrawn |
| order.cancellationRequest.note | string Admite vacío | Nota que dejó el cliente |
| order.cancellationRequest.rejectionReason | string Admite vacío | Motivo del restaurante si la rechazó |
| order.cancellationRequest.itemUuid | string Admite vacío | Producto que pidió quitar o cambiar; vacío si es el pedido completo |
| order.cancellationRequest.quantity | decimal Admite vacío | Unidades del producto que pidió quitar |
| order.cancellationRequest.requestType | string | Qué pidió: cancel (cancelar) o change (cambiar por otro producto) |
| order.cancellationRequest.createdAt | datetime | Cuándo se envió la solicitud |
| order.cancellationRequest.resolvedAt | datetime Admite vacío | Cuándo se respondió o retiró |
| 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.pickup | object Admite vacío | Quién recoge el pedido; vacío si no es para recoger |
| 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 |
| order.pickup.callerMode | string Admite vacío | Cómo se llama al cliente: sequence (turno del día), staff_code o diner_code (código) o por nombre |
| order.pickup.callerLabel | string Admite vacío | Nombre del código con que se llama al cliente (ej. Vibrador) |
| order.pickup.dailyNumber | int Admite vacío | Turno del día; nace cuando el pedido sale a cocina |
| order.payingGuestName | string Admite vacío | Quién del grupo arrancó el pago, si no fuiste tú |
| me | object | Tu lugar en el pedido |
| me.guestName | string Admite vacío | Tu nombre en el pedido |
| invoiceRecipient | object Admite vacío | A nombre de quién va la factura; vacío si sale como consumidor final |
| invoiceRecipient.name | string | Nombre o razón social |
| invoiceRecipient.documentNumber | string | Número del documento |
| invoiceRecipient.documentTypeName | string | Tipo de documento |
| inviteToken | string | Invitación para que otros se sumen fuera del local |
| items | array | Productos del pedido de todo el grupo |
| items[].itemUuid | string | Identificador del producto en el pedido |
| items[].productId | int | Identificador del producto, para pedirlo otra vez |
| items[].productUuid | string Admite vacío | Identificador público del producto |
| items[].productName | string | Nombre del producto |
| items[].productIcon | string Admite vacío | Ícono del producto |
| items[].productPriceOptionName | string Admite vacío | Variación elegida |
| items[].quantity | decimal | Unidades |
| items[].unitPriceCents | int | Precio unitario, en centavos |
| items[].modifiersTotalCents | int | Opciones por unidad, en centavos |
| items[].priceCents | int | Total de la línea, en centavos |
| items[].isComped | bool | Si es cortesía |
| items[].lifecycleStatus | string | Estado del producto: draft, pending_approval, confirmed o cancelled |
| items[].preparationStatus | string Admite vacío | Estado en cocina |
| items[].servedStatus | string Admite vacío | Estado de entrega a la mesa |
| items[].submittedAt | datetime Admite vacío | Cuándo se envió al restaurante |
| items[].createdAt | datetime | Cuándo se agregó |
| items[].note | string Admite vacío | Nota para cocina |
| items[].guestName | string Admite vacío | Quién del grupo lo agregó |
| items[].cancellationNote | string Admite vacío | Nota del restaurante si lo canceló |
| items[].isMine | bool | Si lo agregaste tú |
| items[].authorKey | string Admite vacío | Marca anónima de quien lo agregó, igual para sus productos del pedido |
| modifiers | array | Opciones elegidas en cada producto |
| modifiers[].itemUuid | string | Producto del pedido al que pertenece |
| modifiers[].modifierGroupName | string | Nombre del grupo |
| modifiers[].modifierName | string | Nombre de la opción |
| modifiers[].quantity | decimal | Unidades de la opción |
| 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.taxCents | int | Impuestos, en centavos |
| totals.discountCents | int | Descuentos, en centavos |
| totals.tipCents | int | Propina, en centavos |
| totals.deliveryFeeCents | int | Costo del domicilio, en centavos |
| totals.grandTotalCents | int | Total a pagar, en centavos |
| totals.balanceCents | int | Saldo pendiente, en centavos |
Ejemplo de request
curl -X POST https://restofy.pro/api/digital-menu/get-order \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>"
Los valores son demo: reemplázalos por datos reales del negocio.