Dernière modification : 18 novembre 2025
Vous trouverez ci-dessous des informations de référence pour la création de cartes d’application
Structure du projet
Dans le contexte d’un projet, les composants de carte d’application sont définis dans un répertoirecards dans app/. Le répertoire cards doit contenir :
- Un fichier de définition de schéma JSON pour chaque type de carte (
*-hsmeta.json). - Un fichier React qui restitue l’interface de la carte. Il peut s’agir d’un fichier
.jsxou d’un fichier.tsx. - Un fichier
package.jsonpour gérer toutes les dépendances nécessaires.
Schéma de carte d’application
Dans le fichier de configuration*-hsmeta.json de votre carte d’application, ajoutez les propriétés ci-dessous.
Les champs marqués par * sont requis.
| Champ | Type | Description |
|---|---|---|
uid* | Chaîne | l’identifiant unique de la carte. Il peut s’agir de n’importe quelle chaîne, mais doit identifier la carte de manière significative. HubSpot identifiera la carte par cet ID afin que vous puissiez modifier le titre de la carte sans supprimer les données historiques ou d’état, telles que la position sur la fiche d’informations CRM. |
type | Chaîne | le type de composant, qui devrait être card dans ce cas. |
config | Objet | un objet contenant des détails de configuration. |
name* | Chaîne | le titre de la carte, tel qu’il apparaît dans l’interface utilisateur de HubSpot. |
description | Chaîne | une description de la carte. |
previewImage | Objet | un objet contenant les champs file et altText. Le champ file est le chemin relatif vers l’image d’aperçu. Les extensions de fichier valides sont png, jpeg, jpg ou gif. La taille maximale du fichier est de 5.0 Mo. Le champ altText est une courte description de l’image. |
entrypoint* | Chaîne | le chemin du fichier du code React front-end de la carte. |
location* | crm.record.tab | crm.record.sidebar | crm.preview |helpdesk.sidebar | Emplacement de la carte dans l’interface utilisateur de HubSpot Vous ne pouvez indiquer qu’une seule valeur d’emplacement, mais certaines combinaisons location et objectTypes entraînent la prise en charge de plusieurs emplacements. Consultez la section Emplacements pris en charge ci-dessous pour plus de détails. |
objectTypes* | Tableau | les types de fiches d’informations CRM sur lesquels la carte apparaîtra. Consultez la section Objets pris en charge ci-dessous pour plus de détails. |
Objets pris en charge
Dans le tableauobjectTypes du fichier de configuration de la carte *-hsmeta.json, indiquez les types de fiches d’informations CRM dans lesquels la carte apparaîtra. Voici les objets CRM actuellement pris en charge, leur valeur objectType et le domaine minimum à ajouter à votre application.
Pour les objets standards de HubSpot, les valeurs
objectType ne sont pas sensibles à la casse et le singulier et le pluriel sont pris en charge. Par exemple, "CONTACT" et "contacts" sont tous deux valides.| Objet CRM | objectType valeur | Domaine associé |
|---|---|---|
| Contacts | CONTACT | crm.objects.contacts.read |
| Entreprises | COMPANY | crm.objects.companies.read |
| Transactions | DEALS | crm.objects.deals.read |
| Tickets | TICKETS | tickets |
| Objets personnalisés | p_objectName (sensibles à la casse) | crm.objects.custom.read |
| Objets d’application | app_object_uid | voir les domaines des objets d’application |
| Objet CRM | objectType valeur | Domaines associés |
|---|---|---|
| Rendez-vous | APPOINTMENTS | crm.objects.appointments.read |
| Formation | COURSES | crm.objects.courses.read |
| Listings | LISTINGS | crm.objects.listings.read |
| Services | SERVICES | crm.objects.services.read |
Emplacements pris en charge
Dans le champlocation du fichier de configuration de la carte *-hsmeta.json, indiquez où la carte doit s’afficher dans HubSpot. Vous trouverez ci-dessous les emplacements actuellement pris en charge.
crm.record.tab: place l’extension dans la colonne centrale des pages de fiches d’informations CRM, soit dans l’un des onglets par défaut de HubSpot, soit dans un onglet personnalisé. LorsqueobjectTypeest défini surCOMPANIES, la carte sera également disponible dans le panneau d’aperçu des comptes cibles de l’espace de travail des ventes.
crm.record.sidebar: affiche l’extension dans la barre latérale droite des pages de fiches d’informations CRM. Les extensions de la barre latérale ne peuvent pas utiliser les composants de données CRM. LorsqueobjectTypeest défini surDEALS, la carte sera également disponible dans la barre latérale des transactions de l’espace de travail des ventes.
crm.preview: affiche la carte d’application dans le panneau d’aperçu auquel vous pouvez accéder via le CRM. Lorsque vous utilisez cet emplacement, l’extension sera disponible lors de la prévisualisation duobjectTypesspécifié dans le fichier de configuration JSON. Cela inclut la prévisualisation des fiches d’informations à partir des pages de fiches d’informations CRM, des pages d’index, des vues de tableau de bord et de l’outil Listes. Découvrez-en davantage sur la personnalisation des aperçus.
helpdesk.sidebar: affiche la carte dans la barre latérale des tickets du centre de support. Cela inclut le panneau d’aperçu des tickets sur la page d’accueil du centre de support et la barre latérale droite de la vue de ticket dans le centre de support. Pour ajouter une carte à cet emplacement, vous devez configurer les paramètres de votre centre de support pour qu’il inclue la carte.
Création de l’interface React
L’interface utilisateur d’une carte d’application est créée par un fichier de composant React, soit.jsx ou .tsx. Ce fichier se trouve dans le répertoire cards/ avec le fichier JSON de configuration de carte (*-hsmeta.json). Dans le fichier de configuration de carte, vous indiquerez le chemin du fichier React dans le champ entrypoint.
Vous trouverez ci-dessous un exemple de carte d’application simple, qui comprend des composants d’interface utilisateur Text et Button pour restituer le contenu de la carte, ainsi qu’un composant Flex pour gérer la mise en page.
- Document de référence sur les composants d’extensions d’interface utilisateur
- Kit de développement logiciel pour les extensions d’interface utilisateur
Gestion des dépendances
Vous pouvez inclure des dépendances pour votre carte d’application dans un fichierpackage.json du répertoire cards/. Par défaut, lors de l’ajout d’une carte d’application via la commande hs project add, un fichier package.json sera créé pour vous avec les dépendances suivantes :
@hubspot/ui-extensionsreacttypescript
package.json, vous pouvez exécuter la commande hs project install-deps dans le répertoire du projet.




