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
mutation checkoutCustomerProfileAuthenticate(
$input: CheckoutCustomerProfileAuthenticateInput!
) {
checkoutCustomerProfileAuthenticate(input: $input) {
email
customerId
organizationId
name
phone
locations {
administrativeArea
countryCode
locality
line1
line2
postalCode
}
oneTimePassword
}
}
Variável
{
"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.
Criar carrinho com perfil do cliente
Depois de chamar ambas as mutações, você receberá o seguinte:
-
cartId
da mutaçãocreateCart
para gerar o carrinho. -
Uma
oneTimePassword
da mutaçãocheckoutCustomerProfileAuthenticate
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
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 ||
'',
};
}
},
}
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.
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.