Intégrations · Partner API

Jesdi se connecte à toute plateforme qui prend des réservations.

Vous êtes une plateforme de réservation, un site de bons plans, un guide ou une appli ? Avec la Jesdi Partner API, vous voyez en temps réel les disponibilités de nos restaurants et ajoutez les réservations directement à leur agenda. Pas de double réservation, pas de ressaisie, pas de tracas pour le restaurant.

Gratuit pour les plateformes et les restaurants · Chaque connexion réalisée en un jour · Clé de test avec un restaurant de démonstration

Pourquoi se connecter

Un seul agenda pour le restaurant, de vraies disponibilités pour vous.

Toujours les vraies disponibilités

Vous voyez exactement ce que le restaurant propose en ligne : horaires, capacité, tables libres, vacances et jours complets. Ce que vous vendez, le restaurant peut vraiment l'assurer.

Directement dans l'agenda

Votre réservation figure aussitôt dans l'agenda du restaurant, avec votre nom comme étiquette. Si le restaurant modifie ou annule quelque chose, vous le savez en moins d'une minute.

Gratuit et connecté en un jour

La connexion ne coûte rien, ni à vous ni au restaurant. Utilisez notre API, ou préférez-vous travailler avec votre propre API ? Nous réalisons alors la connexion avec votre système en un jour.

Comment ça marche

Connecté en quatre étapes.

Demander une clé

Envoyez-nous le nom de votre société et ce que vous voulez connecter. Vous recevrez une clé de test. Si vous avez votre propre API, nous réalisons la connexion en un jour.

Tester

Essayez disponibilités, réservation, modification et annulation avec notre restaurant de démonstration.

Le restaurant l'active

Le restaurant choisit votre plateforme dans son back-office Jesdi. Ce n'est qu'alors que vous voyez ses horaires.

En ligne

Les réservations via votre plateforme arrivent directement dans l'agenda. Et pour chaque restaurant suivant.

Documentation

Jesdi Partner API v1

Tout ce qu'il faut pour vous connecter. Les exemples sont en anglais, comme l'API elle-même.

Bases

Tous les appels vont à cette adresse, avec votre clé dans l'en-tête. Les données sont en JSON (UTF-8). Les dates sont au format AAAA-MM-JJ et les heures HH:MM, à l'heure locale du restaurant (Europe/Amsterdam).

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

Restaurants

Les restaurants qui ont activé la connexion avec votre plateforme. Utilisez le champ id dans tous les autres appels. Si bookable vaut false, le restaurant est en pause ou a fermé la réservation en ligne.

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

Disponibilités

Les mêmes règles que le widget du restaurant : horaires, capacité, arrivées par créneau, délai minimum, vacances, tables libres et taille maximale des groupes en ligne. Vous ne recevez que des horaires confirmés immédiatement.

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

Ou par jour sur une période de 62 jours maximum, par exemple pour un calendrier :

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 le restaurant propose un choix entre salle et terrasse (seating_choice), ajoutez &seating=terrace.

Créer une réservation

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 (obligatoire) est votre numéro de réservation. Si vous renvoyez le même external_id, vous récupérez la réservation existante. Réessayer après un délai dépassé est donc sans risque.
  • email et phone sont facultatifs. Jesdi n'envoie pas sa propre confirmation aux clients des partenaires ; c'est à vous de le faire.
  • Réponse : 201 avec la réservation, ou 409 slot_unavailable si l'horaire vient d'être complet.
{ "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"
} }

Modifier et annuler

GET/reservations/{external_id}
PATCH/reservations/{external_id}
{ "date": "2026-10-16", "time": "20:00", "party": 4 }     // déplacer
{ "status": "cancelled" }                                 // annuler

Une réservation passée, ou dont les clients sont déjà arrivés, ne peut plus être modifiée (409).

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

Toutes les réservations de votre plateforme modifiées depuis ce moment. Pratique si vous préférez interroger plutôt que recevoir des webhooks.

Statut

statusSignification
confirmedConfirmée
pendingLe restaurant doit encore approuver
seatedLes clients sont arrivés
cancelledAnnulée
declinedRefusée par le restaurant
no_showNon honorée

Webhooks

Si le restaurant annule ou déplace une réservation, ou la marque comme arrivée ou non présentée, nous envoyons un POST à votre adresse webhook en moins d'une minute. En cas d'échec, nous réessayons chaque minute jusqu'à ce que vous répondiez avec un statut 2xx.

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

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

Codes d'erreur

HTTPerrorSignification
400date_time_party_required, name_required, invalid_emailUn champ obligatoire manque ou est incorrect
401unauthorizedClé manquante ou non valide
404restaurant_not_connected, not_foundLe restaurant n'a pas activé la connexion, ou la réservation n'existe pas
409slot_unavailable, not_changeableL'horaire est complet, ou la réservation ne peut plus être modifiée

Prêt à vous connecter ?

La connexion est gratuite. Envoyez-nous le nom de votre société et ce que vous voulez connecter : vous recevez une clé de test et un restaurant de démonstration, ou nous réalisons la connexion avec votre propre API en un jour.

Demander une clé API