> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.fr/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Applications publiques

> Découvrez comment créer et installer une application dans HubSpot. Les applications sont des intégrations qui peuvent être installées sur des comptes clients via un processus de connexion OAuth.

Dans HubSpot, une application publique est un type d'intégration qui peut être installé sur les comptes de clients ou listé sur le marketplace des applications. Elle nécessite une authentification via [OAuth](/docs/apps/legacy-apps/authentication/working-with-oauth). Une fois qu'un utilisateur [installe](#installing-apps) votre application sur son compte HubSpot, vous pourrez effectuer des appels d'API vers ce compte en utilisant un [jeton d'accès OAuth](https://developers.hubspot.fr/docs/guides/api/app-management/oauth/tokens). Votre application apparaîtra également dans les paramètres *Applications connectées* du compte.

Les applications connectées peuvent également tirer parti de l'[abonnement aux modifications via les webhooks](https://developers.hubspot.fr/docs/guides/api/app-management/webhooks/overview) et de la création d'[événements chronologiques](/docs/api-reference/crm-timeline-v3/guide) personnalisés.

Ci-dessous, découvrez comment :

* [créer une application publique](#create-a-public-app) ;
* [installer une application publique dans un compte](#install-an-app) ;
* [gérer l'application, y compris la surveillance de l'utilisation](#manage-public-apps-in-hubspot) ;
* [ajouter un domaine vérifié à l'application](#add-a-verified-domain).

## Créer une application publique

Lorsque vous créez une application dans HubSpot, vous associez principalement une application que vous avez conçue à un [compte de développeur d'applications](https://app.hubspot.com/signup-hubspot/developers). Pour commencer à créer votre application HubSpot :

* Dans votre compte de développeur d'applications, accédez à **Apps** dans la barre de navigation.
* Cliquez sur **Créer**dans l'angle supérieur droit.
* Ensuite, vous devrez renseigner certaines informations et paramètres de base pour votre application. Lorsque les utilisateurs authentifient votre application avec leurs comptes HubSpot, ils verront le nom, la description, le logo et toute coordonnée de support que vous fournissez sur cette page.

<Warning>
  ### Remarque:

  Le nom de l'application sera utilisé partout où votre application s'affichera dans HubSpot. C'est le cas notamment lors de l'installation de l'application ainsi que dans le pied de page *Géré par* pour les [cartes CRM](/docs/api-reference/crm-public-app-crm-cards-v3/guide) et les [événements de chronologie](/docs/api-reference/crm-timeline-v3/guide).
</Warning>

<Frame>
  <img src="https://developers.hubspot.com/hs-fs/hubfs/new_app_setup.png?width=600&name=new_app_setup.png" alt="" />
</Frame>

* Cliquez sur l'onglet **Authentification** pour afficher votre ID et votre secret client ainsi que les périmètres attribués à l'application. Vous aurez besoin de ces informations pour [lancer une connexion OAuth](/docs/apps/legacy-apps/authentication/working-with-oauth) entre votre application et HubSpot.

<Frame>
  <img src="https://developers.hubspot.com/hs-fs/hubfs/app_auth_settings.png?width=600&name=app_auth_settings.png" alt="" />
</Frame>

### Configurer des domaines

Les domaines déterminent les autorisations de votre application pour accéder aux sources de données ou aux outils dans un compte qui a installé votre application. Les domaines que vous configurez apparaîtront comme paramètres de requête `scope` et `optional_scope` dans une URL d'installation que vous pourrez ensuite fournir aux utilisateurs.

#### Types de domaine

Dans l'onglet *Authentification*, vous pouvez configurer trois types de domaine différents. Vous devez spécifier les domaines dont votre application aura besoin pour l'installation, mais vous pouvez également spécifier deux autres types de domaine : les domaines conditionnellement requis et les domaines facultatifs.

* **Domaines requis :** les domaines qui doivent être autorisés par l'utilisateur <u>et</u> présents dans le paramètre de requête `scope` dans l'URL d'installation de votre application pour une installation réussie.
* **Domaines conditionnellement requis :** les domaines qui doivent être autorisés par l'utilisateur uniquement s'ils sont présents dans le paramètre de requête `scope` dans l'URL d'installation de votre application pour une installation réussie.
  * Ce type de domaine vous permet d'être flexible et de fournir une URL d'installation distincte pour les fonctionnalités hiérarchisées ou les domaines qui ne sont requis que lorsque les utilisateurs activent certaines fonctionnalités dans votre application. Par exemple, vous pouvez proposer deux URL d'installation à vos utilisateurs : une URL d'installation peut inclure le domaine conditionnellement requis dans le paramètre de requête `scope` pour les utilisateurs ayant accès à une fonctionnalité, et une autre URL d'installation qui omet ce domaine dans le paramètre de requête `scope` pour les utilisateurs sans accès.
  * Si un domaine conditionnellement requis est présent dans l'URL d'installation de votre application et qu'un utilisateur sans accès à la fonctionnalité associée tente d'installer votre application à l'aide de cette URL, l'installation échouera.
* **Domaines facultatifs :** les domaines qui <u>ne sont pas</u> nécessaires pour installer votre application avec succès. Ces domaines sont spécifiés dans le paramètre de requête `optional_scope` dans l'URL d'installation de votre application. Par exemple, si vous souhaitez que votre application puisse récupérer des données d'[objet personnalisé](/docs/api-reference/crm-custom-objects-v3/guide) (qui ne sont disponibles que pour les comptes *Entreprise* HubSpot), vous pouvez ajouter le domaine `crm.objects.custom.read` en tant que domaine facultatif. Ensuite, si un compte a accès aux objets personnalisés, le domaine sera autorisé. Autrement, il pourra toujours installer l'application sans le domaine pour les objets personnalisés.

#### Configurer les domaines de votre application publique

Pour personnaliser vos paramètres de domaine et ajouter de nouveaux domaines :

* Pour configurer des domaines conditionnellement requis ou facultatifs, cliquez sur le bouton **Activer les paramètres de domaine avancés**.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023_2024/turn-on-advanced-scope-settings-toggle-in-public-app-auth-tab.png" alt="turn-on-advanced-scope-settings-toggle-in-public-app-auth-tab" />
</Frame>

<Warning>
  ### Remarque:

  À partir du 21 octobre 2024, des paramètres de domaine avancés seront requis pour toutes les applications. Découvrez-en davantage dans le [changelog pour les développeurs](https://developers.hubspot.com/changelog/advanced-auth-and-scope-settings-for-public-apps) de HubSpot.
</Warning>

* Dans la section *Domaines*, cliquez sur **Ajouter un nouveau champ d'application**.
* Dans le panneau de droite, utilisez la **barre de recherche** pour rechercher un domaine, puis cochez la **case** à côté du domaine que vous souhaitez que l'utilisateur autorise. Si vous avez activé les paramètres de domaine avancés, cliquez sur le **menu déroulant** à côté du domaine et sélectionnez un **type de domaine**.
* Cliquez sur **Mettre à jour**.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023_2024/add-new-scope-panel-in-public-app-setup.png" alt="add-new-scope-panel-in-public-app-setup" />
</Frame>

* Vérifiez vos domaines configurés. Si vous avez activé les paramètres de domaine avancés, vous pouvez changer le type de domaine de n'importe quel domaine en cliquant sur le **menu déroulant** à côté du domaine. Vous pouvez également cliquer sur **Supprimer** pour supprimer l'un des domaines de votre application.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023_2024/review-new-scope-settings-in-public-app-setup.png" alt="review-new-scope-settings-in-public-app-setup" />
</Frame>

* Une fois que vous avez terminé de configurer les paramètres de votre application, cliquez sur **Créer une application** en bas à gauche.

Une fois votre application créée, vous pourrez suivre le processus d'installation.

<Warning>
  ### Remarque:

  Il est recommandé d'[ajouter un domaine vérifié](#add-a-verified-domain) à l'application pour ajouter un autre niveau de confiance aux utilisateurs qui installent votre application. Sinon, l'application affichera une bannière indiquant que l'application n'est pas vérifiée.
</Warning>

## Installer une application

<Warning>
  ### Remarque:

  Avant d'installer votre application, tenez compte des éléments suivants.

  * Une application ne s'affiche pas sur la page *Applications connectées* d'un compte tant que l'accès initial et les jetons d'actualisation ne sont pas créés.
  * Seuls les utilisateurs disposant d'un accès aux domaines requis ou conditionnellement requis de l'application peuvent installer une application.
  * Les applications ne peuvent pas être installées sur des comptes de développeur. Pour tester votre application, vous devez créer un [compte de test](/docs/getting-started/account-types) dans votre compte de développeur d'applications et l'installer dessus.
</Warning>

L'installation d'une application peut être divisée en deux étapes : l'autorisation et la génération d'un jeton.

### Autoriser votre application avec un compte client

* Pour autoriser votre application avec un compte HubSpot, vous devez créer une URL d'autorisation. Pour cela, vous devez obtenir l'ID de client pour votre application et[lancer le processus OAuth](/docs/apps/legacy-apps/authentication/working-with-oauth).
* Une fois que votre URL est prête, ouvrez-la dans votre navigateur pour afficher une liste de tous vos comptes HubSpot C'est également cela que les utilisateurs verront une fois que vous aurez commencé à les rediriger vers cette URL.
* Sélectionnez le **compte** sur lequel vous souhaitez installer votre application.

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/select_account-1.webp" alt="select_account-1" />
</Frame>

* Après avoir choisi un compte, vous disposerez d'une liste de périmètres d'accès en fonction des paramètres `&scope=` et `&optional_scope=` définis pour l'URL d'autorisation.

<Warning>
  ### Remarque:

  Si vous ajoutez un `optional_scope` et que le compte sélectionné n'y a pas accès (comme la portée de contenu pour un compte CRM uniquement), il ne sera pas répertorié.
</Warning>

* Cliquez sur **Accorder l'accès** pour autoriser la connexion.

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/approve_scopes-1.webp" alt="approve_scopes-1" />
</Frame>

* Après avoir autorisé l'accès, vous serez redirigé en fonction du paramètre `&redirect_uri=` dans l'URL d'autorisation d'origine et un paramètre `?code=` sera ajouté à l'URL. Utilisez ce code à l'étape suivante pour générer un jeton d'accès.

### Générer les jetons OAuth initiaux

Pour générer les jetons d'actualisation et d'accès initiaux, vous aurez besoin du code du paramètre `?code=` de l'URL d'autorisation, de `redirect_url` ainsi que de l'ID et du secret de client. Des instructions détaillées sont disponibles [ici](/docs/apps/legacy-apps/authentication/working-with-oauth).

Une fois que vous avez autorisé votre application et généré les jetons initiaux, l'installation est terminée. L'application sera répertoriée sur votre page [Applications connectées](https://app.hubspot.com/login?loginRedirectUrl=https%3A%2F%2Fapp.hubspot.com%2Fshortlink%2Fintegrations-beta) et vous commencerez à obtenir des demandes d'indexation (fetch) de [webhook](https://developers.hubspot.fr/docs/guides/api/app-management/webhooks/overview) et de [cartes CRM](/docs/api-reference/crm-public-app-crm-cards-v3/guide).

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/connected_apps-1.webp" alt="connected_apps-1" />
</Frame>

## Gérer les applications publiques dans HubSpot

### Find an app's ID

Vous pouvez trouver l'ID d'une application publique dans votre compte de développeur d'application en utilisant l'une des méthodes ci-dessous :

* Dans votre compte de développeur, accédez à **Applications** dans la barre de navigation principale, puis affichez l'*ID d'application* répertorié sous le nom de votre application.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/find-app-id.png" alt="find-app-id" />
</Frame>

* Dans votre compte de développeur, accédez à **Applications** dans la barre de navigation principale, puis cliquez sur le **nom** de l'application. Sur la page *Informations de base*, cliquez sur l'onglet **Authentification**, puis consultez l'*ID de l'application*.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/find-app-id-auth-settings.png" alt="find-app-id-auth-settings" />
</Frame>

### Suivre le comportement de l'application

HubSpot enregistre toutes les demandes effectuées vers ou à partir d'une application connectée, y compris les demandes entrantes utilisant un [jeton d'accès OAuth](https://developers.hubspot.fr/docs/guides/api/app-management/oauth/tokens) ou les demandes sortantes pour des webhooks ou des cartes de CRM.

Pour afficher ce journal des demandes :

* Dans votre compte de développeur, accédez à **Apps** dans la barre de navigation.
* Cliquez sur le **nom** de l'application.
* Dans le menu latéral de gauche, accédez à **Suivi**.
* Utilisez les **onglets** pour afficher les différents types de demandes effectuées vers ou à partir de l'application. Lors de l'affichage de ces journaux, vous pouvez cliquer sur une demande pour afficher plus d'informations à son sujet, y compris :
  * pour les requêtes <u>réussies</u>, la méthode de requête, le chemin et la durée ;
  * pour les requêtes <u>infructueuses</u>, des informations d'erreur supplémentaires telles que l'en-tête et le corps de la réponse.

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/428357/request_details.webp" alt="request_details" />
</Frame>

Découvrez ci-dessous chaque onglet de la page *Suivi*.

* **Appels d'API :** l'onglet *Appels d'API* répertorie toutes les requêtes concernant votre application via un jeton d'accès OAuth. Il peut être filtré par méthode HTTP, par code de réponse, par période ou par URL de demande.
* **Webhooks :** l'onglet *Webhooks* affiche les requêtes HubSpot pour les [souscriptions aux webhooks](https://developers.hubspot.fr/docs/guides/api/app-management/webhooks/overview) de votre application. Filtrez par réponse (y compris les délais d'attente dépassés et les échecs de connexion), par statut (succès, nouvelle tentative ou échec), par type de souscription, par période, par tentative, par lot, par événement ou par ID de compte.

<Warning>
  ### Remarque:

  L'ID de tentative sera une combinaison de `subscriptionId`, `eventId` et `attemptNumber` de la requête en question.
</Warning>

* **Extensions de CRM :** l'onglet *Extensions de CRM* affiche les requêtes pour les [cartes de CRM](/docs/api-reference/crm-public-app-crm-cards-v3/guide) de votre application. Filtrez par type d'fiche d'informations d'extension, par type d'objet de CRM (contact, entreprise, ticket ou transaction), par type d'erreur ou d'avertissement, par période, par ID de requête ou par ID d'objet de CRM (par exemple, ID de contact spécifique).
* **Paramètres de l'application :** l'onglet *Paramètres de l'application* vous permet de configurer la [page de paramètres](/docs/apps/legacy-apps/public-apps/create-an-app-settings-page) fournie avec votre application.

Sur chaque onglet, si des événements associés se sont produits au cours des 30 derniers jours (par exemple, un déclencheur de webhook s'est produit ou un appel d'API a été effectué), vous pouvez cliquer sur **Exporter les journaux** pour exporter les données d'événements associés vers un CSV :

* Dans la boîte de dialogue, configurez le nombre de jours de données à exporter (jusqu'à 30 jours).
* Cliquez sur **Exporter**. Une notification par e-mail sera envoyée à l'adresse e-mail associée à votre utilisateur dans vos paramètres HubSpot.

## Ajouter un domaine vérifié

Lorsque les utilisateurs de HubSpot installent une application, ils consentent à donner accès aux données de leur compte au développeur de l'application. L'identité et la réputation du développeur jouent un rôle important dans la décision d'un utilisateur de poursuivre l'installation. Pour garantir le consentement total de l'utilisateur lors de l'installation d'une application, HubSpot affichera un message sur l'écran d'installation de l'application pour indiquer le niveau de vérification de l'application et le listing sur le marketplace des applications :

* Lorsqu'une application n'a pas de domaine vérifié, HubSpot affichera une bannière sur l'écran d'installation indiquant que l'application n'a pas été vérifiée.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/not-verified.png" alt="not-verified" />
</Frame>

* Lorsque l'application a un domaine vérifié mais n'est pas [répertoriée sur le marketplace des applications](/docs/apps/developer-platform/list-apps/listing-your-app), HubSpot affichera le domaine vérifié ainsi qu'une bannière sur l'écran d'installation indiquant que l'application n'a pas été évaluée ou approuvée par HubSpot.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/verified-not-listed.png" alt="verified-not-listed" />
</Frame>

* Lorsqu'une application est répertoriée sur le marketplace et a passé le processus d'évaluation des applications de HubSpot, HubSpot n'affichera aucune des bannières ci-dessus. Vous n'êtes pas tenu de vérifier le domaine si votre application est répertoriée sur le marketplace des applications.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/verified-and-listed.png" alt="verified-and-listed" />
</Frame>

### Ajouter un domaine vérifié

Pour ajouter un domaine vérifié à l'application, vous devrez d'abord ajouter le domaine aux paramètres de l'application, puis ajouter un enregistrement TXT aux paramètres DNS du domaine :

* Dans votre compte de développeur d'applications, accédez à **Apps**.
* Cliquez sur le **nom** de l'application.
* Dans le menu latéral de gauche, accédez à **Contact et support**.
* Dans le champ *Domaine de l'entreprise*, saisissez votre domaine, puis cliquez sur **Enregistrer**. Un message apparaîtra sous le *domaine de l'entreprise* indiquant que le domaine n'a pas encore été vérifié.
* Cliquez sur **Vérifier maintenant** pour commencer le processus de vérification.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/domain-verification-for-app.png" alt="domain-verification-for-app" />
</Frame>

* Dans le panneau de droite, confirmez que le domaine a été saisi correctement, puis cliquez sur **Suivant**.
* Copiez la valeur d'enregistrement TXT requise en cliquant sur **Copier** dans la colonne *Valeur*.

<Frame>
  <img src="https://www.hubspot.com/hubfs/Knowledge_Base_2023/verify-app-domain-copy-value.png" alt="verify-app-domain-copy-value" />
</Frame>

* Dans votre fournisseur DNS, créez un enregistrement TXT avec la valeur copiée. Vous trouverez ci-dessous des instructions sur certains fournisseurs DNS courants :
  * [GoDaddy](https://www.godaddy.com/help/add-a-txt-record-19232)
  * [BlueHost](https://www.bluehost.com/help/article/dns-management-add-edit-or-delete-dns-entries#add)
  * [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237)
  * [Cloudflare](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/#h_60566325041543261564371)
  * [Hover](https://support.hover.com/support/solutions/articles/201000064728)
  * [Name](https://www.name.com/support/articles/115004972547-Adding-a-TXT-Record)
  * [United Domains](https://help.uniteddomains.com/hc/en-us/articles/115000887125-How-to-set-up-a-TXT-record-on-a-domain-name)
* Après avoir mis à jour vos paramètres DNS, revenez à HubSpot, puis cliquez sur **Suivant** dans le panneau de droite. La mise à jour des enregistrements DNS peut prendre jusqu'à 48 heures. Par conséquent, les modifications peuvent ne pas être immédiatement reconnues par HubSpot. Vous pouvez revenir à cet écran à tout moment en sélectionnant à nouveau **Vérifier maintenant** à partir de la page de paramètres *Informations sur l'entreprise*.
* Une fois la vérification effectuée, un indicateur de réussite apparaîtra dans le champ *Domaine de l'entreprise*.

<Frame>
  <img src="https://f.hubspotusercontent00.net/hubfs/53/Domain%20verified__export.png" alt="Domain verified__export" />
</Frame>

#### Notes supplémentaires

* Pour assurer la propriété continue du domaine, HubSpot continuera de vérifier régulièrement la présence de l'enregistrement TXT. L'avertissement d'installation reviendra si l'enregistrement TXT est supprimé ou modifié.
* Actuellement, vous ne pouvez avoir qu'un seul domaine vérifié par compte de développeur. Toutes les applications d'un compte partagent le domaine vérifié. Le domaine sur la page d'installation sera lié à votre domaine racine.
* Si vous supprimez votre domaine vérifié, toutes les applications de votre compte de développeur recevront à nouveau l'avertissement d'installation. Vous pouvez vérifier un autre domaine, mais le processus prendra quelques heures.
