# Comment créer des cartes via API dans The Wallet Crew

Ce guide montre comment créer des cartes Wallet depuis vos propres systèmes (CRM, e‑commerce, billetterie, PDV ou backend). Vous configurerez un modèle de carte, appellerez l’API pour créer une carte, puis récupérerez un lien que vos clients pourront ouvrir pour l’installer.

<details>

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

* Créer une carte de fidélité juste après la soumission d’un formulaire d’inscription.
* Générer des billets d’événement après la confirmation du paiement, puis les mettre à jour en cas de changement de siège.
* Créer des cartes d’adhésion et mettre à jour le niveau/durée de validité après chaque renouvellement.

</details>

## Prérequis

Avant de continuer, assurez‑vous d’avoir les éléments suivants :

1. **La plateforme Wallet Crew activée :** Votre compte Wallet Crew et la plateforme doivent être actifs.
2. **Clé API générée :** Générez une clé API depuis la console d’administration de Wallet Crew ([Clé API](https://docs.thewalletcrew.io/fr/configurer/platform/api-key)).
3. **Modèle de type de Carte configuré :** Créez et configurez un modèle de type de carte dans Wallet Crew Wallet.
4. **Variables assignées :** Attribuez des variables au type de carte pour correspondre aux champs des wallets Apple et Google qui seront remplis via l’appel API.

{% hint style="info" %}
Vous aurez besoin de deux valeurs au moment de l’appel API : votre `tenantId` (dans le chemin de l’URL) et votre `passType` (nom du modèle).
{% endhint %}

## Guide étape par étape

### Étape 1 : Configurer Wallet Crew

1. **Créer un modèle de type de Carte :**
   * Accédez à la [section Pass Type](https://admin.thewalletcrew.io/tenant/~/passTypes){target="\_blank"|title="Pass Type"} dans la console d’administration.
   * Définissez un nouveau type de carte et configurez les champs selon les besoins.
2. **Définir les variables :**
   * Mappez les variables aux champs du type de carte. **Ces variables seront remplies par les appels API.**

![Ces variables seront remplies par les appels API.](https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-be86ff8ab2d0ce6130f066108f826bdeed0aa064%2Fhow_to_create_passes_via_api_in_the_wallet_crew_1.png?alt=media)

3. **Générer une clé API :**
   * [Accédez aux paramètres API dans la console d’administration](https://admin.thewalletcrew.io/tenant/~/settings/security/apiKeys){target="\_blank"|title="API Key"} et générez une clé pour l’authentification.

### Étape 2 : Accéder à l’API

1. **Connectez‑vous à Swagger UI ou à la collection Postman :**
   * URL Swagger : [La Swagger UI de Wallet Crew](https://admin.thewalletcrew.io/api/swagger/index.html)
2. **S’authentifier en utilisant la clé API :**
   * Ajoutez la clé API à l’ `X-API-KEY` en‑tête de vos requêtes.
   * Cliquez **Autoriser**, puis saisissez votre clé API (par exemple, dans Swagger).

![Étape 2 : Accéder à l’API](https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-32479874bb2fe7f4f37816e6bc561489002bfefc%2Fhow_to_create_passes_via_api_in_the_wallet_crew_2.png?alt=media)

### Étape 3 : Créer une Carte via l’API

1. **Tester la `POST` Méthode :**
   * Point de terminaison : `POST /api/{tenantId}/passes?passType={passType}`
   * Paramètres requis :
     * `tenantId`: Votre identifiant de locataire (dans le chemin de l’URL).
     * `passType`: Le nom du modèle que vous avez créé (paramètre de requête).
   * Corps de la requête :
   * Sélectionnez le format application/json :

![Étape 3 : Créer une Carte via l’API](https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-666171a77f34e90c03d9657fe0e8d74d004488d8%2Fhow_to_create_passes_via_api_in_the_wallet_crew_3.png?alt=media)

{% hint style="info" %}
Pour le schéma complet de la requête/réponse, consultez la [référence de l’API Pass](https://docs.thewalletcrew.io/fr/developper/guides/wallet/broken-reference).
{% endhint %}

* Exemple :

![Étape 3 : Créer une Carte via l’API (2)](https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-b28ab12b9931d168252c029d516b3b95aca947af%2Fhow_to_create_passes_via_api_in_the_wallet_crew_4.png?alt=media)

2. **Réponse réussie :**
   * Vous recevrez un `passId` dans la réponse. Exemple :

![Réponse réussie](https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-7d8f7b1ff7274137285ea6bfccc50d955d4a5a87%2Fhow_to_create_passes_via_api_in_the_wallet_crew_5.png?alt=media)

### Étape 4 : Voir ou télécharger la Carte

1. **Console d’administration :**
   * Allez dans la section Wallet et filtrez par `passId` pour voir, modifier ou télécharger la carte.

![Console d’administration](https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-ba22b0e1cf330d814bc4a15144f2e9f732289d85%2Fhow_to_create_passes_via_api_in_the_wallet_crew_6.png?alt=media)

2. **URL de la Carte :**
   * Une approche courante consiste à rediriger les utilisateurs vers une page de visualisation hébergée : `GET /api/{tenantId}/passes/{passId}/view`.
   * Utilisez le code QR pour ajouter la carte à Apple Wallet ou Google Wallet.

![Étape 4 : Voir ou télécharger la Carte](https://3097111101-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-3be9f78345ea40d71ad0cd89adcb88b25dcbbf5b%2Fhow_to_create_passes_via_api_in_the_wallet_crew_7.png?alt=media)

## Conseils et bonnes pratiques

1. **Exemples pour différents types de cartes :**
   * **Carte de fidélité :**

     ```json
     {
       "identifiers": {"customerId": "12345"},
       "additionalData": {"points": 150}
     }
     ```
   * **Billet d’événement :**

     ```json
     {
       "identifiers": {"eventId": "concert2024"},
       "additionalData": {"seat": "A12"}
     }
     ```
   * **Coupon :**

     ```json
     {
       "extensions": {"couponCode": "DISCOUNT10"}
     }
     ```
2. **Tests :**
   * Testez toujours les appels API dans un environnement de staging avant de passer en production.
   * URL de staging : <https://admin-qa.thewalletcrew.io/>
3. **Gestion des erreurs :**
   * Assurez‑vous de bien gérer les erreurs d’API, telles que les échecs d’authentification ou les paramètres invalides.

## FAQ

<details>

<summary><strong>Dois‑je utiliser <code>Authorization</code> ou <code>X-API-KEY</code>?</strong></summary>

Utilisation `X-API-KEY`. Il s’agit de l’en‑tête de clé API utilisé par la référence API de Wallet Crew.

</details>

<details>

<summary><strong>Qu’est‑ce qui <code>passType</code>?</strong></summary>

`passType` est le nom du modèle que vous avez créé dans Wallet Crew. Il contrôle le design et les variables disponibles sur la carte.

</details>

<details>

<summary><strong>Que dois‑je stocker de mon côté ?</strong></summary>

Stockez le `passId`. Il s’agit de l’identifiant stable que vous utiliserez pour récupérer, mettre à jour ou notifier la même carte ultérieurement.

</details>

## Conclusion

La création de cartes via l’API Wallet Crew permet une intégration fluide avec des systèmes tiers et améliore l’expérience utilisateur. En suivant ce guide, vous pouvez configurer Wallet Crew, créer et gérer des cartes, et les récupérer efficacement. Pour des cas d’utilisation plus avancés, explorez d’autres articles dans la base de connaissances.
