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.

1

L'événement se produit

Un client effectue une réservation

2

SalonBookIt notifie

Nous envoyons un POST à votre URL

3

Votre serveur traite

Met à jour votre système

Configuration

Configurez vos webhooks depuis le tableau de bord :

  1. Allez à Configuration → Intégrations
  2. Dans la section Webhooks, cliquez sur Ajouter un webhook
  3. Entrez l'URL de votre endpoint (doit être HTTPS)
  4. Sélectionnez les événements que vous souhaitez recevoir
  5. Enregistrez et copiez le Secret pour vérifier les signatures
Exigences de l'URL
  • 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 :

JSON
{
    "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 Response
HTTP/1.1 200 OK
Content-Type: application/json

{"received": true}
Répondez rapidement

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.

Prochaines étapes