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
mutation checkoutCustomerProfileAuthenticate(
$input: CheckoutCustomerProfileAuthenticateInput!
) {
checkoutCustomerProfileAuthenticate(input: $input) {
email
customerId
organizationId
name
phone
locations {
administrativeArea
countryCode
locality
line1
line2
postalCode
}
oneTimePassword
}
}
Variabel
{
"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.
Opprett handlekurv med kundeprofil
Etter at du har kalt begge mutasjonene, vil du få følgende tilbake:
-
cartId
fracreateCart
-mutasjonen for å generere handlekurven. -
En
oneTimePassword
fracheckoutCustomerProfileAuthenticate
-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
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 ||
'',
};
}
},
}
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.
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.