Skip to main content
Vous trouverez ci-dessous des informations de référence relatives à l’utilisation des événements d’application, notamment les schémas de type d’événement, les modèles de rendu de chronologie d’événement, les champs d’occurrence d’événement, etc.

Structure du projet

Dans le contexte d’un projet, vous placerez les définitions des types d’événements dans un répertoire app-events sous app/. Le répertoire app-events doit contenir un fichier de définition de schéma JSON pour chaque type d’événement (*-hsmeta.json).
Pour inclure des définitions de types d’événement dans un projet, procédez comme suit :
  • Votre application doit utiliser l’authentification OAuth et être configurée pour la distribution sur le marketplace des applications. En outre, l’application doit inclure timeline dans son requiredScopes. Découvrez-en davantage sur la configuration de l’application.
  • Votre projet doit être correctement déployé avant de pouvoir inclure un composant d’événement d’application.

Schéma de type d’événement

Voici les options de configuration disponibles pour les schémas de type d’événement (*-hsmeta.json). Notez que certains des attributs ci-dessous ne peuvent pas être modifiés après la création du type d’événement.
Chaque application est limitée à 750 types d’événements.

Les champs marqués par * sont requis.

Propriétés d’événement

Lors de la définition du schéma d’événement, utilisez le tableau properties pour définir les champs vers lesquels vous enverrez les données d’occurrence d’événement. Chaque type d’événement peut avoir jusqu’à 500 propriétés.

Les champs marqués par * sont requis.

Horodatage de propriété

Dans certains cas, vous souhaiterez peut-être modifier les valeurs des propriétés de la fiche d’informations CRM en fonction des données d’occurrence d’événement de l’application. Par exemple, vous pouvez vouloir mettre à jour le prénom et le nom de famille d’un contact avec de nouvelles valeurs définies par l’occurrence (par exemple, soumission de formulaire). Pour mettre à jour les propriétés des fiches d’informations CRM via des occurrences d’événement, vous pouvez lier une propriété d’événement à une propriété CRM dans le schéma de type d’événement. Dans les champs de définition d’une propriété d’événement donnée, incluez le champ objectPropertyName et précisez la propriété CRM à associer. Une fois qu’une propriété est liée, HubSpot mettra toujours à jour la valeur de la propriété sur la fiche d’informations CRM en utilisant la valeur de l’occurence la plus récente en fonction du champ timestamp. Par exemple, le schéma de type d’événement ci-dessous associe la propriété d’événement customerName à une propriété de contact personnalisée nommée custom_property_name. Lorsque les données d’occurrence d’événement incluent une valeur pour customerName, custom_property_name sera mise à jour pour la fiche d’informations CRM associée.

Modèles de rendu

Les schémas de type d’événement peuvent inclure les champs headerTemplate et detailTemplate pour configurer le rendu des occurrences d’événement sur les chronologies des fiches d’informations CRM.
  • headerTemplate : une description d’une ligne de l’événement en haut de la carte d’activité (jusqu’à 1 000 caractères).
  • detailTemplate : les détails de l’événement dans le corps de la carte d’activité (jusqu’à 10 000 caractères).
Les modèles de rendu sont écrits à l’aide de Markdown avec les modèles Handlebars. Ces modèles peuvent restituer les données d’occurrence d’événement comme suit :
  • Dans les deux modèles, vous pouvez accéder à toutes données de property transmises par l’occurrence d’événement à l’aide de la syntaxe {{propertyName}}.
  • Dans le detailTemplate, vous pouvez également accéder aux valeurs extraData transmises par l’occurrence d’événement à l’aide de la syntaxe {{extraData.fieldName}}. Vous pouvez accéder à n’importe quel niveau d’attribut en notation par points extraData, tel que {{extraData.person1.preferredName}}.
L’objet extraData peut seulement contenir un JSON valide. Si le JSON est erroné, l’occurrence sera rejetée et vous recevrez une réponse d’erreur.
Par exemple, les modèles ci-dessous utilisent les données de propriété customerName et loginLocation, ainsi que le champ surveyData de extraData envoyé via l’occurrence d’événement. Capture d'écran montrant l'exemple de modèle de rendu ci-dessous sur la chronologie d'un contact.
Les modèles étant conçus avec Markdown et Handlebars, vous pouvez tirer parti des aides de Handlebars pour rendre le contenu plus dynamique. Par exemple, l’élément suivant detailTemplate inclut l’assistant #if pour effectuer une restitution conditionnelle du contenu selon que les données d’occurrence d’événement incluent ou non le champ surveyData dans extraData.
  • Si extraData contient surveyData, afficher les réponses à l’enquête après connexion.
  • En l’absence de surveyData lors de l’occurrence de l’événement, afficher No additional information..
Capture d'écran montrant l'affichage de l'exemple de code ci-dessous sur la chronologie d'un contact.

Utilisation d’iframes

Lorsque les données d’occurrence d’événement contiennent le champ timelineIFrame, la carte d’activité de la chronologie inclura un lien hypertexte sur lequel les utilisateurs pourront cliquer pour ouvrir le contenu lié dans un iframe. Capture d'écran d'un lien inclus dans une carte d'activité de chronologie en raison du champ timelineIFrame

Occurrence de l’événement

Pour envoyer des occurrences d’événements pour un type d’événement donné, effectuez une requête POST aux points de terminaison ci-dessous. L’API d’événements d’application comprend des points de terminaison pour l’envoi d’occurrences d’événements uniques et de lots d’occurrences de plusieurs événements. Pour les deux points de terminaison, les données d’occurrence d’événement devront être validées par rapport à un schéma de type d’événement existant, que vous indiquerez eventTypeName dans le corps de la requête.
Pour envoyer une occurrence d’événement unique, effectuez une requête POST à /integrators/timeline/v4/events.Dans le corps de la requête, incluez les données d’occurrence d’événement, en respectant le schéma défini du type d’événement.
Dans le corps de la requête, incluez les données basées sur le schéma de type d’événement défini. Le corps de la requête doit inclure l’événement eventTypeName, que vous pouvez récupérer via l’API.

Les champs marqués par * sont requis.

Si certaines occurrences ne sont pas validées, les occurrences validées avec succès seront toujours acceptées et persistées. Le message d’erreur dans la réponse fournira des informations sur ce que vous devrez corriger. Capture d'écran d'un exemple de message d'erreur que vous pouvez recevoir lors de l'envoi de données d'occurrence d'événement

Association des fiches d’informations CRM

Chaque événement doit être associé à une fiche d’informations CRM, le type d’objet CRM étant défini par le schéma de type d’événement. L’API des événements de l’application comprend plusieurs champs pour associer les données d’occurrence d’événement aux fiches d’informations CRM. Pour tous les objets CRM pris en charge, il est recommandé d’utiliser le champ objectId. Cependant, dans certaines situations, vous souhaiterez peut-être utiliser les autres champs.
  • utk/email : si vous ne connaissez pas l’ID du contact, utilisez le champ utk et/ou email pour l’identification. Fournir ces deux identifiants vous permet également de créer et de mettre à jour des contacts. Par exemple :
    • Si utk correspond à un contact existant mais que l’email ne correspond pas, HubSpot mettra à jour le contact avec la nouvelle adresse e-mail.
    • Si aucun objectId n’est fourni, l’occurrence de l’événement sera associée à un contact existant correspondant à utk/email, ou HubSpot créera un nouveau contact si aucune correspondance n’est trouvée.
    • Notez que le utk seul ne peut pas créer de nouveaux contacts. Vous devez toujours inclure l’email avec utk pour garantir une bonne association.
  • domain : pour l’association d’entreprises, vous devez fournir l’objectId, mais vous pouvez également l’inclure le domain pour mettre à jour la propriété de domain de cette entreprise.
Dernière modification le 10 février 2026