# Envoyer des liens de carte dans Email Studio

Email Studio peut distribuer des liens authentifiés qui ouvrent la bonne page The Wallet Crew pour chaque contact. C’est le schéma standard pour les e-mails de téléchargement de Carte, de rappel et de réactivation.

Terminé [Configuration](/docs/fr/connecter/marketing-automation/salesforce-marketing-cloud/configuration.md) avant de créer le bloc de contenu.

<details>

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

* Un e-mail de bienvenue donne à un nouveau membre fidélité un accès direct à la page de la Carte.
* Un e-mail de rappel cible les contacts qui n’ont toujours pas installé la Carte.
* Un e-mail de réactivation ouvre la page de la Carte sans étape de connexion séparée.

</details>

## Comment fonctionnent les liens de Carte dans Email Studio

Le lien est un JWT signé dans Salesforce Marketing Cloud. La charge utile contient un identifiant client connu de The Wallet Crew.

Lorsque l’e-mail est ouvert, The Wallet Crew vérifie le jeton et résout le bon contexte client.

## Créer le bloc AMPscript

L’exemple ci-dessous signe un jeton avec l’e-mail du contact.

{% code title="Exemple AMPscript" %}

```
%%[
    var @tenant, @keyId, @json, @jwt, @email, @host
    var @epochStart, @expirationDate, @secondsSinceEpoch, @secondsToEnd

    set @keyId = '0000-00000000-0000000000-0000'
    set @tenant = 'xxx'
    set @email = Email
    set @host = 'https://app.thewalletcrew.io'

    set @epochStart = DateParse('1970/01/01 00:00AM')
    set @expirationDate = DateAdd(Now(), '3', 'Y')
    set @secondsSinceEpoch = Multiply(DateDiff(@epochStart, Now(), 'MI'), 60)
    set @secondsToEnd = Multiply(DateDiff(@epochStart, @expirationDate, 'MI'), 60)

    set @json = '{
        "email":"@email",
        "nbf": @secondsSinceEpoch,
        "exp": @secondsToEnd,
        "iat": @secondsSinceEpoch,
        "iss": "neostore.cloud",
        "aud": "@tenant"
    }'

    set @json = Replace(@json, '@secondsSinceEpoch', @secondsSinceEpoch)
    set @json = Replace(@json, '@secondsToEnd', @secondsToEnd)
    set @json = Replace(@json, '@tenant', @tenant)
    set @json = Replace(@json, '@email', @email)

    set @jwt = GetJWTByKeyName(@keyId, 'HS256', @json)
    set @link = Concat(@host, '/', @tenant, '/pass?neo.authToken=', @jwt)
]%%
```

{% endcode %}

Utilisez la valeur de clé externe Salesforce Marketing Cloud créée lors de [Configuration](/docs/fr/connecter/marketing-automation/salesforce-marketing-cloud/configuration.md) comme `@keyId`.

Utilisez l’identifiant du tenant The Wallet Crew comme `@tenant`.

Utilisez le domaine personnalisé du tenant comme `@host` lorsqu’un domaine personnalisé est configuré.

## Utilisez un autre identifiant si nécessaire

L’e-mail n’est pas le seul identifiant pris en charge. Tout identifiant externe déjà connu de The Wallet Crew peut être utilisé.

Par exemple, un identifiant client Cegid Y2 peut remplacer la revendication e-mail.

{% code title="Exemple de revendication de charge utile" %}

```json
"https://neostore.cloud/customer/identifiers:id.y2.customerId":"@customerId"
```

{% endcode %}

`@customerId` est le champ Salesforce Marketing Cloud qui stocke l’identifiant Y2.

## Insérer le lien dans le contenu

Une fois `@link` généré, Content Builder peut l’associer à un lien texte, une image ou un bouton.

Un exemple minimal ressemble à ceci.

{% code title="Extrait de contenu d’e-mail" %}

```html
%%[
  /* Insérez le bloc AMPscript ci-dessus */
]%%

<a href="%%=RedirectTo(@link)=%%">Ouvrir la page de la Carte</a>
```

{% endcode %}

Le même lien peut être réutilisé dans un bloc d’e-mail, un extrait réutilisable ou un message SMS lorsque le canal prend en charge les URL dynamiques.

## Prévisualiser et valider

La validation doit être effectuée dans Content Builder avant que le bloc ne soit utilisé en production.

{% stepper %}
{% step %}

### Prévisualiser avec un contact connu

Utilisez un contact de test avec un identifiant connu et affichez le contenu.
{% endstep %}

{% step %}

### Vérifier l’URL générée

Confirmez que l’URL affichée contient un `neo.authToken` non vide.
{% endstep %}

{% step %}

### Ouvrir le lien sur un appareil de test

Confirmez que la page The Wallet Crew attendue s’ouvre pour le bon client.
{% endstep %}
{% endstepper %}

## Dépannage

### Le lien s’affiche, mais le jeton est vide

Vérifiez le champ source utilisé dans AMPscript.

Pour les liens basés sur l’e-mail, confirmez que l’enregistrement du contact expose un `Email` non vide.

### utilisable.

Le lien est rejeté par The Wallet Crew [Configuration](/docs/fr/connecter/marketing-automation/salesforce-marketing-cloud/configuration.md).

### Le mauvais contexte client s’ouvre

Vérifiez l’identifiant utilisé dans la charge utile du JWT.

Le schéma le plus sûr est un identifiant externe stable déjà stocké dans The Wallet Crew.

## FAQ

<details>

<summary><strong>L’e-mail est-il le seul identifiant pris en charge ?</strong></summary>

Non. Tout identifiant déjà connu de The Wallet Crew peut être utilisé.

L’e-mail n’est que le point de départ le plus courant.

</details>

<details>

<summary><strong>Le lien doit-il pointer vers le domaine de la plateforme ou vers un domaine personnalisé ?</strong></summary>

Utilisez le domaine personnalisé du tenant lorsqu’il est configuré.

Sinon, utilisez le domaine par défaut de la plateforme The Wallet Crew.

</details>

<details>

<summary><strong>Le même lien peut-il être réutilisé dans les SMS ?</strong></summary>

Oui, lorsque le canal Salesforce Marketing Cloud prend en charge le rendu dynamique des URL.

Le même modèle de lien authentifié peut être réutilisé en dehors d’Email Studio.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thewalletcrew.io/docs/fr/connecter/marketing-automation/salesforce-marketing-cloud/envoyer-des-liens-de-carte-dans-email-studio.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
