Run in Postman
- Vous devez configurer une application HubSpot pour utiliser les webhooks en vous abonnant aux événements pour lesquels vous souhaitez recevoir des notifications et en précisant une URL pour l’envoi de celles-ci. Consultez la documentation relative aux prérequis pour en savoir plus sur la création d’une application.
- Vous devez déployer un point de terminaison publiquement accessible et sécurisé (HTTPS) pour cette URL, capable de gérer les charges utiles pertinentes du webhook spécifiées dans cette documentation.
Périmètres d’accès
Pour utiliser les webhooks afin de vous abonner à des événements CRM, votre application devra être configurée pour exiger le domaine associé qui correspond au type d’objet CRM auquel vous voulez vous abonner. Par exemple, si vous souhaitez vous abonner à des événements de contact, vous devez demander le domainecrm.objects.contacts.read.
- Si vous créez des abonnements dans les paramètres de l’interface utilisateur de votre application publique, vous serez invité à ajouter le domaine requis dans le panneau Créer de nouveaux abonnements webhook avant de terminer la création de votre abonnement.
- Si vous créez un abonnement en faisant une demande
POSTau point de terminaison/webhooks/v3/{appId}/subscriptions, la réponse inclura une erreur qui fournira le nom du domaine que vous devrez configurer dans les paramètres de l’interface utilisateur de votre application publique. - Si votre application utilise déjà des webhooks, vous ne pourrez pas supprimer les domaines requis par les abonnements webhook actifs sans d’abord mettre en pause et supprimer les abonnements.
- Vous pouvez consulter les domaines requis pour chaque type d’abonnement webhook dans le tableau ci-dessous.
Paramètres de webhook
Avant de configurer des abonnements de webhook, vous devez spécifier une URL à laquelle envoyer ces notifications. Suivez les instructions dans les sections ci-dessous pour savoir comment configurer entièrement les abonnements pour votre application.Gérer les paramètres de votre compte de développeur
Vous pouvez gérer vos paramètres d’URL et de limitation d’événement via la page de configuration de votre application dans votre compte de développeur :- Dans votre compte de développeur, accédez à votre tableau de bord Applications.
- Cliquez sur le nom de l’application pour laquelle vous souhaitez configurer des webhooks.

- Dans le menu latéral de gauche, accédez à Webhooks.
- Dans le champ URL cible, saisissez l’URL vers laquelle HubSpot effectuera une demande POST pour le déclenchement des événements.
- Utilisez le paramètre Limitation d’événement pour ajuster le nombre maximal d’événements que HubSpot essaiera d’envoyer.

- Cliquez sur Enregistrer.
Gérer les paramètres via l’API
Vous pouvez utiliser les points de terminaison suivants et votre clé d’API de développeur pour configurer de façon programmée les paramètres de webhook pour une application. Pour afficher tous les paramètres de webhook actuellement configurés pour une application, effectuez une demandeGET à webhooks/v3/{appId}/settings.
Vous devrez inclure l’ID de l’application dans la demande, que vous trouverez sous le nom de l’application dans votre tableau de bord Applications ou dans l’onglet OAuth dans les paramètres de votre application.
Les paramètres contiennent les champs suivants :
Pour apporter des modifications à ces paramètres, effectuez une demande
PUT à webhooks/v3/{appId}/settings et incluez les champs suivants dans le corps de la demande :
Par exemple, votre demande peut ressembler à ce qui suit :
Abonnements de webhook
Une fois que vous avez configuré l’URL de votre webhook et les limitations d’événement, vous devez créer un ou plusieurs abonnements. Les abonnements de webhook indiquent à HubSpot les événements que votre application spécifique souhaite recevoir. Les abonnements s’appliquent à tous les clients qui ont installé votre intégration. Autrement dit, vous devez spécifier les abonnements dont vous avez besoin une seule fois. Une fois que vous avez activé un abonnement pour une application, il commencera automatiquement à obtenir les webhooks pour tous les clients qui ont installé votre application. Votre intégration commencera à recevoir les déclencheurs de webhook de tous les nouveaux clients. Pour tous les abonnements webhookassociationChange, le webhook déclenchera deux événements pour les deux parties de l’association.
- Lors de l’association de deux fiches d’informations d’un contact, un abonnement à
contact.associationChangedéclenchera deux événements, représentant lecontact 1 au contact 2et lecontact 2 au contact 1. - Lorsque vous associez une fiche d’informations d’une entreprise, si vous avez deux abonnements webhook
contact.associationChangeetcompany.associationChange, vous recevrez deux événements. Ceux-ci représenteront lecontact 1 à l'entreprise 1etl'entreprise 1 au contact 1.
eventType lors de la création d’abonnements via l’API :
Les types d’abonnement aux conversations suivants sont disponibles si vous utilisez l’API de boîte de réception de conversations et de messages, qui est actuellement en version bêta :
Pour les abonnements de modification de propriétés, vous devez spécifier la propriété pour laquelle vous souhaitez recevoir des notifications. Vous pouvez spécifier plusieurs abonnements de modification de propriétés. Si le compte d’un client ne dispose pas de la propriété que vous spécifiez dans un abonnement, vous ne recevrez aucun webhook de la part ce client pour cette propriété.
Certaines propriétés ne sont pas disponibles dans le cadre des abonnements de modifications de propriétés CRM. Ces propriétés sont :
num_unique_conversion_eventshs_lastmodifieddate
assignedTo: le fil de conversation a été réattribué ou désattribué. Si le fil de conversation a été réattribué,propertyValuesera un ID d’acteur dans la charge utile des webhooks. S’il est désattribué, cette valeur sera vide.status: le statut du fil de conversation a changé. Dans la charge utile des webhooks,propertyValueseraOPENouCLOSED.isArchived: le fil de conversation a été restauré.propertyValuedans la charge utile des webhooks sera toujoursFALSE.
Créer des abonnements dans votre compte de développeur
Vous pouvez créer des abonnements de webhook dans votre compte de développeur HubSpot.- Dans votre compte de développeur HubSpot, accédez au tableau bord Applications.
- Cliquez sur le nom d’une application.
- Dans le menu latéral de gauche, accédez à Webhooks.
- Cliquez sur Créer un abonnement.
- Dans le panneau de droite, cliquez sur le menu déroulant Quels types d’objets ? et sélectionnez les objets pour lesquels vous souhaitez créer un abonnement.
- Cliquez sur le menu déroulant Écouter quels événements ? et sélectionnez les types d’événements.

- Si vous créez un abonnement pour des événements de modification de propriété, cliquez sur le menu déroulant Quelles propriétés ? et sélectionnez les propriétés à écouter.

- Cliquez sur S’abonner.
- Dans la section Abonnements aux événements, passez le curseur sur le type d’objet et cliquez sur Afficher les abonnements.
- Sélectionnez la case à cocher à côté de l’événement, puis dans l’en-tête du tableau, cliquez sur Activer.

Créer des abonnements via l’API
Vous pouvez créer des abonnements de façon programmée en utilisant les points de terminaison suivants. Vous devrez utiliser votre clé d’API de développeur lors des demandes à ces points de terminaison. Un abonnement peut inclure les champs suivants :Obtenir des abonnements
Pour récupérer la liste des abonnements, effectuez une demandeGET à webhooks/v3/{appId}/subscriptions.
La réponse sera un ensemble d’objets représentant vos abonnements. Chaque objet inclura des informations sur l’abonnement comme l’ID, la date de création, le type et, le cas échéant, une indication si l’abonnement est actuellement actif. Voici un exemple de réponse :
Créer un nouvel abonnement
Pour créer un nouvel abonnement, effectuez une demandePOST à webhooks/v3/{appId}/subscriptions.
Dans le corps de la demande, vous pouvez inclure les champs suivants :
Vous n’avez pas besoin d’inclure
id, createdAt ou createdBy, car ces champs sont automatiquement définis.
Par exemple, votre corps de demande peut ressembler à ce qui suit :
eventType doit être un type d’abonnement valide tel que défini dans la section ci-dessus et propertyName doit être un nom de propriété valide. Si un client n’a aucune propriété définie correspondant à cette valeur, cet abonnement ne déclenchera aucune notification.
Mettre à jour un abonnement
Pour activer ou mettre en pause un abonnement, effectuez une demandePUT à webhooks/v3/{appId}/subscriptions/{subscriptionId}.
Dans le corps de la demande, ajoutez les éléments suivants :
Supprimer un abonnement
Pour supprimer un abonnement, effectuez une demandeDELETE à webhooks/v3/{appId}/subscriptions/{subscriptionId}.
Charges utiles de webhook
Le point de terminaison pour l’URL cible que vous spécifiez dans les paramètres de webhook de votre application recevra des demandesPOST contenant des données au format JSON de HubSpot.
Pour vérifier que les demandes que vous obtenez au point de terminaison de webhook proviennent bien de HubSpot, HubSpot renseigne un en-tête X-HubSpot-Signature avec une fonction de hachage SHA-256 composée du secret client de votre application et des détails de la demande. Découvrez-en davantage sur la validation des signatures des demandes.
Utilisez les tableaux ci-dessous pour afficher des détails sur les champs pouvant être contenus dans la charge utile.
occuredAt pour chaque notification pour déterminer quand est survenu l’événement qui a déclenché la notification.
HubSpot ne garantit pas non plus que vous ne recevrez qu’une seule notification pour un événement. Bien que cela soit rare, il est possible que HubSpot vous envoie plusieurs fois la même notification.
Suppression de contacts conformément à la confidentialité
Les utilisateurs HubSpot peuvent supprimer définitivement une fiche d’informations de contact pour répondre à la législation en matière de confidentialité. Découvrez-en davantage sur la suppression conformément au RGPD. Vous pouvez vous abonner au type d’abonnementcontact.privacyDeletion pour recevoir des notifications de webhook lorsqu’un utilisateur effectue une suppression de contact conformément à la confidentialité.
Les notifications de suppression conformément à la confidentialité ont un comportement spécial :
- Un événement de suppression conformément à la confidentialité déclenche également l’événement de suppression du contact. Vous recevrez donc deux notifications si vous êtes abonné aux deux événements.
- Ces notifications ne seront pas nécessairement envoyées dans le bon ordre ou dans le même lot de messages. Vous devrez utiliser l’ID d’objet pour faire correspondre les différents messages.
Sécurité
Pour vérifier que les demandes que vous obtenez au point de terminaison de webhook proviennent bien de HubSpot, HubSpot dispose d’un en-têteX-HubSpot-Signature avec une fonction de hachage SHA-256 de concaténation de l’app-secret pour votre application et le corps de demande envoyé.
Pour vérifier cette signature, concaténez le secret de votre application et le corps non analysé de la demande que vous traitez, et obtenez un hachage SHA-256 du résultat. Comparez le hachage résultant avec la valeur de X-HubSpot-Signature. Si ces valeurs sont identiques, cette demande provient de HubSpot ou la demande provenait d’une autre personne qui connait le secret de votre application (lequel doit rester secret).
Si ces valeurs sont différentes, cette demande peut avoir été modifiée en transit ou quelqu’un peut usurper les notifications de webhook à votre point de terminaison.
Découvrez-en davantage sur la validation des demandes de signature.
Nouvelles tentatives
Si votre service rencontre des problèmes de traitement des notifications, HubSpot tentera d’envoyer à nouveau les notifications jusqu’à 10 fois. HubSpot procèdera à de nouvelles tentatives dans les cas suivants :- La connexion a échoué : HubSpot ne parvient pas à ouvrir une connexion HTTP de l’URL de webhook fournie.
- Expiration : votre service prend plus de cinq secondes pour renvoyer une réponse à un lot de notifications.
- Codes d’erreur : votre service répond avec un code de statut HTTP (4xx ou 5xx).
Limites d’utilisation
Les demandesPOST que HubSpot envoie à votre service via vos abonnements de webhook ne seront pas comptabilisées dans les limites de taux d’API de votre application.
Vous pouvez créer un maximum de 1 000 abonnements par application. Si vous tentez d’en créer plus, vous recevrez une mauvaise requête 400 avec le corps suivant :