nShift Checkout är byggt på ett nytt API. Migrering från DeliveryCheckout kräver implementering av detta nya API. Den här artikeln ger en övergripande översikt över de viktigaste skillnaderna mellan de två API:erna för att hjälpa dig att planera och avgränsa integrationsarbetet.
Översikt
| Område | DeliveryCheckout (v1) | nShift Checkout (v2) |
|---|---|---|
| Kunden loggar in i | nShift Delivery | nShift Portal |
| API-bas-URL | https://api.unifaun.com/rs-extapi/v1 | https://api.nshiftportal.com/checkout |
| Autentiseringsmodell | API-nyckel / bearer token | OAuth 2.0-token (Client ID + Secret) |
| API-dokumentation | nShift API Connect | developers.nshiftone.com |
Autentisering
nShift Checkout använder en modern OAuth 2.0-autentiseringsmodell. Istället för en API-nyckel använder du ett Client ID och Client Secret som skapats i ditt nShift Portal-konto för att generera en åtkomsttoken.
- Token-endpoint: https://account.nshiftportal.com/idp/connect/token
- Tokens är giltiga i 1 timme.
- Rekommendation: implementera exponentiell backoff så att om en tokenförfrågan misslyckas, görs nya försök med gradvis längre intervaller.
Översikt över endpoints
Tabellen nedan sammanfattar de viktigaste förändringarna i endpoints och orsakerna bakom dem.
| Åtgärd | DeliveryCheckout (v1) | nShift Checkout (v2) | Orsak till förändring |
|---|---|---|---|
| Autentisering | N/A | POST /idp/connect/token |
Säkrare och standardiserad OAuth 2.0-autentisering. |
| Skapa session | N/A | POST /v1/sessions/{checkoutConnectionId} |
Sessioner kopplar samman konsumentinteraktioner och möjliggör konverteringsspårning och A/B-testning (Experiments). |
| Hämta leveransalternativ | GET /delivery-checkouts |
POST /v1/shipping-options/{sessionId} |
En strukturerad POST-body möjliggör rikare indata, bättre integritet och framtida utökningar utan breaking changes. |
| Skapa partiell försändelse | POST /delivery-checkouts |
POST /shipments/v1/shipments |
Gemensam endpoint för att skapa försändelser över nShift API:er; tydlig ansvarsfördelning. |
Viktiga förändringar i detalj
Sessioner
nShift Checkout introducerar konceptet sessioner. En session kopplar samman konsumentens interaktioner genom checkout-resan och möjliggör konsekventa upplevelser samt exakt konverteringsspårning. Sessioner är också grunden för Experiments (A/B-testning).
- Sessioner skapas med:
POST /v1/sessions/{checkoutConnectionId} - En session är giltig i 4 timmar och förnyas vid varje interaktion.
- Det är obligatoriskt att skicka en body (kan vara tom); body-värden används vid referens till en Group eller Experiment med Segmentation.
Hämta leveransalternativ
Anropet för att hämta leveransalternativ har ändrats från en GET-förfrågan med query-parametrar till en strukturerad POST-förfrågan med en JSON-body. Detta förbättrar integritet, möjliggör rikare indata och gör lösningen enklare att felsöka och underhålla.
Exempel: Delivery Checkout v1
GET https://api.unifaun.com/delivery-checkouts/123456 ?currency=SEK&language=sv&tocountry=SE&tozipcode=41756&weight=2.3&cartprice=499
Exempel: 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: viktiga förändringar i fältnamn
De välkända byggstenarna finns fortfarande i responsen, till exempel alternativ-ID:n, carrier service-ID:n, upphämtningsplatser och tilläggstjänster, men vissa parametrar har döpts om eller omstrukturerats.
Några exempel nedan:
| Koncept | Delivery Checkout (v1) | nShift Checkout (v2) |
|---|---|---|
| Alternatividentifierare | id |
optionId |
| Pris |
priceValue / priceDescription
|
price / priceDescription
|
| Upphämtningsplatser | agents[] |
pickupPoints[] |
Skapa en partiell försändelse
När en order har konverterats måste du skapa en partiell försändelse med POST /shipments/v1/shipments. Detta steg är obligatoriskt och säkerställer full kompatibilitet med alla nuvarande och framtida funktioner i nShift Checkout, inklusive exakt beräkning av konverteringsgrad för Experiments.
Obs:
Om du föredrar att inte använda den partiella försändelsen för att skapa den faktiska försändelsen i din shipping-lösning kan du lägga till query-parametern send-to-book-and-print=false till URL:en /shipments. Detta registrerar anropet för konverteringsspårning utan att skapa en partiell försändelse i shipping-lösningen.
I så fall behöver du också lägga till extended-result=true för att få en utökad response från Checkout.
Bokning och utskrift från shipping-lösningen
Skapandet av den slutliga försändelsen (bokning och etikettutskrift) från den partiella försändelsen sker fortfarande i din nShift shipping-lösning, och denna del av integrationen är oförändrad.
- Delivery: Prepared shipments
- Ship: Completing a partial shipment from nShift Checkout
- Transsmart: Create, update and book prepared shipments
Fullständig API-dokumentation
Tillgänglig på: https://developers.nshiftone.com/checkout/getting-started