DOCS

Profils client

Profils client

Préchargez les informations des acheteurs récurrents dans Zonos Checkout.

Les profils client simplifient votre expérience de checkout en permettant aux clients disposant d'un compte de précharger leur adresse et leurs informations de paiement.

Cette fonctionnalité est actuellement disponible uniquement pour les intégrations API personnalisées. Elle n'est pas encore disponible pour les marchands utilisant les plugins Checkout.

Pour authentifier un profil client, votre serveur backend doit effectuer deux appels API indépendants, que nous recommandons d'exécuter en parallèle pour de meilleures performances :

  • createCart : génère le panier Zonos. Pour des instructions détaillées, consultez la section Configurer Zonos Checkout dans la documentation d'intégration personnalisée.

  • checkoutCustomerProfileAuthenticate : soumet et valide les informations du client.

1mutation checkoutCustomerProfileAuthenticate(
2$input: CheckoutCustomerProfileAuthenticateInput!
3) {
4 checkoutCustomerProfileAuthenticate(input: $input) {
5 email
6 customerId
7 organizationId
8 name
9 phone
10 locations {
11 administrativeArea
12 countryCode
13 locality
14 line1
15 line2
16 postalCode
17 }
18 oneTimePassword
19 }
20}

Lors de la validation de la session client, assurez-vous que le customerId que vous transmettez dans la requête correspond au profil correct afin d'afficher des informations client précises au checkout. Notez que lors de la création d'un panier, vous ne devez pas inclure customerId dans les métadonnées, car il sera écrasé.

Une fois le client authentifié et la commande passée, le customerId sera disponible dans order.references lors de la récupération des détails de commande via la requête order, ce qui vous permet d'associer la commande au client correct.

Après avoir appelé les deux mutations, vous obtiendrez ce qui suit :

  • cartId de la mutation createCart pour générer le panier.

  • Un oneTimePassword de la mutation checkoutCustomerProfileAuthenticate pour l'authentification du client.

Vous pouvez transmettre ces deux valeurs dans le callback createCartId de la fonction Zonos.init pour charger les informations du profil client fournies dans Checkout.

1Zonos.init({
2 ...
3 checkoutSettings: {
4 ...
5 createCartId: async () => {
6 const result = await fetch(
7 'https://api.merchant.com/api/get-cart-info',
8 {
9 body: JSON.stringify(payload),
10 method: 'POST',
11 },
12 );
13 const json =
14 await result.json();
15 return {
16 cartId: json.cartId,
17 customerAuthenticationToken:
18 json.customerProfileAuthenticate
19 ?.checkoutCustomerProfileAuthenticate.oneTimePassword ||
20 '',
21 };
22 }
23 },
24}

La première fois que vous soumettez des informations client, Zonos stocke les informations fournies. Les modes de paiement sont stockés en toute sécurité dans Stripe. Chaque fois que de nouvelles adresses ou de nouveaux modes de paiement sont transmis, ils sont ajoutés au profil du client.

Actuellement, les profils client ne peuvent être mis à jour qu'avec des informations supplémentaires — les détails existants ne peuvent pas être modifiés ni supprimés.

Cette page a-t-elle été utile?