DOCS

Perfiles de clientes

Perfiles de clientes

Precargue la información de compradores recurrentes en Zonos Checkout.

Los perfiles de clientes agilizan su experiencia de checkout al permitir que los clientes con una cuenta precarguen su dirección y datos de pago.

Esta función actualmente solo está disponible para integraciones de API personalizadas. Esta función aún no está disponible para comerciantes que utilizan complementos de Checkout.

Para autenticar un perfil de cliente, su servidor backend debe realizar dos llamadas API independientes, que recomendamos ejecutar en paralelo para un mejor rendimiento:

  • createCart: Genera el carrito de Zonos. Para obtener orientación detallada, consulte la sección Configurar Zonos Checkout dentro de la documentación de integración personalizada.

  • checkoutCustomerProfileAuthenticate: Envía y valida la información del cliente.

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}

Al validar la sesión del cliente, asegúrese de que el customerId que pase en la solicitud coincida con el perfil correcto para mostrar información precisa del cliente en el checkout. Tenga en cuenta que, al crear un carrito, no debe incluir customerId en los metadatos, ya que se sobrescribirá.

Después de que el cliente esté autenticado y se realice el pedido, el customerId estará disponible en order.references al recuperar los detalles del pedido mediante la consulta de pedido, lo que le permitirá asociar el pedido con el cliente correcto.

Después de llamar a ambas mutaciones, obtendrá lo siguiente:

  • cartId de la mutación createCart para generar el carrito.

  • Un oneTimePassword de la mutación checkoutCustomerProfileAuthenticate para la autenticación del cliente.

Puede pasar ambos valores en la devolución de llamada createCartId en la función Zonos.init para cargar la información del perfil de cliente proporcionada en 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 primera vez que envíe información del cliente, Zonos almacenará la información proporcionada. Los métodos de pago se almacenarán de forma segura en Stripe. Cada vez que se pasen nuevos detalles de dirección o método de pago, se agregarán al perfil del cliente.

Actualmente, los perfiles de clientes solo se pueden actualizar con información adicional: los detalles existentes no se pueden editar ni eliminar.

¿Fue útil esta página?