DOCS

Profile klientów

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.

1

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

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

Zmienna

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

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.

2

Utwórz koszyk z profilem klienta

Po wywołaniu obu mutacji otrzymasz następujące dane:

  • cartId z mutacji createCart, aby wygenerować koszyk.

  • oneTimePassword z mutacji checkoutCustomerProfileAuthenticate 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

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

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.

Czy ta strona była pomocna?