Webhooks : prévenez vos autres outils en temps réel
Un webhook envoie un court message à un autre outil dès qu'il se passe quelque chose dans votre projet : une publication, une entrée de formulaire, un enregistrement modifié. Cette page explique comment en ajouter un, à quoi ressemble le message, comment l'autre côté peut vérifier qu'il est authentique, et ce qui se passe quand cet autre côté est indisponible.
Ce qu'est un webhook
Voyez cela comme votre projet qui appelle un autre service pour lui dire ce qui vient de se passer. Vous donnez à Briks une adresse (une URL fournie par l'autre outil), vous choisissez les événements à signaler, et chaque fois que l'un d'eux se produit, Briks envoie un message à cette adresse. De nombreux outils d'automatisation, outils de gestion de clients et modules complémentaires de tableur peuvent vous fournir une telle adresse.
Techniquement, chaque message est une requête POST : un appel qui porte un corps, ici écrit en JSON, un format de texte simple que les programmes savent lire. L'outil qui le reçoit lit ce corps et fait ce que vous avez configuré.
| Événement, tel que le studio l'affiche | Code | Envoyé quand |
|---|---|---|
| Published | site.published | Une nouvelle version du site est en ligne. |
| Form received | form.received | Un visiteur a envoyé un message via l'un des formulaires du site. |
| Record changed | record.changed | Un enregistrement de la base de données du projet a été ajouté, modifié ou supprimé. |
record.changed suit les modifications faites dans le studio : un enregistrement ajouté, modifié ou supprimé dans l'onglet Database, une collection vidée, ou la base de données restaurée. Les enregistrements que le site en ligne sauvegarde de lui-même, comme une demande de réservation envoyée par un visiteur, ne le déclenchent pas.
form.received est envoyé pour les entrées venant de l'aperçu comme de la production. Chaque message indique laquelle, afin que l'autre outil puisse ignorer les entrées de l'aperçu.
Limites de chaque plan
| Plan | Webhooks par projet | Appels par jour et par projet |
|---|---|---|
| Free | 1 | 2,000 |
| Starter | 5 | 5 000 |
| Pro | 10 | 10,000 |
| Studio | 25 | 50,000 |
| Agency | 50 | 100 000 |
Quand les appels du jour sont épuisés, un envoi n'est pas effectué et est marqué Failed avec : Today's calls for this project are used up, so this delivery was not sent. Send it again tomorrow.
Quand un projet a autant de webhooks que son forfait le permet, Add webhook est grisé et un lien Get more à côté du compteur ouvre la fenêtre de mise à niveau, qui nomme le plus petit forfait offrant de la place pour un autre.
Ajouter un webhook
Appuyez sur Add webhook
Où : Settings, Webhooks
La page indique combien vous en avez par rapport à votre offre, par exemple 1 sur 5 avec votre offre. Les Editors, Admins et Owners peuvent ajouter des webhooks.
Saisissez l'adresse
Où : Add a webhook
Collez dans Address l'adresse que l'autre outil vous a donnée. Ce doit être une adresse https publique, avec le nom écrit en toutes lettres plutôt qu'un numéro.
Ajouter une note
Où : Add a webhook
Note est facultative, jusqu'à 120 caractères, et vous aide à distinguer les webhooks plus tard :
Enquiries sheet, par exemple.Choisissez les événements
Où : Add a webhook
Cochez les événements dont il doit être informé. Published et Form received sont cochés au départ ; modifiez-les selon vos besoins.
Enregistrer et copier le secret
Où : Your signing secret
Appuyez sur Add webhook. Une boîte de dialogue affiche le secret de signature, qui commence par
whsec_. Appuyez sur Copy et gardez-le : il n'est affiché qu'une fois. Puis appuyez sur Done.Envoyer un test
Où : Settings, Webhooks
Ouvrez les trois points du webhook et choisissez Send a test event. Vous voyez : A test event is on its way. See how it went under Deliveries.
Chaque webhook de la liste affiche son adresse, sa note et ses événements, le secret avec lequel il est signé (les premiers caractères) et le déroulement de la dernière livraison. Son interrupteur le passe sur On ou Off, et ses trois points contiennent Send a test event (jusqu'à dix par heure, uniquement lorsqu'il est activé), Change, New signing secret et Delete.
À quoi ressemble une livraison
Chaque envoi comporte les trois mêmes parties : type (le code de l'événement), timestamp (le moment où il s'est produit, en UTC) et data (les détails). Voici une saisie de formulaire :
{"type":"form.received","timestamp":"2026-10-08T09:41:07.000Z","data":{"form":{"id":"…","subject":"Demande de mariage","page":"/contact","fields":[{"label":"Nom","value":"Ellie Marsh"},{"label":"Date du mariage","value":"14 juin 2027"}],"replyTo":"ellie@example.com"},"production":true}}
| Événement | Ce que contient data |
|---|---|
form.received | form : son id, son subject, la page d'où il a été envoyé, fields (chacun avec un label et une value, dans l'ordre du formulaire) et replyTo, l'e-mail du visiteur quand le formulaire en demande un. Puis production : true pour le site en ligne, false pour l'aperçu. |
site.published | url : l'adresse à laquelle il est passé en ligne. production : si le site est en production. abTest : si un test A/B est en cours. served : si Briks a vu la nouvelle version répondre à cette adresse au moment d'envoyer le message. |
record.changed | action : created, updated, deleted, cleared ou restored. collection : la collection concernée. record : l'identifiant de l'enregistrement. Les valeurs de l'enregistrement ne sont pas incluses. |
test | Un message et le project, avec son id et son name. Envoyé uniquement quand vous appuyez sur Send a test event. |
Chaque envoi comporte aussi trois en-têtes : webhook-id (l'identifiant du message), webhook-timestamp (le moment de l'envoi, en secondes) et webhook-signature. Ils suivent le format ouvert Standard Webhooks, donc les outils qui le comprennent peuvent vérifier les envois à votre place.
Vérifier qu'une livraison est authentique
N'importe qui peut envoyer un message à une adresse, donc le destinataire doit vérifier la signature avant de lui faire confiance. La signature est produite avec le secret de signature que vous seul et Briks possédez. Dès qu'un projet a un webhook, la page Webhooks affiche un court exemple de code sous Checking a delivery is genuine. En clair, la vérification se déroule ainsi :
- Prenez le corps de la requête tel qu'il est arrivé, sous forme de texte, avant de le lire comme du JSON.
- Reliez le
webhook-id, lewebhook-timestampet le corps par des points. - Prenez votre secret, retirez le
whsec_du début et décodez le reste depuis le base64. C'est la clé. - Signez le texte assemblé avec HMAC SHA-256 et cette clé, écrivez le résultat en base64, et placez
v1,devant. - La livraison est authentique si cela correspond à l'une des valeurs séparées par des espaces dans
webhook-signature, et si l'horodatage date de moins de cinq minutes.
Une livraison renvoyée conserve son webhook-id, ce qui permet au destinataire de garder les identifiants déjà traités et d'ignorer les doublons.
Envois et nouvelles tentatives
Deliveries liste chaque envoi des trente derniers jours, du plus récent au plus ancien. Affinez avec Status puis appuyez sur Show. Cliquez sur un envoi pour voir le message complet, l'erreur éventuelle et la réponse de l'adresse.
| Statut | Signification |
|---|---|
| Sending | En attente de sa première tentative. |
| Nouvelle tentative | Un essai a échoué et un autre est prévu. La ligne indique quand, après le prochain essai. |
| Delivered | L'adresse a répondu avec un statut 2xx, le code du web pour dire que tout s'est bien passé. |
| Failed | Toutes les tentatives ont échoué, ou l'envoi n'a pas pu être effectué du tout. |
Chaque essai attend une réponse pendant 15 secondes au maximum. Si la réponse n'est pas un 2xx, Briks réessaie : cinq essais en tout, le premier tout de suite, puis après environ 30 secondes, 2 minutes, 8 minutes et 32 minutes, soit environ 45 minutes du premier au dernier. Une réponse 410 (gone) arrête immédiatement les nouvelles tentatives. Les redirections ne sont pas suivies, donnez donc l'adresse finale.
Une fois qu'une livraison est Failed ou Delivered, Send again renvoie le même message avec le même identifiant, signé à nouveau. Le webhook doit être activé.
Analyses et paramètres
Insights résume les trente derniers jours : Deliveries, la part Delivered, Failed after every try (avec le nombre de nouvelles tentatives nécessaires) et le temps d'Average answer. En dessous, By event et By address montrent où se concentrent les échecs.
Settings propose Download JSON sous Download the webhooks, avec l'adresse, les événements et la note de chaque webhook. Les secrets de signature ne sont jamais inclus. Sa zone de danger contient Clear log, qui supprime le journal des envois et arrête toute nouvelle tentative, et Delete all, qui supprime tous les webhooks après que vous avez saisi le nom du projet. Les deux sont réservés aux Owners et aux Admins.
Exemple concret : envoyer les réponses d'un formulaire vers un autre outil
Les envois de formulaire ne peuvent pas être exportés depuis le studio : un webhook permet donc de les conserver dans un autre outil à mesure qu'ils arrivent. Le studio les garde aussi : les 100 derniers s'affichent sous Settings, Forms.
Une photographe de mariage à York envoie les demandes à sa liste de clients
Obtenez une adresse depuis l'autre outil
Où : Her client list tool
Elle y crée un webhook entrant et copie l'adresse qu'on lui donne.
Ajouter le webhook
Où : Settings, Webhooks
Elle colle l'adresse, écrit la note
Client list, décoche Published et laisse seulement Form received coché.Donnez le secret à l'outil
Où : Her client list tool
Son outil vérifie les signatures, donc elle colle le secret de signature dans ses réglages avant de fermer la boîte de dialogue.
Testez-le
Où : Settings, Webhooks, Deliveries
Elle envoie un événement de test et le voit Delivered sous Deliveries.
Associez les champs
Où : Her client list tool
Elle associe les libellés
fieldsName, Wedding date et Venue aux colonnes de son outil, et lui demande d'ignorer les messages oùproductionvautfalse.
Un couple remplit le formulaire de contact sur son site en ligne.
La demande arrive dans sa boîte de réception, puisque le site est en production, et apparaît dans sa liste de clients un instant après.