Une API REST pour brancher la réservation sur un site sur-mesure.

Créneaux, disponibilités et création de réservation en REST. Vous gardez la main sur l’interface.

REST + JSONClé API par établissementRéponses typées et documentées
REST + JSONClé API par établissementRéponses typées et documentées

Warum es sich lohnt

Votre interface, notre moteur

Vous construisez le formulaire, le sélecteur de date et l’expérience mobile que le projet demande. Couverty applique derrière les horaires, les fermetures, les capacités par salle et les règles de service — la logique métier que personne n’a envie de réécrire.

Les créneaux réellement disponibles

Les endpoints de disponibilités et de créneaux renvoient ce qui est réservable à l’instant T, fermetures et capacité incluses. Vous n’affichez jamais un horaire que le restaurant ne peut pas honorer.

Authentification par clé, par établissement

Les endpoints de données s’authentifient par un header X-API-Key ou un Bearer token, avec une clé propre à chaque établissement. La création de réservation reste publique — c’est ce que consomme le widget — et protégée par une limite de débit.

Pas seulement la réservation

La carte des plats, les boissons, le menu du jour, les salles et les paramètres du restaurant sont exposés par la même API. Un site sur-mesure peut afficher une carte toujours à jour sans que personne ne la ressaisisse.

So binden Sie es ein

1

Générez une clé API

Depuis les paramètres du compte Couverty du restaurant, générez une clé API. Elle s’envoie dans un header X-API-Key, ou en Bearer token si votre client HTTP le préfère.

bash
curl -H "X-API-Key: qr_votre_cle_api" \
  https://api.couverty.ch/api/public/v1/restaurant
2

Lisez les créneaux, puis créez la réservation

Interrogez les créneaux disponibles pour la date choisie, affichez-les comme vous l’entendez, puis postez la réservation. Le restaurant la voit arriver dans son agenda Couverty, et les e-mails de confirmation partent automatiquement.

javascript
// 1. Les créneaux réservables pour une date
const creneaux = await fetch(
  `https://api.couverty.ch/api/public/${slug}/creneaux?date=2026-09-12&service=soir`
).then((r) => r.json());

// 2. La réservation
await fetch(`https://api.couverty.ch/api/public/${slug}/reservations`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    prenom: 'Jean',
    nom: 'Dupont',
    email: 'jean@example.com',
    telephone: '+41 79 123 45 67',
    dateReservation: '2026-09-12',
    service: 'soir',
    heureReservation: '19:30',
    nombrePersonnes: 4,
  }),
});
3

Ou laissez votre assistant de code s’en charger

Si vous construisez avec Claude, Cursor ou un autre assistant, collez-lui ce contexte : il aura la base d’URL, l’authentification et le contrat des endpoints dont il a besoin pour écrire l’intégration.

prompt
Intègre la réservation Couverty sur ce site.

Base : https://api.couverty.ch
Doc : https://couverty.ch/docs/api
Auth (endpoints de données) : header "X-API-Key: qr_..."

Endpoints utiles, où {slug} est l'identifiant du restaurant :
  GET  /api/public/{slug}/config          -> horaires, services, réglages publics
  GET  /api/public/{slug}/creneaux        -> ?date=YYYY-MM-DD&service=midi|soir
  GET  /api/public/{slug}/availability    -> disponibilité par date
  GET  /api/public/{slug}/menu            -> carte des plats
  POST /api/public/{slug}/reservations    -> crée la réservation (public, rate-limité)

Corps du POST /reservations :
  prenom, nom, email, telephone, dateReservation (YYYY-MM-DD),
  service ("midi" | "soir"), heureReservation ("HH:mm"),
  nombrePersonnes (number), commentaires (optionnel)

Contraintes :
- n'affiche que les créneaux renvoyés par /creneaux, ne les recalcule pas ;
- gère l'erreur de créneau devenu complet entre l'affichage et l'envoi ;
- ne mets jamais la clé API dans du code client.

Un site Next.js sur-mesure où la réservation fait partie du design

Le client veut un parcours en trois étapes, sa typographie, ses animations — pas une iframe posée au milieu de la page. Vous appelez les créneaux depuis un Server Component, vous rendez votre propre sélecteur, vous postez la réservation depuis une Server Action. Côté restaurant, rien ne change : la réservation arrive dans le même agenda que celles du widget, avec les mêmes e-mails et les mêmes règles anti no-show. Vous n’avez écrit que l’interface.

FAQ

Die häufigsten Fragen von Integratoren und Entwicklern.

Construisez l’interface, on gère le reste.

Documentation complète, clés API par établissement et contact direct avec l’équipe technique. Le programme partenaires rémunère les restaurants que vous amenez.

Eine Frage? contact@couverty.ch