> For the complete documentation index, see [llms.txt](https://docs.thewalletcrew.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thewalletcrew.io/connectors/fr/marketing-automation/salesforce-marketing-cloud/send-pass-links-in-email-studio.md).

# 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. Il s'agit du schéma standard pour les e-mails de téléchargement de Carte, de rappel et de réactivation.

Terminé [Configuration](/connectors/fr/marketing-automation/salesforce-marketing-cloud/setup.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 de fidélité un accès direct à la page de 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 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 détermine 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')
    définir @expirationDate = DateAdd(Now(), '3', 'Y')
    définir @secondsSinceEpoch = Multiply(DateDiff(@epochStart, Now(), 'MI'), 60)
    définir @secondsToEnd = Multiply(DateDiff(@epochStart, @expirationDate, 'MI'), 60)

    définir @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, '/Carte?neo.authToken=', @jwt)
]%%
```

{% endcode %}

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

Utilisez l'identifiant du locataire de l'équipe Wallet comme `@tenant`.

Utilisez le domaine personnalisé du locataire comme `@host` lorsqu'un domaine personnalisé est configuré.

## Utilisez un autre identifiant si nécessaire

L'adresse 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 du payload" %}

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

{% endcode %}

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

## Insérez le lien dans le contenu

Une fois `@link` est 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 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 des URL dynamiques.

## Prévisualiser et valider

La validation doit avoir lieu 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 doté d’un identifiant connu et affichez le contenu.
{% endstep %}

{% step %}

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

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

{% step %}

### Ouvrez le lien sur un appareil de test

Confirmez que la page attendue de The Wallet Crew 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 `E-mail` valeur.

### Le lien est rejeté par The Wallet Crew

Confirmez que la clé symétrique Salesforce Marketing Cloud correspond au secret The Wallet Crew configuré lors de [Configuration](/connectors/fr/marketing-automation/salesforce-marketing-cloud/setup.md).

### Le mauvais contexte client s’ouvre

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

Le modèle 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. N’importe quel 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 de plateforme par défaut de 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.thewalletcrew.io/connectors/fr/marketing-automation/salesforce-marketing-cloud/send-pass-links-in-email-studio.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
