DOCS

Kundeprofiler

Kundeprofiler

Forhåndslast informasjon om gjentakende kunder inn i Zonos Checkout.

Kundeprofiler strømlinjeformer din checkout opplevelse ved å la kunder med en konto forhåndslaste sin adresse og betalingsinformasjon.

Denne funksjonen er for øyeblikket kun tilgjengelig for tilpassede API-integrasjoner. Denne funksjonen er ennå ikke tilgjengelig for handelsmenn som bruker Checkout plugins.

1

Send autentisert kundeinformasjon

For å autentisere en kundeprofil, må serveren din gjøre to uavhengige API-anrop, som vi anbefaler å kjøre parallelt for bedre ytelse:

  • createCart: Genererer Zonos handlekurven. For detaljert veiledning, se Sett opp Zonos Checkout seksjonen i dokumentasjonen for tilpasset integrasjon.

  • checkoutCustomerProfileAuthenticate: Sender inn og validerer kundens informasjon.

Mutasjon

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 validerer kundesesjonen, må du sørge for at customerId du sender i forespørselen samsvarer med den riktige profilen for å vise nøyaktig kundeinformasjon på checkout. Husk at når du oppretter en handlekurv, bør du ikke inkludere customerId i metadataene, da det vil bli overskrevet.

Etter at kunden er autentisert og bestillingen er plassert, vil customerId være tilgjengelig i order.references når du henter bestillingsdetaljer via bestillingsspørringen, noe som lar deg knytte bestillingen til den riktige kunden.

2

Opprett handlekurv med kundeprofil

Etter at du har kalt begge mutasjonene, vil du få følgende tilbake:

  • cartId fra createCart-mutasjonen for å generere handlekurven.

  • En oneTimePassword fra checkoutCustomerProfileAuthenticate-mutasjonen for kundeautentisering.

Du kan sende begge disse verdiene i createCartId-tilbakekallingen i Zonos.init-funksjonen for å laste inn den oppgitte kundeprofilinformasjonen 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

Administrere kundeprofiler

Første gang du sender inn kundeinformasjon, vil Zonos lagre den oppgitte kundeinformasjonen. Betalingsmetoder vil bli lagret sikkert i Stripe. Hver gang nye adresse- eller betalingsmetodedetaljer sendes inn, vil de bli lagt til kundens profil.

For øyeblikket kan kundeprofiler kun oppdateres med tilleggsinformasjon—eksisterende detaljer kan ikke redigeres eller fjernes.

Var denne siden nyttig?