Send autentificerede kundeoplysninger
For at autentificere en kundeprofil skal din backend-server foretage to uafhængige API-opkald, som vi anbefaler at køre parallelt for bedre ydeevne:
-
createCart
: Genererer Zonos kurven. For detaljeret vejledning, se Opsætning af Zonos Checkout sektionen i dokumentationen for tilpasset integration. -
checkoutCustomerProfileAuthenticate
: Indsender og validerer kundens oplysninger.
Mutation
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 kundesessionen, skal du sikre dig, at det customerId
, du sender i anmodningen, matcher den korrekte profil for at vise nøjagtige kundeoplysninger ved checkout. Husk, at når du opretter en kurv, bør du ikke inkludere customerId
i metadataene, da det vil blive overskrevet.
Når kunden er autentificeret, og ordren er afgivet, vil customerId være tilgængelig i order.references
, når du henter ordredetaljer via ordreforespørgslen, hvilket giver dig mulighed for at knytte ordren til den korrekte kunde.
Opret kurv med kundeprofil
Når du kalder begge mutationer, vil du få følgende tilbage:
-
cartId
fracreateCart
mutation for at generere kurven. -
Et
oneTimePassword
fracheckoutCustomerProfileAuthenticate
mutation til kundeautentificering.
Du kan sende begge disse værdier i createCartId
callback i Zonos.init
funktionen for at indlæse de angivne kundeprofiloplysninger 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 ||
'',
};
}
},
}
Administrer kundeprofiler
Den første gang du indsender kundeoplysninger, vil Zonos gemme de angivne kundeoplysninger. Betalingsmetoder vil blive gemt sikkert i Stripe. Hver gang nye adresse- eller betalingsmetodedetaljer sendes ind, vil de blive tilføjet til kundens profil.
I øjeblikket kan kundeprofiler kun opdateres med yderligere oplysninger—eksisterende detaljer kan ikke redigeres eller fjernes.
Kundeprofiler
Forudindlæs oplysninger om tilbagevendende kunder i Zonos Checkout.
Kundeprofiler strømliner din checkout oplevelse ved at give kunder med en konto mulighed for at forudindlæse deres adresse og betalingsoplysninger.
Denne funktion er i øjeblikket kun tilgængelig for tilpassede API-integrationer. Denne funktion er endnu ikke tilgængelig for handlende, der bruger Checkout plugins.