Restofy Docs
Descubrir restaurantes POST

Listar restaurantes para descubrir

POST /api/discover/list-restaurants

Descripción

Lista de forma paginada los restaurantes publicados en Tu zona.

Detalles

* Con la ubicación del comensal los ordena del más cercano al más lejano e informa la distancia. * Los restaurantes sin ubicación cargada aparecen igual, al final y sin distancia. * Puede acotarse a una ciudad, a un tipo de cocina o buscar por nombre. * Cada restaurante indica si está abierto en este momento según su horario.

Permisos requeridos

public

Request

Nombre Tipo Requerido Reglas
search string No
min:2 max:100
cuisineCode string No
max:40
countryCode string No
min:2 max:2
municipalityCode string No
max:10
latitude string No
decimal min_value:-90 max_value:90
longitude string No
decimal min_value:-180 max_value:180

Paginación

defaultLimit 20
maxLimit 50
allowedSorts [distanceSort, name]
defaultSort distanceSort
defaultDir asc
tieBreak name asc
withTotal true

Respuesta

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

Campo Tipo Descripción
restaurants array Restaurantes publicados en Tu zona
restaurants[].slug string Dirección pública con la que se abre el restaurante
restaurants[].name string Nombre del restaurante
restaurants[].logoUrl string Admite vacío Dirección de la imagen del logo
restaurants[].cuisineCode string Admite vacío Código del tipo de cocina
restaurants[].cuisineName string Admite vacío Nombre del tipo de cocina
restaurants[].cuisineIcon string Admite vacío Ícono del tipo de cocina
restaurants[].cuisineTone string Admite vacío Tono de color del tipo de cocina
restaurants[].cityName string Admite vacío Ciudad del restaurante
restaurants[].distanceMeters int Admite vacío Distancia al comensal en metros; vacía sin ubicación
restaurants[].isOpen bool Si atiende en este momento
pagination pagination Página devuelta y total de resultados

Ejemplo de request

curl -X POST https://restofy.pro/api/discover/list-restaurants \
  -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

{
    "latitude": 4.652,
    "longitude": -74.06
}

Response

{
    "success": true,
    "message": "Restaurantes",
    "data": {
        "restaurants": [
            {
                "slug": "cafe-bistro",
                "name": "Café Bistró",
                "logoUrl": null,
                "cuisineCode": "cafe",
                "cuisineName": "Café",
                "cuisineIcon": "fa-mug-saucer",
                "cuisineTone": "zinc",
                "cityName": "Bogotá, D.C.",
                "distanceMeters": 494,
                "isOpen": true
            },
            {
                "slug": "panaderia-la-espiga",
                "name": "Panadería La Espiga",
                "logoUrl": null,
                "cuisineCode": null,
                "cuisineName": null,
                "cuisineIcon": null,
                "cuisineTone": null,
                "cityName": "Cali",
                "distanceMeters": null,
                "isOpen": false
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 20,
            "total": 2,
            "totalPages": 1,
            "hasNext": false,
            "hasPrev": false
        }
    }
}