Portada de un restaurante
POST /api/catalog/get-restaurant
Descripción
Devuelve la información que el restaurante publica para sus clientes y si está abierto ahora.
Detalles
Recibe la dirección pública del restaurante y devuelve su identidad, contacto, ubicación, mensaje de bienvenida y horario de atención, sin necesidad de iniciar sesión. El estado abierto o cerrado se evalúa en la hora local del restaurante, y cuando está cerrado también informa cuándo vuelve a abrir. Si la dirección no corresponde a ningún restaurante, responde un error.
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 | Identidad, contacto y ubicación del restaurante |
| profile.name | string | Nombre comercial |
| profile.description | string Admite vacío | Descripción corta del restaurante |
| profile.cuisine | string Admite vacío | Tipo de cocina |
| profile.phone | string Admite vacío | Teléfono de contacto |
| profile.whatsapp | string Admite vacío | Número de WhatsApp |
| profile.addressLine1 | string Admite vacío | Dirección principal |
| profile.addressLine2 | string Admite vacío | Complemento de la dirección |
| profile.city | string Admite vacío | Ciudad |
| profile.stateRegion | string Admite vacío | Departamento o región |
| profile.latitude | decimal Admite vacío | Latitud de la ubicación |
| profile.longitude | decimal Admite vacío | Longitud de la ubicación |
| profile.brandColor | string Admite vacío | Color de marca en hexadecimal |
| profile.welcomeTitle | string Admite vacío | Título del mensaje de bienvenida |
| profile.welcomeMessage | string Admite vacío | Mensaje de bienvenida |
| profile.logoUrl | string Admite vacío | Dirección de la imagen del logo |
| profile.coverUrl | string Admite vacío | Dirección de la imagen de portada |
| profile.timezone | string | Zona horaria del restaurante |
| profile.isOpen | bool Admite vacío | Si atiende ahora; vacío si no tiene horario |
| profile.hasBookableAreas | bool | Si recibe reservas en línea |
| schedule | object Admite vacío | Horario de atención; vacío si no tiene horario |
| schedule.opensAt | datetime Admite vacío | Próxima apertura |
| schedule.opensToday | bool | Si la próxima apertura es hoy |
| schedule.periods | array | Turnos de atención por día |
| schedule.periods[].dayOfWeek | int | Día de la semana, 1 lunes a 7 domingo |
| schedule.periods[].isAllDay | bool | Si atiende todo el día |
| schedule.periods[].timeStart | time Admite vacío | Hora de apertura del turno |
| schedule.periods[].timeEnd | time Admite vacío | Hora de cierre del turno |
Ejemplo de request
curl -X POST https://restofy.pro/api/catalog/get-restaurant \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"slug": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-10-09T02:12:12Z
HTTP 200
Request
{
"slug": "restofy_test_catalogpublictes_2238_1791511154_tenant"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"profile": {
"name": "Mi Negocio",
"description": null,
"cuisine": null,
"phone": "***",
"whatsapp": null,
"addressLine1": null,
"addressLine2": null,
"city": null,
"stateRegion": null,
"latitude": null,
"longitude": null,
"brandColor": null,
"welcomeTitle": null,
"welcomeMessage": null,
"logoUrl": null,
"coverUrl": null,
"timezone": "America/Bogota",
"isOpen": true,
"hasBookableAreas": false
},
"schedule": {
"opensAt": "2026-10-09T05:00:00.000Z",
"opensToday": false,
"periods": [
{
"dayOfWeek": 1,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"dayOfWeek": 2,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"dayOfWeek": 3,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"dayOfWeek": 4,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"dayOfWeek": 5,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"dayOfWeek": 6,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
},
{
"dayOfWeek": 7,
"isAllDay": 1,
"timeStart": null,
"timeEnd": null
}
]
}
}
}