Dernière modification : 11 septembre 2025
Découvrez ci-dessous des informations de référence sur les fonctionnalités des applications de la plateforme de développement, y compris des définitions de fichiers de configuration, des détails de domaines, etc.
Structure du projet
- Tous les composants du projet doivent se trouver dans le répertoire
src
spécifié dans le fichier de configurationhsproject.json
de premier niveau. - Toutes les fonctionnalités et tous les composants de l’application doivent se trouver dans le répertoire
src/app/
. Dans ce répertoireapp/
, vous définirez des sous-répertoires pour chaque fonctionnalité que vous souhaitez que votre application prenne en charge :- Les événements d’application sont configurés dans
app-events/
. - Les objets d’application sont définis dans
app-objects/
. - Toutes les caractéristiques de la carte sont définies dans
cards/
. - Les fonctionnalités de la page Paramètres sont définies dans
settings/
. - La télémétrie est configurée dans
telemetry/
. - Les abonnements Webhook sont définis dans
webhooks/
. - Les actions de workflow personnalisées sont définies dans
workflow-actions/
.
- Les événements d’application sont configurés dans
- Dans chaque sous-répertoire d’entités, vous configurerez l’entité à l’aide d’un fichier
*-hsmeta.json
. Vous pouvez préfixer le nom du fichier avec un élément significatif pour votre application (par exemple,my-app-hsmeta.json
), tant que le fichier se termine par-hsmeta.json
. Ces fichiers doivent se trouver à la racine de leur dossier respectif (par exemple,app/my-app-hsmeta.json
,cards/my-card-hsmeta.json
).
app-hsmeta.json
de schéma d’application de niveau supérieur dans la section schéma d’application ci-dessous. Une fois que vous êtes prêt à ajouter des fonctionnalités d’application, consultez la section Ajout de fonctionnalités d’application.
Afficher un exemple sur GitHub
*-hsmeta.json
.
Spécification des UID
Le champuid
est un identifiant unique en interne pour votre application spécifique et doit également être globalement unique dans le projet. Toutes les fonctionnalités de l’application auront leur propre uid
défini dans leurs fichiers *-hsmeta.json
respectifs, qui doivent être différents du uid
de niveau supérieur que vous choisissez dans le fichier app-hsmeta.json
de votre application.
Schéma de l’application
La configuration de premier niveau de votre application est spécifiée dans un fichier de configurationapp-hsmeta.json
du répertoire app
.
app-hsmeta.json
.
Afficher un exemple sur GitHub
Les champs marqués par sont * obligatoires.
Champ | Type | Description |
---|---|---|
uid * | Chaîne | un identifiant unique interne pour l’application. Doit être globalement unique au sein du projet. Peut être n’importe quelle chaîne jusqu’à 64 caractères. Les caractères peuvent être en majuscules ou en minuscules, et peuvent inclure des chiffres, des tirets bas (_ ), des tirets (- ) et des points (. ). |
type * | Chaîne | le type de composant. Doit correspondre au nom du dossier parent (app ). |
description * | Chaîne | une description de ce que l’application fait pour l’utilisateur qui l’installe. Peut être n’importe quelle chaîne jusqu’à 8 192 caractères. |
name * | Chaîne | le nom de l’application, qui s’affichera dans HubSpot. Peut être n’importe quelle chaîne jusqu’à 200 caractères. Ne doit pas commencer ou se terminer par un espace. |
distribution * | Chaîne | la méthode de distribution de l’application, qui peut être définie sur l’une des suivantes :
Découvrez-en davantage dans la section Distribution ci-dessous. |
auth * | Objet | un objet contenant les détails de la méthode d’authentification de l’application. Consultez la section Authentification ci-dessous pour plus de détails. |
permittedUrls | Objet | un tableau contenant les URL que l’application est autorisée à appeler. Les URL doivent utiliser le schéma HTTPS et contenir une autorité, suivie d’un préfixe de chemin facultatif si nécessaire. |
supportEmail | Chaîne | une adresse e-mail valide que les utilisateurs peuvent contacter pour obtenir de l’aide. |
documentationUrl | Chaîne | l’URL externe vers laquelle les utilisateurs peuvent accéder pour obtenir de la documentation utile. Doit utiliser HTTPS. |
supportUrl | Chaîne | l’URL externe vers laquelle les utilisateurs peuvent accéder pour obtenir une assistance supplémentaire. Doit utiliser HTTPS. |
supportPhone | Chaîne | le numéro de téléphone que les utilisateurs peuvent contacter pour obtenir de l’aide. Doit commencer par un signe plus (+ ). |
Distribution
Le champdistribution
dans le schéma de votre application vous permet de configurer la manière dont vous souhaitez distribuer votre application :
- Si vous prévoyez de lister votre application sur le marketplace des applications de HubSpot, définissez le champ
distribution
sur"marketplace"
. Un exemple de schéma d’application pour cette option se trouve ici. Si vous choisissez cette option, assurez-vous de définir danstype
avec la propriétéauth
suroauth
, comme indiqué dans la section Authentification ci-dessous. - Si vous souhaitez autoriser l’installation de votre application sur un ensemble spécifique de comptes ajoutés à la liste d’autorisation ou si vous souhaitez limiter l’installation à un seul compte à la fois, définissez
distribution
sur"private"
. Veillez à définir letype
dans la propriétéauth
en conséquence :- Si vous souhaitez installer votre application dans plusieurs comptes sur la base d’une liste d’inclusion que vous configurez dans les paramètres de votre projet, définissez l’authentification
type
suroauth
. Consultez l’exemple de schéma d’application pour cette option ici. - Pour limiter l’installation à un seul compte, soit le même que celui que vous utilisez pour le développement, soit un autre compte auquel l’utilisateur installateur a accès, définissez l’authentification
type
surstatic
. Un exemple de schéma d’application pour l’authentification statique est disponible ici.
- Si vous souhaitez installer votre application dans plusieurs comptes sur la base d’une liste d’inclusion que vous configurez dans les paramètres de votre projet, définissez l’authentification
Authentification
L’authentification pour votre application est configurée via la propriétéauth
dans le schéma de votre application. Vous pouvez spécifier les exigences en matière de domaine de votre application, les URL de redirection et le type d’authentification.
Les champs marqués par sont * obligatoires.
Champ | Type | Description |
---|---|---|
type * | Chaîne | le type d’authentification, qui peut être défini comme l’un des élèments suivants :
|
redirectUrls * | Tableau | une liste des URL vers lesquelles le processus OAuth est autorisé à rediriger. Chaque application doit avoir au moins une URL de redirection d’authentification et doit utiliser HTTPS. La seule exception est http://localhost , qui est autorisée pour les tests. |
requiredScopes * | Tableau | une liste des domaines requis de votre application. Chaque application doit inclure au moins un domaine et l’utilisateur qui a procédé à l’installation doit accorder ces domaines pour installer l’application avec succès. Découvrez-en davantage sur les domaines ci-dessous. |
optionalScopes | Tableau | une liste des domaines facultatifs de votre application. Ces domaines peuvent être exclus de l’autorisation lors de l’installation si le compte ou l’utilisateur qui installe l’application ne dispose pas des autorisations appropriées. Dans ce cas, le domaine ne sera pas inclus dans le jeton d’actualisation ou le jeton d’accès qui en résulte. Découvrez-en davantage sur les domaines ci-dessous. |
conditionallyRequiredScopes | Tableau | une liste des domaines requis uniquement lorsqu’ils sont inclus dans le paramètre de requête scope de l’URL d’installation. Découvrez-en davantage sur les domaines ci-dessous. |
Périmètres d’accès
Dans le champauth
d’un fichier de configuration d’application, vous pouvez indiquer trois types de domaines : les domaines requis, les domaines conditionnellement requis et les domaines facultatifs.
Au minimum, votre application doit inclure le domaine read
pour permettre aux clients d’accéder au type d’objet CRM associé.
Ajout de fonctionnalités de l’application
Pour configurer les fonctionnalités de l’application telles que les abonnements webhook, les actions de workflow personnalisées et les cartes d’application, consultez les guides ci-dessous pour plus de détails sur l’ajout des fichiers*-hsmeta.json
associés à votre projet :