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
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 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.
Skapa kundvagn med kundprofil
Efter att du har anropat båda mutationerna, kommer du att få följande tillbaka:
-
cartIdfråncreateCartmutation för att generera kundvagnen. -
Ett
oneTimePasswordfråncheckoutCustomerProfileAuthenticatemutation 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
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 ||
'',
};
}
},
}
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.
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.