Webhooks : réception et signature HMAC
MisterBookingHub émet des webhooks pour vous notifier d'événements sur vos modules. Cette documentation couvre le format des payloads et la vérification des signatures.
Événements disponibles
module.activated, module.deactivated, review.received, review.rating_low (note < 3/5), rate_shopper.report_ready, widget.rule_triggered, invoice.issued, invoice.paid, invoice.failed.
Format du payload
Payload JSON POST vers votre URL de webhook (configurée dans Paramètres → Webhooks). En-têtes : X-MMS-Event, X-MMS-Timestamp, X-MMS-Signature (HMAC-SHA256 hexadécimal du body avec la clé partagée). Corps : {event, timestamp, module_id, data: {...}}.
Vérification de signature
Recalculez HMAC-SHA256(secret, timestamp + '.' + body) et comparez avec X-MMS-Signature. Refusez la requête si signature invalide ou si timestamp > 5 minutes de dérive. Cela protège contre le rejeu.
Retry policy
En cas de non-réponse 2xx dans les 30 secondes, MisterBookingHub retente 5 fois avec backoff exponentiel (1min, 5min, 30min, 2h, 12h). Après 5 échecs, le webhook est marqué en échec et une notification email est envoyée à l'administrateur du compte.
Plages IP source
Les webhooks sont émis depuis un jeu d'adresses IP fixes publiées dans notre espace client (Paramètres → Webhooks → Sécurité). Vous pouvez restreindre votre pare-feu à ces IPs.