Webhooks
Recevez des notifications en temps réel lorsque des événements se produisent dans votre commerce.
Introduction
Les webhooks vous permettent de recevoir des notifications HTTP sur votre serveur lorsque des événements importants se produisent, comme :
- Une nouvelle réservation est créée
- Une réservation est annulée
- Un paiement est effectué
- Un nouveau client s'inscrit
Au lieu d'interroger périodiquement l'API (polling), votre serveur reçoit automatiquement les données lorsque les événements se produisent.
L'événement se produit
Un client effectue une réservation
SalonBookIt notifie
Nous envoyons un POST à votre URL
Votre serveur traite
Met à jour votre système
Configuration
Configurez vos webhooks depuis le tableau de bord :
- Allez à Configuration → Intégrations
- Dans la section Webhooks, cliquez sur Ajouter un webhook
- Entrez l'URL de votre endpoint (doit être HTTPS)
- Sélectionnez les événements que vous souhaitez recevoir
- Enregistrez et copiez le Secret pour vérifier les signatures
- Doit utiliser HTTPS (pas HTTP)
- Doit être accessible publiquement
- Doit répondre en moins de 10 secondes
Format du payload
Chaque webhook inclut la structure suivante :
{
"id": "evt_abc123xyz789",
"type": "booking.created",
"created": "2024-01-20T10:30:00Z",
"tenant_id": "uuid-del-tenant",
"data": {
// Données de l'événement (varient selon le type)
}
}
Champs du webhook
| Champ | Type | Description |
|---|---|---|
id |
string | ID unique de l'événement (pour l'idempotence) |
type |
string | Type d'événement (ex : booking.created) |
created |
string | Timestamp ISO 8601 de l'événement |
tenant_id |
string | UUID du commerce |
data |
object | Données spécifiques à l'événement |
Headers de la requête
Chaque webhook inclut ces headers :
| Header | Description |
|---|---|
Content-Type |
application/json |
X-SalonBookIt-Signature |
Signature HMAC pour vérifier l'authenticité |
X-SalonBookIt-Event |
Type d'événement |
X-SalonBookIt-Delivery |
ID de livraison (pour le débogage) |
X-SalonBookIt-Timestamp |
Timestamp de l'envoi |
Réponse attendue
Votre serveur doit répondre avec un code 2xx (200, 201, 202, 204) pour indiquer que le webhook a été reçu correctement.
HTTP/1.1 200 OK
Content-Type: application/json
{"received": true}
Répondez en moins de 10 secondes. Si vous devez traiter des données lourdes, enregistrez l'événement et traitez-le de manière asynchrone.
Politique de réessai
Si votre serveur ne répond pas ou renvoie une erreur (4xx ou 5xx), nous réessayons automatiquement :
| Tentative | Attente |
|---|---|
| 1 | Immédiat |
| 2 | 5 minutes |
| 3 | 30 minutes |
| 4 | 2 heures |
| 5 | 24 heures (final) |
Après 5 tentatives échouées, le webhook est marqué comme échoué et n'est plus réessayé. Vous pouvez voir les webhooks échoués dans le tableau de bord.