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.
Si vende a revendedores, agencias gubernamentales o organizaciones sin fines de lucro, también puede sincronizar sus certificados de exención de impuestos con un perfil de cliente.
1
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.
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.
2
Crear carrito con perfil de cliente
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.
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.
Las direcciones y los métodos de pago solo se pueden agregar; los existentes no se pueden editar ni eliminar. El nombre, el correo electrónico y el teléfono de un cliente se pueden actualizar con checkoutCustomerUpsert.
checkoutCustomerProfileAuthenticate requiere que el comprador esté presente, ya que emite una contraseña de un solo uso para esa sesión de checkout. Cuando desee crear o actualizar un perfil fuera de un checkout (por ejemplo, para cargar su lista de clientes con antelación, sincronizar cambios de perfil desde su propio sistema o adjuntar exenciones de impuestos antes del primer pedido de un cliente), utilice checkoutCustomerUpsert en su lugar.
Los perfiles se emparejan según customerId, por lo que llamar a esta mutación repetidamente actualiza el mismo perfil en lugar de crear duplicados. Es seguro ejecutarla en toda su lista de clientes de forma programada.
Tres cosas que debe saber sobre cómo se aplican las actualizaciones:
Los campos omitidos no se modifican. Enviar solo name actualiza el nombre y deja el correo electrónico y el teléfono como estaban.
Los valores no se pueden borrar. Enviar un valor vacío se trata igual que omitir el campo, por lo que no hay forma de eliminar un nombre, correo electrónico o teléfono una vez establecido.
Las direcciones solo se agregan. Una ubicación que ya existe en el perfil no se duplica, y las ubicaciones que se omiten en la solicitud no se eliminan.
checkoutCustomerUpsert no devuelve un oneTimePassword. Para cargar un perfil en Checkout
aún necesita checkoutCustomerProfileAuthenticate, que emite uno para esa sesión.
GraphQL API ReferenceTypes, inputs, and operations used in this guide
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.
Si vende a revendedores, agencias gubernamentales o organizaciones sin fines de lucro, también puede sincronizar sus certificados de exención de impuestos con un perfil de cliente.
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) {emailcustomerIdorganizationIdnamephonelocations {administrativeAreacountryCodelocalityline1line2postalCode}oneTimePassword}}Al validar la sesión del cliente, asegúrese de que el
customerIdque 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 incluircustomerIden 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.referencesal 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
createCartIden la funciónZonos.initpara 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.
Las direcciones y los métodos de pago solo se pueden agregar; los existentes no se pueden editar ni eliminar. El nombre, el correo electrónico y el teléfono de un cliente se pueden actualizar con
checkoutCustomerUpsert.Crear o actualizar un perfil sin un comprador
checkoutCustomerProfileAuthenticaterequiere que el comprador esté presente, ya que emite una contraseña de un solo uso para esa sesión de checkout. Cuando desee crear o actualizar un perfil fuera de un checkout (por ejemplo, para cargar su lista de clientes con antelación, sincronizar cambios de perfil desde su propio sistema o adjuntar exenciones de impuestos antes del primer pedido de un cliente), utilicecheckoutCustomerUpserten su lugar.mutation checkoutCustomerUpsert($input: CheckoutCustomerProfileInput!) {checkoutCustomerUpsert(input: $input) {customerIdemailnamephonelocations {administrativeAreacountryCodeline1line2localitypostalCode}}}Los perfiles se emparejan según
customerId, por lo que llamar a esta mutación repetidamente actualiza el mismo perfil en lugar de crear duplicados. Es seguro ejecutarla en toda su lista de clientes de forma programada.Tres cosas que debe saber sobre cómo se aplican las actualizaciones:
nameactualiza el nombre y deja el correo electrónico y el teléfono como estaban.checkoutCustomerUpsertno devuelve unoneTimePassword. Para cargar un perfil en Checkout aún necesitacheckoutCustomerProfileAuthenticate, que emite uno para esa sesión.CheckoutCustomerProfileInput
checkoutCustomerUpsert
¿Fue útil esta página?