DOCS

Perfis de clientes

Perfis de clientes

Pré-carregue informações de compradores recorrentes no Zonos Checkout.

Os perfis de clientes otimizam sua experiência de checkout permitindo que clientes com uma conta pré-carreguem seus dados de endereço e pagamento.

Este recurso está atualmente disponível apenas para integrações de API personalizadas. Este recurso ainda não está disponível para comerciantes que utilizam plugins de Checkout.

1

Enviar informações de cliente autenticadas

Para autenticar um perfil de cliente, seu servidor backend deve fazer duas chamadas de API independentes, que recomendamos executar em paralelo para melhor desempenho:

  • createCart: Gera o carrinho do Zonos. Para orientações detalhadas, consulte a seção Configurar Zonos Checkout na documentação de integração personalizada.

  • checkoutCustomerProfileAuthenticate: Envia e valida as informações do cliente.

Mutação

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
  }
}

Variável

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"
	}
}

Ao validar a sessão do cliente, certifique-se de que o customerId que você passa na solicitação corresponda ao perfil correto para exibir informações precisas do cliente em checkout. Lembre-se de que, ao criar um carrinho, você não deve incluir customerId nos metadados, pois ele será sobrescrito.

Após a autenticação do cliente e a realização do pedido, o customerId estará disponível em order.references ao recuperar os detalhes do pedido via consulta de pedido, permitindo que você associe o pedido ao cliente correto.

2

Criar carrinho com perfil do cliente

Depois de chamar ambas as mutações, você receberá o seguinte:

  • cartId da mutação createCart para gerar o carrinho.

  • Uma oneTimePassword da mutação checkoutCustomerProfileAuthenticate para a autenticação do cliente.

Você pode passar ambos os valores no callback createCartId na função Zonos.init para carregar as informações do perfil do cliente fornecido em 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

Gerenciar perfis de clientes

Na primeira vez que você enviar informações do cliente, Zonos armazenará as informações fornecidas do cliente. Os métodos de pagamento serão armazenados com segurança no Stripe. Cada vez que novos detalhes de endereço ou método de pagamento forem fornecidos, eles serão adicionados ao perfil do cliente.

Atualmente, os perfis de clientes só podem ser atualizados com informações adicionais—detalhes existentes não podem ser editados ou removidos.

Esta página foi útil?