
Vue d’ensemble
Les Webhooks dans Twenty complètent l’API en permettant des notifications en temps réel à vos propres applications lors de certains événements dans votre CRM. Au lieu de sonder continuellement l’API pour les changements, vous pouvez configurer des webhooks pour que Twenty pousse des données vers votre système chaque fois que des événements spécifiques se produisent (par exemple, lorsqu’un nouvel enregistrement est créé ou qu’un enregistrement existant est mis à jour). Cela aide à synchroniser instantanément et efficacement les systèmes externes avec Twenty. Avec les webhooks, Twenty enverra une requête HTTP POST à une URL que vous spécifiez, contenant des détails sur l’événement. Vous pouvez ensuite traiter ces données dans votre application (par exemple, pour mettre à jour votre base de données externe, déclencher des flux de travail ou envoyer des alertes).Configuration d’un Webhook
Pour créer un webhook dans Twenty, utilisez les paramètres APIs & Webhooks dans votre application Twenty :- Naviguer vers les Paramètres : Dans votre application Twenty, allez dans Paramètres → APIs & Webhooks.
- Créer un Webhook : Dans Webhooks, cliquez sur + Créer un webhook.
- Entrez l’URL : Fournissez l’URL de l’endpoint sur votre serveur où vous souhaitez que Twenty envoie les requêtes webhook. Cela doit être une URL publiquement accessible qui peut gérer les requêtes POST.
- Enregistrer : Cliquez sur Enregistrer pour créer le webhook. Le nouveau webhook sera actif immédiatement.
Événements et Charges utiles
Une fois qu’un webhook est configuré, Twenty enverra une requête HTTP POST à l’URL que vous avez spécifiée chaque fois qu’un événement déclencheur se produit dans vos données CRM. Les événements communs qui déclenchent les webhooks incluent :- Enregistrement Créé : par exemple, une nouvelle personne est ajoutée (
person.created), une nouvelle entreprise est créée (company.created), une note est créée (note.created), etc. - Enregistrement Mis à Jour : par exemple, les informations d’une personne existante sont mises à jour (
person.updated), un enregistrement d’entreprise est édité (company.updated), etc. - Enregistrement Supprimé : par exemple, une personne ou une entreprise est supprimée (
person.deleted,company.deleted). - Autres Événements : Si applicable, d’autres événements d’objet ou déclencheurs personnalisés (par exemple, si des tâches ou d’autres objets sont mis à jour, des types d’événements similaires seraient utilisés comme
task.created,note.updated, etc.).
"event"spécifie ce qui s’est passé (person.created)."data"contient les détails du nouvel enregistrement (les mêmes informations que vous obtiendriez si vous demandiez cette personne via l’API)."timestamp"est le moment où l’événement s’est produit (en UTC).
"event" pour comprendre ce qui s’est passé, et ensuite utiliser les "data" en conséquence (par exemple, créer un nouveau contact dans votre système ou mettre à jour un contact existant).
Remarque : Il est important de répondre avec un statut HTTP 2xx depuis votre endpoint webhook pour accuser réception avec succès. Si l’expéditeur du webhook de Twenty ne reçoit pas une réponse 2xx, il peut considérer que la livraison a échoué. (À l’avenir, une logique de réessai pourrait tenter de renvoyer les webhooks échoués, donc essayez toujours de retourner un 200 OK aussi rapidement que possible après le traitement des données.)
Validation des Webhooks
Pour garantir la sécurité de vos endpoints webhook, Twenty inclut une signature dans l’en-têteX-Twenty-Webhook-Signature.
Cette signature est un hachage HMAC SHA256 de la charge utile de la requête, calculé en utilisant votre clé secrète.
Pour valider la signature, vous devrez :
- Concaténer le timestamp (de l’en-tête
X-Twenty-Webhook-Timestamp), un deux-points, et la chaîne JSON de la charge utile - Calculer le hachage HMAC SHA256 en utilisant votre clé secrète comme clé ()
- Comparer le résultat de la somme de contrôle hexadécimale avec l’en-tête de signature