# Distribution

La distribution est la façon dont les acheteurs ajoutent les billets Secutix à Apple Wallet et Google Wallet. Vous pouvez partager un lien de téléchargement hébergé, ou intégrer un **Ajouter au Wallet** bouton. Placez le CTA là où se trouvent déjà les acheteurs.

Points de contact courants :

* E-mail de confirmation (lien hébergé)
* Page de confirmation de commande de la billetterie Secutix (bouton intégré)
* Votre site web (bouton intégré)
* Lien SMS (utile quelques heures avant le spectacle)

La plupart des déploiements combinent plusieurs canaux : **Page de téléchargement hébergée** dans les e-mails transactionnels pour la fiabilité et **bouton « Ajouter au Wallet » intégré (SDK)** pour un enregistrement instantané dans la billetterie ou les pages dont vous êtes propriétaire.

## Page de téléchargement hébergée (envoyer par e-mail)

C’est le parcours le plus simple pour les acheteurs. Cela fonctionne bien lorsque Secutix envoie déjà un e-mail de confirmation après l’achat.

{% hint style="info" %}
Cette page ne nécessite pas d’authentification. Les acheteurs peuvent ouvrir l’e-mail quelques minutes avant le spectacle et ajouter les billets à leur portefeuille. Ils n’ont pas besoin de se souvenir de l’identifiant et du mot de passe de leur billetterie.
{% endhint %}

Wallet Crew propose une page de commande optimisée pour mobile. Sur iOS, elle affiche le bouton Apple Wallet. Sur Android, elle affiche le bouton Google Wallet. Sur ordinateur, elle revient à un code QR.

La page liste chaque billet de la commande. Les acheteurs peuvent ajouter les billets à partir du même lien, sans rouvrir l’e-mail.

<div align="center"><figure><img src="/files/030552996d0183bb9096673dd72dcecc4074358c" alt="Hosted download page on iOS showing the ticket list and Apple Wallet button." width="250"><figcaption><p>Page de téléchargement hébergée sur iOS.</p></figcaption></figure> <figure><img src="/files/4c827e5d5a3b6edd0addb319b54c7f2b0528ba8e" alt="Hosted download page on Android showing the ticket list and Google Wallet button." width="245"><figcaption><p>Page de téléchargement hébergée sur Android.</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/463adcd07c865a99077280346340e6617ec2be50" alt="Hosted download page on desktop showing the ticket list and QR code fallback." width="563"><figcaption><p>Page de téléchargement hébergée sur ordinateur.</p></figcaption></figure></div>

### Modèle d’URL

Utilisez cette URL dans les e-mails de confirmation Secutix. Remplacez `<customdomain>` et `<tenantId>` par vos valeurs.

```
https://<customdomain>/<tenantId>/tickets?ids.secutix.orderToken=$document.order.secretToken
```

### Exigence de mise en page

La page hébergée utilise une mise en page nommée `tickets`. Créez-la dans vos mises en page Wallet Crew.

{% code title="Configuration de la mise en page (exemple)" %}

```yaml
type: passList
internationalization:
  resources :
    - /locales/tickets/
headerImage: /public/header.png
```

{% endcode %}

{% hint style="info" %}
Contactez l’assistance Wallet Crew si vous avez besoin d’aide pour configurer cette mise en page.
{% endhint %}

## « Ajouter au Wallet » dans la billetterie

Utilisez cela lorsque vous voulez le CTA directement dans l’interface de la billetterie. C’est le meilleur parcours pour les acheteurs mobiles qui veulent enregistrer le billet immédiatement.

Cette intégration est généralement mise en œuvre par Secutix. Vérifiez qu’elle est incluse dans votre périmètre Secutix si vous ne la voyez pas.

<figure><img src="/files/b3c77b0409de02ea53efe6cba471c5359042f9b5" alt="Add to Wallet button embedded in the Secutix ticket shop order confirmation page."><figcaption><p>Bouton « Ajouter au Wallet » dans la billetterie.</p></figcaption></figure>

## Ajoutez le bouton « Ajouter au Wallet » sur votre site web

Utilisez cela lorsque vous contrôlez la page. Les exemples typiques sont une page de compte, une page « Mes billets » ou une page d’atterrissage après achat.

Le SDK Wallet Crew (`cinto`) affiche le bouton et détecte l’appareil. Il affiche **Apple Wallet** sur iOS et **Google Wallet** sur Android. Sur ordinateur, il revient à un code QR.

Il respecte les directives de boutons Apple et Google. Il reste compatible via les mises à jour du SDK. Il prend en charge la localisation selon la langue de l’utilisateur. Il protège également l’intégrité de la distribution.

### Prérequis

Avant d’intégrer le SDK, confirmez trois choses. Votre tenant Wallet Crew dispose du bon **Billet événement** modèle(s). Wallet Crew est connecté à Secutix via le connecteur Secutix. Vous pouvez modifier la page où vous souhaitez afficher le bouton.

{% hint style="info" %}
L’intégration Secutix de Wallet Crew utilise Secutix `movementId` pour identifier de manière unique une Carte de billet.
{% endhint %}

### Initialisation du script

Copiez l’extrait prêt à l’emploi depuis les paramètres d’intégration Secutix dans la console d’administration. Chargez-le une seule fois par page, idéalement dans le pied de page.

<figure><img src="/files/ab42c4703c27afb8cae0bc03c2e6a3c2f3d6fc8c" alt="SDK snippet shown in the Secutix integration settings page."><figcaption><p>Extrait SDK disponible dans les paramètres d’intégration Secutix.</p></figcaption></figure>

```html
<script type="text/javascript">
(function (n, e, o) {
    var s=n.createElement("script");
    s.src="https://sdk.neostore.cloud/scripts/"+e+"/cinto@1";
    s.async=1;
    s.onload=function(){neostore.cinto.initialize(e,o);n.body.appendChild(s);};
})(document, "{tenantId}", { });
</script>
```

Remplacez `{tenantId}` par l’ID de tenant Wallet Crew.

### Exemples de boutons

Toutes les options ci-dessous affichent le même bouton. Elles diffèrent seulement dans la façon dont le bouton identifie le billet.

<details>

<summary>Utilisation de <code>movementId</code>, <code>fileId</code>, <code>contactId</code>, et <code>ticketId</code></summary>

```html
<div data-neostore-addToWalletButton
     data-neostore-externalIdentifiers-secutix.movementId-value="<movementId>"
     data-neostore-externalIdentifiers-secutix.movementId-secret="<fileId>|<contactId>|<ticketId>">
</div>
```

</details>

<details>

<summary>Utilisation du calcul HMAC</summary>

```html
<div data-neostore-addToWalletButton
     data-neostore-externalIdentifiers-secutix.movementId-value="<movementId>"
     data-neostore-externalIdentifiers-secutix.movementId-hmac="<hmac_sha256(secret, movementId)>">
</div>
```

</details>

<details>

<summary>Utilisation de <code>passId</code> uniquement (résolu côté serveur)</summary>

```html
<div data-neostore-addToWalletButton
     data-neostore-passId="<passId>">
</div>
```

</details>

### Remarques

Conservez le calcul HMAC côté serveur. N’exposez jamais votre secret de signature dans le navigateur.

Si vous avez besoin de `passId`, récupérez-le côté serveur en interrogeant les cartes existantes via Secutix `movementId` (cela ne **ne** crée pas de Carte) :

```bash
curl 'https://app.neostore.cloud/api/{tenantId}/passes?pageIndex=0&pageSize=21&filter%5B0%5D.field=identifiers.secutix.movementId&filter%5B0%5D.operator=equals&filter%5B0%5D.value={movementId}' \
  -H 'accept: application/json, text/plain, */*' \
  -H 'X-API-KEY: xxxx'
```

Choisissez le `id` dans le contenu de la réponse. Cette valeur est le `passId` à transmettre au SDK. Référence API : [GET /api/{tenantId}/passes](https://docs.thewalletcrew.io/develop/api-reference/pass-management/pass#get-api-tenantid-passes).

Besoin du guide complet d’intégration au site web ? Voir [Sur votre site web](https://github.com/TheWalletCrew/docs/blob/main/enroll/on-your-website.md).

## FAQ

<details>

<summary><strong>Pourquoi le lien de la page de téléchargement hébergée ne fonctionne-t-il pas (billet introuvable / jeton invalide), et comment le corriger ?</strong></summary>

Cela signifie que la page hébergée ne peut pas résoudre la commande à partir du jeton. Le jeton dans l’URL est manquant ou incorrect.

Utilisez le modèle d’URL exact de cette page. Assurez-vous que la variable de jeton est renseignée. Assurez-vous que votre outil d’e-mail ne tronque pas l’URL. Si la commande a été remplacée, envoyez à l’acheteur un nouveau lien.

</details>

<details>

<summary><strong>Pourquoi le bouton « Ajouter au Wallet » affiche-t-il la mauvaise plateforme (ou seulement un code QR) ?</strong></summary>

Le bouton choisit Apple, Google ou ordinateur à partir de l’agent utilisateur. Les navigateurs intégrés peuvent fausser cette détection. « Demander le site de bureau » casse aussi la détection.

Demandez à l’acheteur d’ouvrir la page dans le navigateur système. Utilisez Safari sur iOS. Utilisez Chrome sur Android. Sur ordinateur, le code QR est le repli attendu.

Si cela ne fonctionne toujours pas, un bouton « besoin d’aide » est disponible et les boutons pour Google Wallet et Apple Wallet seront affichés.

</details>

<details>

<summary><strong>Un acheteur a plusieurs billets dans une commande. Peut-il ajouter tous les billets en une seule fois ?</strong></summary>

Oui. Un seul lien hébergé peut afficher chaque billet de la commande.

Les acheteurs ajoutent les billets depuis la liste. Ils n’ont pas besoin d’un lien par billet.

</details>

<details>

<summary><strong>Que se passe-t-il lorsqu’un billet est échangé, réimprimé ou annulé après avoir été ajouté au portefeuille ?</strong></summary>

Les réimpressions et les modifications simples mettent généralement à jour automatiquement la Carte Wallet existante.

Les échanges ou remplacements génèrent généralement un nouveau billet. L’ancienne Carte est alors désactivée. L’acheteur doit ajouter la nouvelle Carte. Rouvrir le lien hébergé suffit généralement.

Les annulations désactivent la Carte afin qu’elle ne puisse plus être scannée.

Pour la matrice de comportement complète, voir [Mises à jour, cycle de vie et état d’installation](/connectors/fr/ticketing/secutix/updates-lifecycle-and-installation-status.md).

</details>

## Plus d’informations

Si vous devez encore configurer le contenu de la Carte, allez à [Modèle de carte Wallet et mappage des champs](/connectors/fr/ticketing/secutix/wallet-pass-template-and-field-mapping.md).

Si vous souhaitez valider les échanges, les annulations et le comportement d’actualisation, allez à [Mises à jour, cycle de vie et état d’installation](/connectors/fr/ticketing/secutix/updates-lifecycle-and-installation-status.md).


---

# 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/connectors/fr/ticketing/secutix/distribution.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.
