API publique de réservation
Le site vitrine (ex. cabinet-dr-maghfour.ma) appelle Shifai depuis son backend uniquement. Ne jamais exposer la clé booking dans le navigateur.
Variables côté vitrine
SHIFAI_BOOKING_API_BASE_URL=https://api.shifai.ma SHIFAI_BOOKING_API_KEY=<clé générée dans Shifai> SHIFAI_CLINIC_ID=<id ou slug clinique>
SHIFAI_BOOKING_API_BASE_URL est une variable d’environnement du projet vitrine (Vercel, Netlify, Fly, etc.) — pas un enregistrement DNS Cloudflare. Avant bascule sous-domaines, https://shifai-app.fly.dev ou l’apex fonctionnait aussi tant que l’API y était servie.
Authentification
En-tête HTTP sur les routes protégées :
x-booking-key: <SHIFAI_BOOKING_API_KEY>
Endpoints (aperçu)
GET /api/public/booking/settings?clinicId=…— public, rate-limitéGET /api/public/booking/availability— créneaux (clé)POST /api/public/booking/requests— nouvelle demande (clé)- Gestion patient via token :
/api/public/booking/requests/[token]/…
Contrat détaillé dans le repo : docs/public-booking-api-contract.md.