Restofy Docs
Carta pública del restaurante POST

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
                }
            ]
        }
    }
}