Sur votre site web
Intégrez un bouton « Add to Wallet » sur votre site Web avec le SDK cinto de The Wallet Crew (détection Apple/Google + solution de repli sur ordinateur de bureau).
cinto est le SDK JavaScript de The Wallet Crew pour intégrer des boutons Add to Wallet sur n'importe quelle page web. Utilisez-le pour placer un Add to Wallet bouton sur n'importe quel site web — le SDK détecte l'appareil et affiche automatiquement le bon appel à l'action.
Sur iOS, il affiche Ajouter à Apple Wallet. Sur Android, il affiche Ajouter à Google Wallet. Sur ordinateur, il peut rediriger vers une page de carte hébergée ou prendre en charge une solution de repli basée sur un QR code.
Exemples concrets
Une page de compte fidélité affiche un bouton pour la carte du client connecté.
Une section de cartes-cadeaux affiche un bouton par carte-cadeau active.
Une page de billetterie affiche un bouton par billet, pas un bouton par commande.

Comment fonctionne l'intégration sur le site web
L'intégration est simple. Une page charge le SDK cinto, puis affiche un bouton qui résout une carte.
Cette carte peut être résolue de deux façons :
avec un
passIdavec
externalIdentifierset un HMAC facultatif
Chaque carte doit être unique
Ce point est crucial. Une carte Wallet est pas une ressource partagée.
Chaque carte doit représenter un client, une carte, un billet ou une instance de droit d'accès. Le bouton affiché sur une page doit résoudre uniquement la carte correspondant au contexte actuel.
Par exemple :
une page de carte de fidélité doit résoudre la carte du client actuel
une liste de billets doit résoudre une carte distincte par billet
une liste de cartes-cadeaux doit résoudre une carte distincte par carte-cadeau
N'utilisez jamais la même valeur d'identifiant statique pour chaque client. Si le même customerId, l'identifiant de billet ou la valeur de recherche de carte est codé en dur pour tous les visiteurs, la même carte peut être renvoyée à tout le monde.
Lorsque externalIdentifiers sont utilisés, la valeur de l'identifiant doit être suffisamment unique pour résoudre exactement une carte. Si une recherche renvoie plusieurs cartes, la stratégie d'identifiant n'est pas assez spécifique pour une distribution sur site web.
Ce qui change selon l'appareil
Le SDK affiche automatiquement le comportement approprié :
iOS : télécharge la carte Apple Wallet
Android : ouvre le flux d'enregistrement Google Wallet
Ordinateur : redirige vers une page de carte hébergée
Ce comportement par défaut peut être remplacé si nécessaire avec platform.
Exemple de rendu
iOS

Android

Ordinateur

Le mode de secours sur ordinateur ouvre une page de carte hébergée telle que :

Le comportement sur ordinateur peut être personnalisé pour afficher un code QR au lieu d'un bouton standard.
Choisissez comment le bouton résout la carte
Le principal choix d'implémentation est la méthode de résolution de la carte.
Utilisez passId lorsque le backend connaît déjà la carte exacte. Utilisez externalIdentifiers lorsque le site web a accès à un identifiant métier stable et que la carte doit être résolue dynamiquement.
Commencez avec tenantId et environment
tenantId et environmentDeux valeurs du SDK sont particulièrement importantes :
tenantIdenvironment
tenantId est requis. C'est le nom du tenant dans le système The Wallet Crew. Dans les exemples de cette page, molia est le tenantId.
environment est l'URL de base publique utilisée par le SDK.
Utilisez ces valeurs comme suit :
Production :
https://<customDomain>le génériquehttps://app.neostore.cloudpeut aussi être utilisé lorsqu'aucun domaine personnalisé n'a été configuréTest / QA :
https://app-qa.neostore.cloud
Si environment est omis, le SDK utilise https://app.neostore.cloud. Ce comportement par défaut est valide pour la production.
Option 1 — Résoudre avec passId
passIdC'est l'option la plus simple. Elle fonctionne mieux lorsque le backend connaît déjà la carte exacte à afficher.
Option 2 — Résoudre avec externalIdentifiers
externalIdentifiersCette option est utile lorsque la page connaît un identifiant métier stable, comme un identifiant de fidélité, un identifiant CRM ou un identifiant de billet, mais ne connaît pas encore le passId encore.
L'identifiant doit appartenir au client ou à l'objet actuel. Il ne doit pas s'agir d'une constante partagée.
Lorsque HMAC est utilisé, la signature doit être calculée côté serveur avec l'un des secrets The Wallet Crew.
Par exemple, pour un customerId de SC103010 et un secret de I1M8emrrJSns4Hnuibbm45eWfLQMosPGKSp1JzKsCrXeWmhjE8lZhxC2tfSRX5IJ, la valeur HMAC est :
8c5a9ebdd9b4ac8d2307cc34192f0faed441ef724c043162f0618784173d4d93
Outil de référence : CyberChef
Le secret HMAC doit rester côté serveur. Il ne doit jamais être exposé dans le code du navigateur.
Attributs de données
Utilisation du composant
Casse des clés d'identifiant en HTML
Les navigateurs mettent les noms d'attributs HTML en minuscules. Pour préserver une majuscule dans une clé d'identifiant, préfixez le caractère avec _ dans le nom de l'attribut.
Exemple :
y2.customer_Iddevienty2.customerId
Cette règle n'affecte que le nom de l'attribut HTML. Elle ne modifie pas la valeur signée.
Comportement et options courants
Détection de la plateforme
Lorsque data-neostore-addToWalletButton est utilisé, le composant sélectionne automatiquement la bonne plateforme :
desktopapplegoogle
Pour forcer une plateforme, définissez data-neostore-platform="desktop" ou utilisez l' platform option dans le composant.
Détection de la langue
Le SDK utilise la langue du navigateur par défaut. Si la langue locale n'est pas disponible, il revient à l'anglais.
Pour forcer une langue :
attributs de données :
data-neostore-language="fr"option du composant :
language: "fr"
Exemple de JavaScript vanilla
Options complètes
Voici la liste complète des options disponibles.
Style
La structure rendue est :
un conteneur fourni par le site web
un lien avec sélecteur
.neostore-linkune image avec des sélecteurs
.neostore-imget.neostore-link-{{ platform }}
Sur ordinateur, le bouton peut être entièrement personnalisé. Le résultat clé est l’URL de la carte hébergée, donc le bouton par défaut peut être remplacé par un CTA personnalisé ou un flux de code QR.
Sur mobile, le bouton doit suivre les consignes de conception d’Apple et de Google. L’élément de marque, le libellé, l’espacement et la présentation globale doivent rester conformes aux exigences de chaque fournisseur.
Les éléments de bouton Apple et Google suivent les consignes de chaque fournisseur :
Personnalisation du bureau
Sur ordinateur, le résultat le plus important est l’URL de la Carte hébergée. Cette URL peut être utilisée pour afficher un code QR à la place du bouton de redirection par défaut.
Ajouter des informations d'analyse
Le bouton peut envoyer trois valeurs source qui seront visibles dans le Carte:Installé l'événement, le tableau de bord et l'API Insights.
balises: liste des balises source.utm_sourceetutm_campaignsont ajoutés automatiquement.moyen: libellé de canal tel quee-commerceoucompte.origine: URL de la page source. Par défaut, l'URL de la page actuelle est utilisée sans paramètres de requête.
Toutes les valeurs sont facultatives.
Récupérer passId lorsque la carte existe déjà
passId lorsque la carte existe déjàLorsque la carte existe déjà, le backend du site web peut d’abord la rechercher, puis afficher le bouton avec la valeur renvoyée passId.
Créer une clé API
Créez une clé API dans la console d’administration avec tenant.carte:read.
Voir : Clé API
Exemple d’intégration tierce
FAQ
Le même bouton doit-il être réutilisé pour tous les clients ?
Non. Le composant visuel peut être réutilisé, mais la Carte résolue doit changer selon le client, le billet ou le contexte de la carte-cadeau actuel.
Faut-il utiliser `passId` ou `externalIdentifiers` ?
Utilisez passId lorsque le backend connaît déjà la carte exacte. Utilisez externalIdentifiers lorsque la page dispose d’un identifiant stable et que la Carte doit être résolue dynamiquement.
Plusieurs boutons peuvent-ils être rendus sur la même page ?
Oui. C’est courant pour les listes de billets et de cartes-cadeaux. Chargez le SDK une seule fois, puis rendez un bouton par Carte.
L’ordinateur de bureau peut-il afficher un code QR au lieu d’une redirection standard ?
Oui. L’URL de Carte hébergée peut être utilisée pour afficher un code QR ou un autre CTA spécifique au bureau.
Quand faut-il utiliser plutôt une intégration d’application native ?
Utilisez une intégration native lorsque le flux Wallet démarre dans une application iOS ou Android. Pour ce modèle, voir Dans votre application mobile.

