Menú digital
POST
Página web del restaurante
POST /api/digital-menu/get-site
Descripción
Devuelve lo que muestra la página pública del restaurante: portada, horario, redes y botones.
Detalles
La portada trae la descripción, el tipo de cocina, la foto y la dirección pública. El horario trae los 7 días de la semana, si abre ahora y cuándo cierra o vuelve a abrir. Las redes salen en el orden que eligió el restaurante, solo las visibles. Los botones salen en orden fijo: los canales que reciben pedidos, Reservar y Ver menú. Cada canal trae su código para entrar a pedir; la mesa y la habitación nunca salen.
Permisos requeridos
public
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| slug | string | Sí |
min:1
max:63
|
Respuesta
Campos que devuelve dentro de data. Nada fuera de esta lista sale en la respuesta.
| Campo | Tipo | Descripción |
|---|---|---|
| profile | object | Portada del restaurante |
| profile.coverUrl | string Admite vacío | Dirección de la foto de portada |
| profile.description | string Admite vacío | Descripción del restaurante |
| profile.cuisineName | string Admite vacío | Tipo de cocina |
| profile.address | object Admite vacío | Dirección pública; vacía si el restaurante no la publicó |
| profile.address.line | string | Dirección |
| profile.address.city | string Admite vacío | Ciudad |
| profile.address.latitude | decimal Admite vacío | Latitud del local |
| profile.address.longitude | decimal Admite vacío | Longitud del local |
| hours | object Admite vacío | Horario del restaurante en su hora local; vacío si no declaró horario |
| hours.todayWeekday | int | Día de hoy: 1 lunes a 7 domingo |
| hours.isOpen | bool | Si está abierto ahora |
| hours.nextChange | object Admite vacío | Abierto: cuándo cierra; cerrado: cuándo vuelve a abrir. Vacío si no abre en los próximos 7 días |
| hours.nextChange.weekday | int | Día: 1 lunes a 7 domingo |
| hours.nextChange.time | string | Hora local HH:MM |
| hours.week | array | Los 7 días de lunes a domingo |
| hours.week[].weekday | int | Día: 1 lunes a 7 domingo |
| hours.week[].ranges | array | Franjas en que abre ese día; vacío si cierra |
| hours.week[].ranges[].start | string | Hora local en que abre, HH:MM |
| hours.week[].ranges[].end | string | Hora local en que cierra, HH:MM |
| socials | array | Redes y enlaces visibles en el orden del restaurante |
| socials[].network | string | Red: instagram, facebook, tiktok, whatsapp, website, google-maps, rappi, didi u other |
| socials[].label | string Admite vacío | Nombre del enlace propio (solo other) |
| socials[].url | string | Enlace listo para abrir |
| readMenus | array | Menús que se pueden mirar sin pedir; vacío si Ver menú está apagado |
| readMenus[].menuUuid | string | Identificador del menú |
| readMenus[].name | string | Nombre del menú |
| actions | array | Botones de la portada en orden: canales de pedido, reservar y ver menú |
| actions[].kind | string | order lleva a pedir, book a reservar y read a la carta para mirar |
| actions[].token | string Admite vacío | Código del canal para entrar a pedir (solo order) |
| actions[].fulfillmentTypeCode | string Admite vacío | Código del tipo de canal (solo order) |
| actions[].fulfillmentName | string Admite vacío | Nombre del canal de entrega (solo order) |
| actions[].ordering | object Admite vacío | Si el canal recibe pedidos ahora |
| actions[].ordering.canOrder | bool | Si recibe pedidos en este momento |
| actions[].ordering.reason | string | Motivo por el que recibe o no pedidos |
| actions[].ordering.opensAt | datetime Admite vacío | Cuándo vuelve a recibir pedidos |
Ejemplo de request
curl -X POST https://restofy.pro/api/digital-menu/get-site \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"slug": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.