nShift Checkout er bygget på et nytt API. Migrering fra DeliveryCheckout krever implementering av dette nye API-et. Denne artikkelen gir en overordnet oversikt over de viktigste forskjellene mellom de to API-ene for å hjelpe deg med å planlegge og avgrense integrasjonsarbeidet.
Kort oversikt
| Område | DeliveryCheckout (v1) | nShift Checkout (v2) |
|---|---|---|
| Kunden logger inn i | nShift Delivery | nShift Portal |
| API-base-URL | https://api.unifaun.com/rs-extapi/v1 | https://api.nshiftportal.com/checkout |
| Autentiseringsmodell | API-nøkkel / bearer-token | OAuth 2.0-token (Client ID + Secret) |
| API-dokumentasjon | nShift API Connect | developers.nshiftone.com |
Autentisering
nShift Checkout bruker en moderne OAuth 2.0-autentiseringsmodell. I stedet for en API-nøkkel bruker du en Client ID og Client Secret opprettet i nShift Portal-kontoen din for å generere et tilgangstoken.
- Token-endpoint: https://account.nshiftportal.com/idp/connect/token
- Tokens er gyldige i 1 time.
- Anbefalt: implementer eksponentiell backoff slik at hvis en token-forespørsel mislykkes, prøves det igjen med gradvis lengre intervaller.
Oversikt over endpoints
Tabellen nedenfor oppsummerer de viktigste endpoint-endringene og begrunnelsen bak dem.
| Handling | DeliveryCheckout (v1) | nShift Checkout (v2) | Årsak til endring |
|---|---|---|---|
| Autentiser | N/A | POST /idp/connect/token |
Sikrere og standardisert OAuth 2.0-autentisering. |
| Opprett sesjon | N/A | POST /v1/sessions/{checkoutConnectionId} |
Sesjoner knytter forbrukerinteraksjoner sammen og muliggjør konverteringssporing og A/B-testing (Experiments). |
| Hent leveringsalternativer | GET /delivery-checkouts |
POST /v1/shipping-options/{sessionId} |
En strukturert POST-body muliggjør rikere input, bedre personvern og fremtidige utvidelser uten breaking changes. |
| Opprett delvis forsendelse | POST /delivery-checkouts |
POST /shipments/v1/shipments |
Felles endpoint for opprettelse av forsendelser på tvers av nShift API-er; tydelig ansvarsdeling. |
Viktige endringer i detalj
Sesjoner
nShift Checkout introduserer konseptet sesjoner. En sesjon knytter sammen forbrukerens interaksjoner gjennom checkout-reisen, noe som muliggjør konsistente opplevelser og nøyaktig konverteringssporing. Sesjoner er også grunnlaget for Experiments (A/B-testing).
- Sesjoner opprettes med:
POST /v1/sessions/{checkoutConnectionId} - En sesjon er gyldig i 4 timer og fornyes ved hver interaksjon.
- Det er påkrevd å sende en body (kan være tom); body-verdier brukes når det pekes til en Group eller Experiment med Segmentation.
Henting av leveringsalternativer
Kallet for å hente leveringsalternativer er endret fra en GET-forespørsel med query-parametere til en strukturert POST-forespørsel med en JSON-body. Dette forbedrer personvern, muliggjør rikere input og gjør løsningen enklere å feilsøke og vedlikeholde.
Eksempel: Delivery Checkout v1
GET https://api.unifaun.com/delivery-checkouts/123456 ?currency=SEK&language=sv&tocountry=SE&tozipcode=41756&weight=2.3&cartprice=499
Eksempel: nShift Checkout v2
POST /v1/shipping-options/{sessionId}
{
"currencyCode": "SEK",
"languageCode": "sv",
"totalWeightKg": 2.3,
"receiver": {
"postalCode": "41756",
"country": "SE"
},
"packages": [{ "weightKg": 2.3, "volumeCm3": null }],
"variables": { "cartPrice": 499 }
}
Response: viktige endringer i feltnavn
De kjente byggesteinene finnes fortsatt i responsen, for eksempel alternativ-ID-er, carrier service-ID-er, hentepunkter og tilleggstjenester, men noen parametere har blitt omdøpt eller omstrukturert.
Noen eksempler nedenfor:
| Konsept | Delivery Checkout (v1) | nShift Checkout (v2) |
|---|---|---|
| Alternatividentifikator | id |
optionId |
| Pris |
priceValue / priceDescription
|
price / priceDescription
|
| Hentepunkter | agents[] |
pickupPoints[] |
Opprette en delvis forsendelse
Når en ordre er konvertert, må du opprette en delvis forsendelse ved å bruke POST /shipments/v1/shipments. Dette trinnet er obligatorisk og sikrer full kompatibilitet med alle nåværende og fremtidige funksjoner i nShift Checkout, inkludert nøyaktig beregning av konverteringsrate for Experiments.
Merk:
Hvis du foretrekker å ikke bruke den delvise forsendelsen til å opprette den faktiske forsendelsen i shipping-løsningen din, kan du legge til query-parameteren send-to-book-and-print=false i /shipments-URL-en. Dette registrerer kallet for konverteringssporing uten å opprette en delvis forsendelse i shipping-løsningen.
I så fall må du også legge til extended-result=true for å motta en utvidet respons fra Checkout.
Booking og utskrift fra shipping-løsningen
Opprettelse av den endelige forsendelsen (booking og etikettutskrift) fra den delvise forsendelsen skjer fortsatt i din nShift shipping-løsning, og denne delen av integrasjonen er uendret.
- Delivery: Prepared shipments
- Ship: Completing a partial shipment from nShift Checkout
- Transsmart: Create, update and book prepared shipments
Full API-dokumentasjon
Tilgjengelig på: https://developers.nshiftone.com/checkout/getting-started