Enviar información de cliente autenticado
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.
mutation checkoutCustomerProfileAuthenticate($input: CheckoutCustomerProfileAuthenticateInput!) { checkoutCustomerProfileAuthenticate(input: $input) { email customerId organizationId name phone locations { administrativeArea countryCode locality line1 line2 postalCode } oneTimePassword }}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.
Crear carrito con perfil de cliente
Después de llamar a ambas mutaciones, obtendrá lo siguiente:
-
cartIdde la mutacióncreateCartpara generar el carrito. -
Un
oneTimePasswordde la mutacióncheckoutCustomerProfileAuthenticatepara 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.
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 || '', }; } },}Gestionar perfiles de clientes
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.
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.