API REST · Version 1 · Stable

API Restaurateur.ch

Intégrez la gestion complète des réservations dans votre back-office, votre application native ou n'importe quel outil tiers. Plus de 30 endpoints REST, JSON in/out, authentification par clé API.

Vue d'ensemble

L'API Restaurateur.ch permet à un restaurant (ou un intégrateur tiers) de gérer toutes ses réservations programmatiquement : lister, créer, accepter, refuser, modifier des réservations, configurer le calendrier d'ouverture, créer des services (lunch / dinner) avec capacités cumulées, et exporter des statistiques temps réel.

Quick start

Récupérez votre clé API depuis votre admin (admin_token), puis :

bash
# 1. Test que la clé fonctionne
curl https://api.restaurateur.ch/api/v1/restaurant \
  -H "X-API-Key: VOTRE_CLE_API"

# 2. Lister les réservations en attente
curl "https://api.restaurateur.ch/api/v1/bookings?status=pending" \
  -H "X-API-Key: VOTRE_CLE_API"

# 3. Accepter une réservation (envoie automatiquement l'email au client)
curl -X POST https://api.restaurateur.ch/api/v1/bookings/TOKEN/accept \
  -H "X-API-Key: VOTRE_CLE_API"
💡 Tip : Toute la doc utilise l'utilisateur fictif VOTRE_CLE_API. Remplacez par votre propre clé (ressemble à 9d261e73f047..., 48 caractères).

Authentification

Tous les endpoints /api/v1/* requièrent une clé API. Envoyez votre clé dans le header HTTP X-API-Key.

http
GET /api/v1/restaurant HTTP/1.1
Host: api.restaurateur.ch
X-API-Key: 9d261e73f047a8f6ad8623f353a5b869889443473d7a1975

Headers acceptés

HeaderStatusNotes
X-API-Key: KEYRecommandéHeader standard pour l'API publique.
Authorization: Bearer KEYOKCompatible avec les libs OAuth qui n'acceptent que Bearer.
X-Admin-Token: KEYLegacyToujours supporté, mais préférez X-API-Key.

Récupérer votre clé

  1. Connectez-vous sur admin.restaurateur.ch
  2. Allez dans Paramètres → API
  3. Copiez votre admin_token — c'est votre clé API
⚠️ Sécurité : Ne JAMAIS exposer la clé côté navigateur (frontend public). Utilisez-la uniquement sur votre serveur, ou stockez-la en variable d'environnement.

Conventions

Base URL

https://api.restaurateur.ch/api/v1

Format

  • Requêtes : JSON UTF-8 (Content-Type: application/json)
  • Réponses : JSON UTF-8
  • CORS : ouvert (*), utilisable depuis un browser si la clé est gérée côté serveur

Dates & heures

  • Dates : YYYY-MM-DD (ISO 8601)
  • Heures : HH:MM 24h (heure locale du restaurant)
  • Timestamps : YYYY-MM-DD HH:MM:SS en UTC, timezone restaurant exposée séparément

Méthodes HTTP

MéthodeUsage
GETLire une ressource ou une liste
POSTCréer ou exécuter une action (accept/reject/no-show)
PUTMettre à jour entièrement une ressource (`PATCH` accepté en alias)
PATCHMise à jour partielle
DELETESupprimer / retirer une configuration

Pagination

Les endpoints qui retournent une liste paginée acceptent ?page=1&limit=50. Limite max : 200.

Statuts d'une réservation

StatusDescription
pendingDemande reçue, en attente de validation.
confirmedConfirmée. Email envoyé au client.
cancelledAnnulée (refusée ou annulée par client).
no_showLe client ne s'est pas présenté.

Endpoints disponibles

Plus de 30 endpoints organisés en 8 familles.

Réservations

MéthodeEndpointDescription
GET/bookingsLister les réservations (filtres : status, date, search)
GET/bookings/:tokenDétails d'une réservation
PATCH/bookings/:tokenModifier une réservation
POST/bookings/:token/acceptAccepter + envoyer email confirmation
POST/bookings/:token/rejectRefuser + refund acompte automatique
POST/bookings/:token/no-showMarquer en no-show

Calendrier

MéthodeEndpointDescription
GET/calendarConfig hebdo + overrides
GET/calendar/slots?date=Créneaux dispos d'une date
PUT/calendar/week/:dowModifier un jour de semaine
PUT/calendar/dates/:dateOverride d'une date spéciale
DEL/calendar/dates/:dateRetirer l'override
POST/calendar/pause-dayBloquer un jour (raccourci)

Services & capacités

MéthodeEndpointDescription
GET/servicesLister les services (+ usage)
POST/servicesCréer un service
PUT/services/:idModifier (capacité, horaires, ...)
DEL/services/:idSupprimer

Stats

MéthodeEndpointDescription
GET/statsStats globales rapides
GET/stats/countsComptages (résas, couverts) par période/service

Configuration restaurant

MéthodeEndpointDescription
GET/restaurantInfos du restaurant
GET/auto-confirmConfig auto-confirmation
PUT/auto-confirmActiver/configurer auto-confirm
GET/notificationsLire la config CC
PUT/notificationsDéfinir les emails en CC
GET/mailConfig envoi depuis votre domaine
PUT/mailColler la clé mail
POST/mail/verifyVérifier la clé (test email)
DEL/mailEffacer la config mail

Pour aller plus loin