# Brevo

Brevo peut être utilisé pour distribuer des passes Apple Wallet et Google Wallet par e-mail. Cette configuration enrichit les contacts Brevo avec un lien Wallet sécurisé, puis le réutilise dans les modèles Brevo.

<details>

<summary><strong>Exemples concrets</strong></summary>

* Une marque de vente au détail envoie un lien de fidélité « Ajouter à Wallet » après l'inscription à la newsletter.
* Un programme de cartes-cadeaux envoie un lien « Enregistrez votre carte-cadeau » après l'achat.
* Un programme d'adhésion envoie un e-mail de renouvellement qui inclut le lien de pass mis à jour.

</details>

## Prérequis

Les contacts Brevo doivent pouvoir être exportés et importés. Les attributs Brevo doivent également être gérables.

The Wallet Crew doit être configuré pour générer un `authToken` par e-mail. Ce jeton est utilisé pour construire une URL sécurisée « Ajouter à Wallet ».

Si les passes sont normalement générés depuis un connecteur CRM (Cegid, Openbravo, etc.), les e‑mails importés depuis Brevo doivent exister dans ce système. Si ce n'est pas le cas, utilisez [Via e‑mail](https://app.gitbook.com/s/WLc8AHXW4tdrAXUBfrYF/enroll/via-email) pour générer et envoyer des liens sécurisés « Ajouter à Wallet ».

Les règles de mise à jour des contacts Brevo et les contraintes d'importation CSV sont documentées par Brevo : <https://help.brevo.com/hc/en-us/articles/10227982847762-Update-the-information-of-your-contacts>

{% hint style="warning" %}
La `authToken` est une information d'identification. Elle doit être traitée comme des données sensibles. Elle ne doit pas être publiée publiquement ni stockée dans des systèmes non contrôlés.
{% endhint %}

{% hint style="info" %}
Besoin de confirmation : l'URL de base de la « page d'atterrissage du pass » peut varier selon l'environnement et la configuration du projet. L'URL de base correcte doit être prise depuis la configuration du projet The Wallet Crew.
{% endhint %}

## Configuration

{% stepper %}
{% step %}

#### 1) Exporter les contacts depuis Brevo

Exportez un CSV depuis la liste de contacts Brevo avec le champ e‑mail.

Ouvrir : <https://app.brevo.com/contact/list>

Dans l'interface Brevo, sélectionnez **Contacts → Plus d'actions → Exporter**.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fybq5E8q5Jsq6u69SdmCd%2Fimage.png?alt=media&#x26;token=a7feeb20-130e-49ac-9803-b55ecd265443" alt="Brevo contact list export menu: Contacts → More actions → Export"><figcaption><p>Démarrez une exportation de contacts depuis la liste de contacts Brevo.</p></figcaption></figure></div>

Utilisez les options suivantes :

* Attributs à exporter : `EMAIL`
* Séparateur de champ CSV : `,` (virgule)

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FHSXjaL7zHtcmgte8wTTe%2Fimage.png?alt=media&#x26;token=e52083f4-256b-4e89-b82a-c18a0c413e7f" alt="Brevo export contacts options showing EMAIL attribute and comma separator"><figcaption><p>N'exportez que ce qui est nécessaire. Gardez le fichier minimal.</p></figcaption></figure></div>

Le fichier devient disponible dans le centre de notifications Brevo.
{% endstep %}

{% step %}

#### 2) Créer un `WALLET_LINK` attribut dans Brevo

Créez un attribut texte pour stocker le lien Wallet par contact.

Dans Brevo, allez à l'écran des attributs et sélectionnez **Ajouter un nouvel attribut**.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FvEsSvWjpnD3jfnMhuHG3%2Fimage.png?alt=media&#x26;token=8d7aa129-bde2-4165-ae9a-9b15b81ea254" alt="Brevo attributes screen with the &#x27;add a new attribute&#x27; action"><figcaption><p>Créez un nouvel attribut personnalisé pour les liens Wallet.</p></figcaption></figure></div>

Créez l'attribut avec :

* Nom de l'attribut : `WALLET_LINK`
* Type d'attribut : `Texte`

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FV6v3u4nCysDRlZ8XeTu4%2Fimage.png?alt=media&#x26;token=ae514aad-dc7a-4af5-9e4f-649a8ee4c7a2" alt="Brevo new attribute form filled with WALLET_LINK and type Text"><figcaption><p>`WALLET_LINK` stocke l'URL « Ajouter à Wallet » par contact.</p></figcaption></figure></div>
{% endstep %}

{% step %}

#### 3) Générer `authToken` valeurs dans The Wallet Crew

Dans la console d'administration The Wallet Crew, ouvrez **Générateur de jetons**. Générez un `authToken` basé sur l'e‑mail.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2F1730gVob8JWeemJSdF32%2Fimage.png?alt=media&#x26;token=4b08fac7-a0c4-428e-ab10-370bbd3b16b8" alt="The Wallet Crew Token Generator with a list of emails pasted for token generation"><figcaption><p>Générez un jeton par e‑mail.</p></figcaption></figure></div>

Cette étape produit typiquement une liste de `{EMAIL, authToken}` valeurs. Stockez-les dans une feuille de travail pour l'étape suivante.
{% endstep %}

{% step %}

#### 4) Construire les liens Wallet (`WALLET_LINK`)

Pour chaque contact, concaténez :

* l'URL de base « page d'atterrissage du pass » du projet
* le paramètre de requête `neo.authToken`

Exemple de sortie :

* `https://<host>/<tenant>/pass?neo.authToken=<authToken>`

Dans Excel ou Google Sheets, une formule typique ressemble à :

* `=BASE_URL & "?neo.authToken=" & AUTH_TOKEN_CELL`

Le CSV résultant doit contenir au minimum :

* `EMAIL`
* `WALLET_LINK`
  {% endstep %}

{% step %}

#### 5) Importer `WALLET_LINK` valeurs dans Brevo

Importez le CSV mis à jour afin que Brevo écrive `WALLET_LINK` sur chaque contact.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fa7L0hl6duHAf46Mbd6hs%2Fimage.png?alt=media&#x26;token=1e6d1c2a-0e45-45b1-a46e-c4750f78f010" alt="Brevo import contacts entry point screen"><figcaption><p>Démarrez une importation de contacts pour mettre à jour les attributs.</p></figcaption></figure></div>

Téléversez le fichier CSV :

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2F1RCwLyOENZjA4THuMPR1%2Fimage.png?alt=media&#x26;token=556aacc6-a655-4b56-8118-4b80a1057eee" alt="Brevo import flow step to upload a CSV file"><figcaption><p>Sélectionnez le fichier enrichi qui contient `WALLET_LINK`.</p></figcaption></figure></div>

Mappez les champs et confirmez l'importation :

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FEOoRFwetr8uPdtC4oLop%2Fimage.png?alt=media&#x26;token=a1f7ae8a-cdce-432c-8d3a-a0b97235bb09" alt="Brevo import field mapping screen for WALLET_LINK"><figcaption><p>Mappez `WALLET_LINK` vers l'attribut personnalisé.</p></figcaption></figure></div>

Une fois terminé, validez le rapport d'importation :

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fg0AoA7TbfHtOetD9BS2Y%2Fimage.png?alt=media&#x26;token=2decf32d-4a88-4bfd-83ee-3ae3d5072fbc" alt="Brevo import completed confirmation"><figcaption><p>Brevo confirme le statut du travail d'importation.</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FUsNEZy32nWBCoR4Wctre%2Fimage.png?alt=media&#x26;token=870c928d-6881-4262-ae1d-23547651d4b8" alt="Brevo import report screen showing the summary and potential errors"><figcaption><p>Utilisez le rapport pour détecter les e‑mails manquants ou les lignes rejetées.</p></figcaption></figure></div>
{% endstep %}

{% step %}

#### 6) Ajoutez un bouton « Ajouter à Wallet » dans le modèle d'e‑mail Brevo

Ajoutez un lien ou un bouton dans le modèle d'e‑mail qui pointe vers l' `WALLET_LINK` attribut.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FrZGgTIKkzBkAk4ijmvG9%2Fimage.png?alt=media&#x26;token=99cbb46f-d4f8-46fa-b8e9-26caec227fae" alt="Brevo email template editor where a button link uses the WALLET_LINK attribute"><figcaption><p>Utilisez l'attribut du contact comme URL du bouton.</p></figcaption></figure></div>

Ajoutez une condition d'affichage afin que le bloc ne s'affiche que lorsque `WALLET_LINK` est présent.

<div data-with-frame="true"><figure><img src="https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2FhWmEG2gAYF5RYF3H3OBZ%2Fimage.png?alt=media&#x26;token=8ca59db4-9944-418f-850a-0ddff86f5710" alt="Brevo email template conditional display settings using WALLET_LINK availability"><figcaption><p>Masquez le bloc Wallet lorsque le contact n'a pas de lien Wallet.</p></figcaption></figure></div>
{% endstep %}
{% endstepper %}

## FAQ

<details>

<summary><strong>Que se passe‑t‑il si l'e‑mail d'un contact n'existe pas dans le CRM connecté ?</strong></summary>

The Wallet Crew peut être incapable de résoudre un enregistrement client existant pour la création ou la mise à jour du pass. Dans ce cas, privilégiez [Via e‑mail](https://app.gitbook.com/s/WLc8AHXW4tdrAXUBfrYF/enroll/via-email), qui distribue des liens sécurisés générés par le projet via le flux d'e‑mail de The Wallet Crew.

</details>

<details>

<summary><strong>Comment valider que `WALLET_LINK` fonctionne avant d'envoyer une campagne ?</strong></summary>

Effectuez une importation de test avec un petit segment. Ouvrez quelques liens depuis l'aperçu du contact Brevo et confirmez que le pass attendu est affiché et peut être ajouté à Apple Wallet ou Google Wallet.

</details>

<details>

<summary><strong>Faut‑il stocker `authToken` à long terme dans Brevo ?</strong></summary>

Cela dépend de la politique de sécurité et de la durée de vie des jetons définies pour le projet. Si les jetons expirent ou doivent être renouvelés, régénérez et réimportez `WALLET_LINK` valeurs avant chaque campagne.

</details>
