DOCS

Perfiles de cliente

Perfiles de cliente

Cargar previamente la información de compradores recurrentes en Zonos Checkout.

Los perfiles de cliente optimizan su experiencia de checkout al permitir que los clientes con una cuenta carguen previamente su dirección y detalles 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 plugins de Checkout.

1

Enviar información de cliente autenticada

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.

Mutación

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

Variable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
	"input": {
		"email": "test@zonos.com",
		"locations": [
			{
				"administrativeArea": "BC",
				"countryCode": "CA",
				"line1": "411-1033 Davie Street",
				"line2": "123 testAddress2",
				"locality": "Vancouver",
				"name": "TestCanada TestCanada",
				"postalCode": "V6E1M7"
			},
			{
				"administrativeArea": "UT",
				"countryCode": "US",
				"line1": "411-1033 Davie Street",
				"line2": "123 testAddress2",
				"locality": "Saint George",
				"name": "TestUS TestLastName",
				"postalCode": "84770"
			}
		],
		"customerId": "1234567",
		"name": "testFirstName1 testLastName",
		"phone": "7022920000"
	}
}

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

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 a través de 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, recibirá 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 el callback createCartId en la función Zonos.init para cargar la información del perfil de cliente proporcionada en Checkout.

Zonos.init

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 ||
          '',
      };
    }
  },
}
3

Gestionar perfiles de clientes

La primera vez que envíe información del cliente, Zonos almacenará la información del cliente proporcionada. Los métodos de pago se almacenarán de forma segura en Stripe. Cada vez que se envíen 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?