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
| Header | Status | Notes |
X-API-Key: KEY | Recommandé | Header standard pour l'API publique. |
Authorization: Bearer KEY | OK | Compatible avec les libs OAuth qui n'acceptent que Bearer. |
X-Admin-Token: KEY | Legacy | Toujours supporté, mais préférez X-API-Key. |
Récupérer votre clé
- Connectez-vous sur admin.restaurateur.ch
- Allez dans Paramètres → API
- 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éthode | Usage |
| GET | Lire une ressource ou une liste |
| POST | Créer ou exécuter une action (accept/reject/no-show) |
| PUT | Mettre à jour entièrement une ressource (`PATCH` accepté en alias) |
| PATCH | Mise à jour partielle |
| DELETE | Supprimer / 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
| Status | Description |
| pending | Demande reçue, en attente de validation. |
| confirmed | Confirmée. Email envoyé au client. |
| cancelled | Annulée (refusée ou annulée par client). |
| no_show | Le client ne s'est pas présenté. |
Endpoints disponibles
Plus de 30 endpoints organisés en 8 familles.
Réservations
Calendrier
Services & capacités
Stats
| Méthode | Endpoint | Description |
| GET | /stats | Stats globales rapides |
| GET | /stats/counts | Comptages (résas, couverts) par période/service |
Configuration restaurant