# Entrée basée sur l'API

<Aside type="caution" icon="setting" title="Assistance d'un développeur requise">
 Vous aurez besoin de l'aide de votre équipe de développement pour configurer un parcours d'entrée basé sur l'API. Veuillez partager ce guide avec eux.
</Aside>

## Comment ça marche

L'entrée basée sur l'API vous permet de lancer un parcours client au moment même où un événement métier spécifique se produit. Pour démarrer une campagne, vous devez envoyer une requête API spéciale.

Voici quelques cas d'utilisation pour une entrée basée sur l'API :

*   Informer les clients lorsque les produits sont de retour en stock
*   Informer les utilisateurs que le prix d'un produit populaire a baissé
*   Avertir les abonnés de la sortie d'un nouvel épisode de podcast

Contrairement aux Événements classiques, tous ces événements métier peuvent se produire en dehors de l'application. Par exemple, la disponibilité d'un produit ne peut être vérifiée que dans une base de données externe. C'est là que l'entrée basée sur l'API est utile : vous pouvez configurer l'envoi d'une requête pour lancer un parcours chaque fois que certaines modifications se produisent en dehors de l'application (par exemple, dans votre base de données externe).

<img src="/shared-33.webp" alt="Élément d'entrée basé sur l'API sur le canevas du parcours"/>

Cela fonctionne comme suit :

1.  Créez un parcours avec une entrée basée sur l'API. Dans les paramètres d'entrée, vous trouverez le modèle de la requête qui lance le parcours.
2.  Ajoutez des conditions de segmentation à la requête en utilisant le [langage de segmentation](/fr/developer/api-reference/segmentation-filters-api/segmentation-language). Vous pouvez également ajouter des placeholders de contenu à la requête pour modifier le contenu du message en fonction du contexte.
3.  Automatisez la requête si nécessaire. Par exemple, les informations sur un changement de prix peuvent être immédiatement envoyées de la base de données au webhook. Une fois que cela se produit, le webhook doit automatiquement envoyer la requête pour lancer le parcours. Vous pouvez également envoyer la requête manuellement si vous n'avez pas besoin d'automatisation.

Vous pouvez envoyer la requête un nombre illimité de fois pour modifier les conditions de segmentation ou le contenu du message.

Pour plus de détails, suivez les instructions ci-dessous.

## Configurer un parcours avec une entrée basée sur l'API

1.  Créez un parcours avec une entrée basée sur l'API :

<video src="/journey-elements-api-based-entry-1.webm" title="Créer un nouveau parcours et sélectionner l'entrée basée sur l'API" autoplay loop muted playsinline />

2.  Double-cliquez sur l'étape d'entrée basée sur l'API. La fenêtre de configuration de l'entrée s'ouvrira.

3.  Vous pouvez modifier le contenu des notifications push et des e-mails chaque fois que le parcours est lancé en utilisant des placeholders de contenu. La valeur de chaque placeholder peut être modifiée dans la requête. Si vous n'avez pas besoin de cette option, vous pouvez ignorer cette étape.

> Par exemple, vous créez un parcours pour avertir les abonnés de la sortie d'un nouvel épisode de podcast. En utilisant un placeholder de contenu, vous pouvez changer le titre du podcast chaque fois que vous lancez le parcours.

Tout d'abord, ajoutez des noms de placeholders dans la fenêtre de configuration de l'entrée basée sur l'API. Vous pouvez utiliser les noms qui vous conviennent.

<img src="/journey-elements-api-based-entry-2.webp" alt="Ajouter des noms de placeholders de contenu dans la fenêtre de configuration de l'entrée basée sur l'API"/>

Maintenant, créez un [préréglage push](/fr/product/content/push-presets) ou un [contenu d'e-mail](/fr/product/content/email-content/) et insérez le placeholder à la place du texte que vous souhaitez modifier. Le placeholder doit être dans l'un des formats suivants en fonction de vos besoins :

*   `{placeholder_name|format_modifier|}` – si la valeur du placeholder n'est pas spécifiée lors du lancement de la campagne, les utilisateurs verront un espace vide à sa place.
*   `{placeholder_name|format_modifier}` – si la valeur du placeholder n'est pas spécifiée et n'a pas déjà été attribuée à un utilisateur (au cas où vous auriez utilisé un Tag comme placeholder), le message ne sera pas envoyé.

<details>

<summary>Modificateurs de format</summary>

*   **CapitalizeFirst** – met en majuscule la première lettre de la valeur d'un placeholder
*   **CapitalizeAllFirst** – met en majuscule la première lettre de tous les mots de la valeur d'un placeholder
*   **UPPERCASE** – met toutes les lettres en majuscules
*   **lowercase** – met toutes les lettres en minuscules
*   **regular** – insère la valeur d'un placeholder exactement comme spécifié dans la requête

</details>

<img src="/journey-elements-api-based-entry-3.webp" alt="Insérer un placeholder dans un préréglage push pour du contenu dynamique"/>

<Aside type="tip">
Vous pouvez également utiliser un nom de [Tag existant](/fr/product/audience-data-and-segmentation/user-data-tags/) au lieu d'un nom de placeholder. Dans ce cas, vous devez configurer l'écrasement de la valeur de ce Tag par la valeur spécifiée dans la requête comme décrit ci-dessous.
</Aside>

Lors de la configuration de l'élément Push ou E-mail dans votre parcours, sélectionnez le préréglage créé et activez l'option **Personnaliser le message avec les attributs d'événement**.

Sélectionnez les placeholders que vous souhaitez modifier dans la requête lors du lancement du parcours. Choisissez l'**entrée Entrée basée sur l'API** comme source et le nom du placeholder comme attribut dynamique :

<video src="/journey-elements-api-based-entry-4.webm" title="Personnaliser le message avec les attributs d'événement de l'entrée basée sur l'API" autoplay loop muted playsinline />

Cliquez sur **Appliquer** pour enregistrer les modifications.

4.  Dans la fenêtre de configuration de l'entrée, copiez le modèle de requête pour le modifier :

<img src="/journey-elements-api-based-entry-5.webp" alt="Copier le modèle de requête depuis la fenêtre de configuration de l'entrée basée sur l'API"/>
<Aside> 
Pour lancer un parcours via l'API, vous devez inclure un jeton d'autorisation valide dans l'en-tête d'autorisation (Authorization).

**Format d'en-tête requis**

  ```http
  Authorization: Api <your_api_token>
  ```
  **Exemple**

  ```http
  Authorization: Api c8dc6435-xxxxxxxxxxxxxxx
  ```
  
 </Aside>


5.  Ajoutez des filtres d'audience au paramètre `"filter"` en utilisant le [langage de segmentation](/fr/developer/api-reference/segmentation-filters-api/segmentation-language) ou [copiez la logique de segmentation](/fr/product/audience-data-and-segmentation/segmentation/#copy-segment-logic) depuis vos segments. Configurez les [Tags](/fr/product/audience-data-and-segmentation/user-data-tags/tags) nécessaires à l'avance.

Par exemple, pour cibler les utilisateurs qui ont ajouté l'article _Socks_ à leur _Wishlist_, la valeur de `"filter"` doit ressembler à ce qui suit :

`"filter": "A(\"12345-12345\") * "T(\"Wishlist\", EQ, \"Socks\")"`

Dans cet exemple, vous devez avoir un Tag _Wishlist_ configuré dans votre application.

<Aside type="note">
Le code de votre application est automatiquement ajouté au paramètre `"filter"` au format `A(\"12345-12345\")`. Ne le supprimez pas et ne le modifiez pas.

De plus, veuillez garder à l'esprit que les guillemets ("") et les barres obliques inverses (\\) doivent être échappés avec une barre oblique inverse (\\) dans les requêtes JSON.
</Aside>

<Aside type="tip">
Vous pouvez également cibler des appareils ou des utilisateurs spécifiques directement en passant un tableau de HWID dans le paramètre `"hwids"` ou d'ID utilisateur dans le paramètre `"users"` au lieu d'utiliser des filtres :

```json
"users": ["user_id_1", "user_id_2", ...],
"hwids": ["hwid_1", "hwid_2", ...]
```
</Aside>

6.  Si vous avez configuré des placeholders, spécifiez le contenu souhaité comme leurs valeurs :

<img src="/journey-elements-api-based-entry-6.webp" alt="Spécifier les valeurs des placeholders dans la requête API pour lancer le parcours"/>


7.  Si vous prévoyez de redémarrer votre campagne fréquemment et que vous ne voulez pas que les mêmes utilisateurs entrent plusieurs fois dans le parcours, définissez des [limites d'entrée dans la campagne](/fr/product/customer-journey/journey-settings#campaign-entry-limit).

> Par exemple, vous avez créé une campagne pour informer les utilisateurs d'une réduction de prix sur un produit spécifique. Vous souhaitez relancer le parcours plusieurs fois en envoyant plusieurs requêtes avec différents filtres d'audience. Dans ce cas, vous pouvez ajouter des limites d'entrée dans la campagne afin que la notification ne soit pas envoyée à plusieurs reprises aux utilisateurs qui correspondent à plusieurs filtres.

8.  Si vous souhaitez qu'un parcours se lance chaque fois qu'un certain événement métier se produit, automatisez la requête à l'aide du webhook. Une fois l'événement survenu, le webhook doit envoyer automatiquement la requête pour démarrer le parcours.

Vous pouvez également envoyer la requête manuellement si vous n'avez pas besoin d'automatisation.

<Aside type="note">
*   Si vous modifiez les conditions de segmentation lors de l'envoi d'une nouvelle requête, cela n'affectera pas les utilisateurs qui sont déjà entrés dans le parcours.
*   Si vous modifiez le contenu du message lors de l'envoi d'une nouvelle requête, tous les utilisateurs recevront la nouvelle version du message (y compris ceux qui sont déjà entrés dans le parcours mais n'ont pas encore reçu ce message).
</Aside>