Dernière modification : 8 octobre 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
.jsx
ou d’un fichier.tsx
. - Un fichier
package.json
pour 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é. LorsqueobjectType
est défini surCOMPANIES
, la carte sera également disponible dans le panneau d’aperçu des comptes cibles de l’espace de travail des ventes.
Si vous avez déjà personnalisé la colonne du milieu, vous devrez personnaliser l’affichage de la colonne du milieu pour rendre visibles les extensions nouvellement créées.
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. LorsqueobjectType
est 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 duobjectTypes
spé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.
Lors de la création d’une extension pour cet emplacement, vous devez également vous assurer que le fichier de configuration JSON de l’application inclut
tickets
dans le tableau scopes
, et que le fichier de configuration JSON de la carte inclut tickets
dans le champ objectTypes
.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-extensions
react
typescript
package.json
, vous pouvez exécuter la commande hs project install-deps
dans le répertoire du projet.