Integraciones · Partner API

Jesdi se conecta con cualquier plataforma que gestione reservas.

¿Eres una plataforma de reservas, web de ofertas, guía de restaurantes o app? Con la Jesdi Partner API ves en tiempo real las horas libres de nuestros restaurantes y pones las reservas directamente en su agenda. Sin reservas dobles, sin volver a teclear y sin complicaciones para el restaurante.

Gratis para plataformas y restaurantes · Cada conexión lista en un día · Clave de prueba con un restaurante de demostración

Por qué conectarse

Una agenda para el restaurante, disponibilidad real para ti.

Siempre las horas libres reales

Ves exactamente lo que el restaurante ofrece en línea: horario, capacidad, mesas libres, vacaciones y días completos. Lo que tú vendes, el restaurante puede cumplirlo.

Directamente en la agenda

Tu reserva aparece al instante en la agenda del restaurante, con tu nombre como etiqueta. Si el restaurante cambia o cancela algo, te enteras en menos de un minuto.

Gratis y conectado en un día

Conectar no cuesta nada, ni a ti ni al restaurante. Usa nuestra API o, si prefieres trabajar con tu propia API, construimos la conexión con tu sistema en un día.

Cómo funciona

Conectado en cuatro pasos.

Solicitar una clave

Escríbenos con el nombre de tu empresa y lo que quieres conectar. Recibirás una clave de prueba. Si tienes tu propia API, construimos la conexión en un día.

Probar

Prueba horas libres, reservar, cambiar y cancelar con nuestro restaurante de demostración.

El restaurante lo activa

El restaurante elige tu plataforma en su panel de Jesdi. Solo entonces ves sus horas.

En marcha

Las reservas a través de tu plataforma llegan directamente a la agenda. También para cada nuevo restaurante.

Documentación

Jesdi Partner API v1

Todo lo que necesitas para conectarte. Los ejemplos están en inglés, como la propia API.

Conceptos básicos

Todas las llamadas van a esta dirección, con tu clave en la cabecera. Los datos son JSON en UTF-8. Las fechas son AAAA-MM-DD y las horas HH:MM, en la hora local del restaurante (Europe/Amsterdam).

Base URL:  https://jesdi.nl/partner/v1
Header:    Authorization: Bearer <your api key>

Restaurantes

Los restaurantes que han activado la conexión con tu plataforma. Usa el campo id en todas las demás llamadas. Si bookable es false, el restaurante está en pausa o ha cerrado las reservas en línea.

GET/restaurants
{ "restaurants": [ {
    "id": "in-den-vlaemschen-pot", "name": "In den Vlaemschen Pot",
    "address": "…", "phone": "…", "website": "…",
    "bookable": true, "max_party": 8, "seating_choice": false,
    "slot_minutes": 30, "duration_minutes": 120, "days_ahead": 120
} ] }

Horas libres

Las mismas reglas que el widget del propio restaurante: horario, capacidad, llegadas por franja, antelación mínima, vacaciones, mesas libres y el grupo más grande que puede reservar en línea. Solo recibes horas que se confirman al instante.

GET/restaurants/{id}/availability?date=2026-10-15&party=2
{ "date": "2026-10-15", "party": 2, "times": ["17:30", "18:00", "20:30"] }

O por día en un periodo de hasta 62 días, por ejemplo para un calendario:

GET/restaurants/{id}/availability?from=2026-10-15&to=2026-11-15&party=2
{ "party": 2, "days": { "2026-10-15": "open", "2026-10-16": "full", "2026-10-17": "closed" } }

Si el restaurante ofrece elegir entre interior y terraza (seating_choice), añade &seating=terrace.

Crear una reserva

POST/restaurants/{id}/reservations
{ "external_id": "DS-1001", "date": "2026-10-15", "time": "19:00", "party": 2,
  "name": "Jan de Vries", "email": "jan@example.com", "phone": "+31612345678",
  "remarks": "Restaurant Week menu, 1x gluten free", "seating": "indoor", "lang": "nl" }
  • external_id (obligatorio) es tu número de reserva. Si envías el mismo external_id otra vez, recibes la reserva existente. Reintentar tras un tiempo de espera es, por tanto, seguro.
  • email y phone son opcionales. Jesdi no envía su propia confirmación a los clientes de los socios; eso lo haces tú.
  • Respuesta: 201 con la reserva, o 409 slot_unavailable si la hora acaba de llenarse.
{ "reservation": {
    "id": 35, "external_id": "DS-1001", "restaurant": "in-den-vlaemschen-pot",
    "date": "2026-10-15", "time": "19:00", "duration_minutes": 120, "party": 2,
    "seating": null, "status": "confirmed", "name": "Jan de Vries",
    "remarks": "…", "updated_at": "2026-10-07 16:10:00"
} }

Cambiar y cancelar

GET/reservations/{external_id}
PATCH/reservations/{external_id}
{ "date": "2026-10-16", "time": "20:00", "party": 4 }     // cambiar de hora
{ "status": "cancelled" }                                 // cancelar

Una reserva en el pasado, o cuyos clientes ya han llegado, ya no se puede cambiar (409).

GET/reservations?updated_since=2026-10-07 12:00:00

Todas las reservas de tu plataforma que han cambiado desde ese momento. Útil si prefieres consultar en lugar de recibir webhooks.

Estado

statusSignificado
confirmedConfirmada
pendingEl restaurante aún tiene que aprobarla
seatedLos clientes ya han llegado
cancelledCancelada
declinedRechazada por el restaurante
no_showNo se presentó

Webhooks

Si el restaurante cancela o cambia una reserva, o la marca como llegada o no presentada, enviamos un POST a tu dirección de webhook en menos de un minuto. Si falla, lo reintentamos cada minuto hasta que respondas con un estado 2xx.

POST https://your-platform.example/jesdi-webhook
X-Jesdi-Signature: sha256=<hmac of the body with your webhook secret>

{ "event": "reservation.updated", "reservation": { … } }

Códigos de error

HTTPerrorSignificado
400date_time_party_required, name_required, invalid_emailFalta un campo obligatorio o no es válido
401unauthorizedLa clave falta o no es válida
404restaurant_not_connected, not_foundEl restaurante no ha activado la conexión, o la reserva no existe
409slot_unavailable, not_changeableLa hora está completa, o la reserva ya no se puede cambiar

¿Listo para conectarte?

Conectar es gratis. Escríbenos con el nombre de tu empresa y lo que quieres conectar: recibes una clave de prueba y un restaurante de demostración, o construimos la conexión con tu propia API en un día.

Solicitar una clave API