DOCS

Kundprofiler

Kundprofiler

Förladda information om återkommande köpare i Zonos Checkout.

Kundprofiler effektiviserar din checkout-upplevelse genom att låta kunder med ett konto förladda sina adress- och betalningsuppgifter.

Denna funktion är för närvarande endast tillgänglig för anpassade API-integrationer. Denna funktion är ännu inte tillgänglig för handlare som använder Checkout-plugins.

1

Skicka autentiserad kundinformation

För att autentisera en kundprofil måste din backend-server göra två oberoende API-anrop, som vi rekommenderar att köra parallellt för bättre prestanda:

  • createCart: Genererar Zonos-vagnen. För detaljerad vägledning, se Ställ in Zonos Checkout-avsnittet inom dokumentationen för anpassad integration.

  • checkoutCustomerProfileAuthenticate: Skickar och validerar kundens information.

Mutation

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

Variabel

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

När du validerar kundsessionen, se till att customerId som du skickar i begäran matchar den korrekta profilen för att visa korrekt kundinformation vid checkout. Tänk på att när du skapar en kundvagn, bör du inte inkludera customerId i metadata, eftersom det kommer att skrivas över.

Efter att kunden har autentiserats och beställningen har lagts, kommer customerId att vara tillgänglig i order.references när du hämtar orderdetaljer via orderfrågan, vilket gör att du kan koppla beställningen till rätt kund.

2

Skapa kundvagn med kundprofil

Efter att du har anropat båda mutationerna, kommer du att få följande tillbaka:

  • cartId från createCart mutation för att generera kundvagnen.

  • Ett oneTimePassword från checkoutCustomerProfileAuthenticate mutation för kundautentisering.

Du kan skicka båda dessa värden i createCartId callback i Zonos.init funktionen för att ladda den angivna kundprofilinformationen i 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

Hantera kundprofiler

Första gången du skickar kundinformation kommer Zonos att lagra den angivna kundinformationen. Betalningsmetoder kommer att lagras säkert i Stripe. Varje gång nya adress- eller betalningsmetoddetaljer skickas in, kommer de att läggas till kundens profil.

För närvarande kan kundprofiler endast uppdateras med ytterligare information—befintliga detaljer kan inte redigeras eller tas bort.

Var den här sidan till hjälp?