nShift Checkout er bygget på et nyt API. Migrering fra DeliveryCheckout kræver implementering af dette nye API. Denne artikel giver et overordnet overblik over de vigtigste forskelle mellem de to API’er for at hjælpe dig med at planlægge og afgrænse integrationsarbejdet.
Kort overblik
| Område | DeliveryCheckout (v1) | nShift Checkout (v2) |
|---|---|---|
| Kunden logger ind i | nShift Delivery | nShift Portal |
| API-base-URL | https://api.unifaun.com/rs-extapi/v1 | https://api.nshiftportal.com/checkout |
| Godkendelsesmodel | API-nøgle / bearer-token | OAuth 2.0-token (Client ID + Secret) |
| API-dokumentation | nShift API Connect | developers.nshiftone.com |
Godkendelse
nShift Checkout bruger en moderne OAuth 2.0-godkendelsesmodel. I stedet for en API-nøgle bruger du et Client ID og Client Secret, der oprettes i din nShift Portal-konto, til at generere et adgangstoken.
- Token-endpoint: https://account.nshiftportal.com/idp/connect/token
- Tokens er gyldige i 1 time.
- Anbefalet: implementér eksponentiel backoff, så hvis en token-anmodning mislykkes, forsøges igen med gradvist længere intervaller.
Overblik over endpoints
Følgende tabel opsummerer de vigtigste ændringer i endpoints samt begrundelsen bag dem.
| Handling | DeliveryCheckout (v1) | nShift Checkout (v2) | Årsag til ændring |
|---|---|---|---|
| Godkendelse | N/A | POST /idp/connect/token |
Mere sikker og standardiseret OAuth 2.0-godkendelse. |
| Opret session | N/A | POST /v1/sessions/{checkoutConnectionId} |
Sessioner samler forbrugerinteraktioner og muliggør konverteringssporing og A/B-testning (Experiments). |
| Hent leveringsmuligheder | GET /delivery-checkouts |
POST /v1/shipping-options/{sessionId} |
En struktureret POST-body muliggør rigere input, bedre privatliv og fremtidige udvidelser uden ændringer, der bryder kompatibiliteten. |
| Opret delvis forsendelse | POST /delivery-checkouts |
POST /shipments/v1/shipments |
Fælles endpoint til oprettelse af forsendelser på tværs af nShift API’er; tydelig adskillelse af ansvar. |
Vigtige ændringer i detaljer
Sessioner
nShift Checkout introducerer konceptet sessioner. En session samler forbrugerens interaktioner gennem checkout-forløbet og muliggør konsistente oplevelser samt præcis konverteringssporing. Sessioner er også grundlaget for Experiments (A/B-testning).
- Sessioner oprettes med:
POST /v1/sessions/{checkoutConnectionId} - En session er gyldig i 4 timer og fornyes ved hver interaktion.
- Det er påkrævet at sende en body (kan være tom); body-værdier bruges ved henvisning til en Group eller Experiment med Segmentation.
Hentning af leveringsmuligheder
Kaldet til at hente leveringsmuligheder er ændret fra en GET-anmodning med query-parametre til en struktureret POST-anmodning med en JSON-body. Dette forbedrer privatliv, muliggør rigere input og gør løsningen lettere at fejlfinde og vedligeholde.
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: vigtige ændringer i feltnavne
De velkendte byggesten findes stadig i response, for eksempel options-ID’er, carrier service-ID’er, afhentningssteder og add-ons, men nogle parametre er blevet omdøbt eller omstruktureret.
Nogle eksempler nedenfor:
| Koncept | Delivery Checkout (v1) | nShift Checkout (v2) |
|---|---|---|
| Optionsidentifikator | id |
optionId |
| Pris |
priceValue / priceDescription
|
price / priceDescription
|
| Afhentningssteder | agents[] |
pickupPoints[] |
Oprettelse af en delvis forsendelse
Når en ordre er blevet konverteret, skal du oprette en delvis forsendelse ved hjælp af POST /shipments/v1/shipments. Dette trin er obligatorisk og sikrer fuld kompatibilitet med alle nuværende og fremtidige funktioner i nShift Checkout, herunder præcis beregning af konverteringsrater for Experiments.
Bemærk:
Hvis du foretrækker ikke at bruge den delvise forsendelse til at oprette den faktiske forsendelse i din shipping-løsning, kan du tilføje query-parameteren send-to-book-and-print=false til URL’en /shipments. Dette registrerer kaldet til konverteringssporing uden at oprette en delvis forsendelse i shipping-løsningen.
I så fald skal du også tilføje extended-result=true for at modtage et udvidet response fra Checkout.
Booking og udskrivning fra shipping-løsningen
Oprettelse af den endelige forsendelse (booking og labeludskrivning) fra den delvise forsendelse foregår stadig i din nShift shipping-løsning, og denne del af integrationen er uændret.
- Delivery: Prepared shipments
- Ship: Completing a partial shipment from nShift Checkout
- Transsmart: Create, update and book prepared shipments
Fuld API-dokumentation
Tilgængelig på: https://developers.nshiftone.com/checkout/getting-started