Wyślij uwierzytelnione informacje o kliencie
Aby uwierzytelnić profil klienta, Twój serwer backendowy musi wykonać dwa niezależne wywołania API, które zalecamy uruchomić równolegle dla lepszej wydajności:
-
createCart
: Generuje koszyk Zonos. Aby uzyskać szczegółowe wskazówki, zapoznaj się z sekcją Ustaw Zonos Checkout w dokumentacji dotyczącej niestandardowej integracji. -
checkoutCustomerProfileAuthenticate
: Przesyła i weryfikuje informacje o kliencie.
Mutacja
mutation checkoutCustomerProfileAuthenticate(
$input: CheckoutCustomerProfileAuthenticateInput!
) {
checkoutCustomerProfileAuthenticate(input: $input) {
email
customerId
organizationId
name
phone
locations {
administrativeArea
countryCode
locality
line1
line2
postalCode
}
oneTimePassword
}
}
Zmienna
{
"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"
}
}
Podczas weryfikacji sesji klienta upewnij się, że customerId
, który przekazujesz w żądaniu, odpowiada odpowiedniemu profilowi, aby wyświetlić dokładne informacje o kliencie w checkout. Pamiętaj, że podczas tworzenia koszyka nie powinieneś uwzględniać customerId
w metadanych, ponieważ zostanie on nadpisany.
Po uwierzytelnieniu klienta i złożeniu zamówienia, customerId będzie dostępny w order.references
podczas pobierania szczegółów zamówienia za pomocą zapytania o zamówienie, co pozwoli Ci powiązać zamówienie z odpowiednim klientem.
Utwórz koszyk z profilem klienta
Po wywołaniu obu mutacji otrzymasz następujące dane:
-
cartId
z mutacjicreateCart
, aby wygenerować koszyk. -
oneTimePassword
z mutacjicheckoutCustomerProfileAuthenticate
do uwierzytelnienia klienta.
Możesz przekazać obie te wartości w funkcji createCartId
w Zonos.init
, aby załadować dostarczone informacje o profilu klienta w 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 ||
'',
};
}
},
}
Zarządzaj profilami klientów
Za pierwszym razem, gdy przekażesz informacje o kliencie, Zonos zapisze podane informacje o kliencie. Metody płatności będą przechowywane w bezpieczny sposób w Stripe. Za każdym razem, gdy nowe szczegóły adresu lub metody płatności zostaną przekazane, zostaną one dodane do profilu klienta.
Obecnie profile klientów mogą być aktualizowane tylko o dodatkowe informacje—istniejące szczegóły nie mogą być edytowane ani usuwane.
Profile klientów
Wstępne załadowanie informacji o powracających klientach do Zonos Checkout.
Profile klientów usprawniają Twoje checkout doświadczenie, umożliwiając klientom z kontem wstępne załadowanie swoich danych adresowych i płatniczych.
Funkcja ta jest obecnie dostępna tylko dla niestandardowych integracji API. Funkcja ta nie jest jeszcze dostępna dla sprzedawców korzystających z wtyczek Checkout.