Envoyer les informations client authentifiées
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.
mutation checkoutCustomerProfileAuthenticate($input: CheckoutCustomerProfileAuthenticateInput!) { checkoutCustomerProfileAuthenticate(input: $input) { email customerId organizationId name phone locations { administrativeArea countryCode locality line1 line2 postalCode } oneTimePassword }}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.
Créer un panier avec un profil client
Après avoir appelé les deux mutations, vous obtiendrez ce qui suit :
-
cartIdde la mutationcreateCartpour générer le panier. -
Un
oneTimePasswordde la mutationcheckoutCustomerProfileAuthenticatepour 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.
Zonos.init({ ... checkoutSettings: { ... createCartId: async () => { const result = await fetch( 'https://api.merchant.com/api/get-cart-info', { body: JSON.stringify(payload), method: 'POST', }, ); const json = await result.json(); return { cartId: json.cartId, customerAuthenticationToken: json.customerProfileAuthenticate ?.checkoutCustomerProfileAuthenticate.oneTimePassword || '', }; } },}Gérer les profils client
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.
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.