Syftet med StoreOrder-metoden är att kunna lagra en virtuell order/fraktsändning i molnet och återanvända datan i andra nShift Ship-installationer utan att behöva föra över all data via andra system.
StoreOrder-metoden är tillgänglig via Shipment Server. Den sparar fraktsändningsdata som JSON, vilket sedan kan hämtas vid behov. Lösningen är särskilt användbar om du använder ShipAdvisor 2.0 i en kassa-lösning och producerar fraktsändningar via nShift On-premises, t.ex. har en Klarna-integration. Data kan då importeras enkelt med hjälp av OrderId i importfilen.
Lär dig om följande ämnen i denna artikel:
- Användning med ShipAdvisor 2.0
- Användning med nShift Checkout
- Exempel på Shipment Server-förfrågningar och svar
- Inställning i nShift On-premises
Användningsfall - ShipAdvisor 2.0
Detta avsnitt beskriver ett typiskt användningsflöde för StoreOrder-funktionen.
Du är en kund som har en webbutik och en kassa-lösning som använder ShipAdvisor 2.0:
- En konsument går in i kassan i din webbutik. En eller flera GetShipAdvise-förfrågningar skickas från din kassa till ShipAdvisor 2.0. (ShipAdvisor används för att visa fraktalternativ, leveranstider, priser etc. Läs mer).
- När konsumenten har slutfört betalningen skickas en StoreOrder-förfrågan till Shipment Server för att lagra data om ordern i OrderStorage-webbtjänsten. Du anger OrderId i förfrågan och vi rekommenderar att du genererar en GUID för detta ändamål. Spara den på ordern i ditt ERP/WMS så att du kan importera den till nShift On-premises senare. Om du använder nShifts Klarna-integration i ditt flöde kommer StoreOrder-förfrågan att ske vid Klarna "confirm"-förfrågan.
Se exempel på förfrågan och svar nedan.
- I importfilen som skickas till nShift On-premises för att producera fraktsändningen måste du inkludera clientId i fältet ShipAdvisor Reference->Reference. Detta triggar importen av den lagrade orderdatan till nShift On-premises. Observera att data i importfilen alltid kommer att skriva över eventuell lagrad data. Om samma fält finns i datan som lagrats med StoreOrder-metoden kommer det att skrivas över av datan i motsvarande fält i importfilen.
Exempel 1: StoreOrder-förfrågan har värdet “John” i Mottagarens namn 1. Mottagarens namn 1 i importfilen har värdet “Bill” => “Bill” kommer att användas på fraktsändningen.
Exempel 2: StoreOrder-förfrågan har värdet "John" i Mottagarens namn 1. Mottagarens namn 1 i importfilen har inget värde => “John” kommer att användas på fraktsändningen.
Användning med Delivery Checkout
När du sparar ordern i Delivery Checkout tilldelar du en prepareid till ordern. Denna prepareid används sedan för att lokalisera ordern i nShift Ship. Se exempel på förfrågan för att skapa fraktsändningar från Delivery Checkout.
Gå till dokumentationen för Delivery Checkout
Exempel på Shipment Server-förfrågan och svar
HTTP-metod: POST
Content-Type: multipart/form-data.
Orderid i options bör vara ett av följande:
- prepareid från nShift Checkout
- tms_reference från Klarna
Exempelförfrågan: StoreOrder
{
"data": {
"Kind": 1,
"Addresses": [
{
"Kind": 1,
"Name1": "Test Name1",
"Street1": "Test Address 1",
"PostCode": "11825",
"City": "Stockholm",
"Phone": "004612341234",
"Mobile": "004612341234",
"Email": "noreply@dmain.com",
"Attention": "Test Attention",
"CountryCode": "SE"
}
],
},
"options": {
"OrderId": "9f8dc56b-5c33-4bfe-9d41-6a49a5f705cd"
},
"key": "sample",
"actor": "1234",
"command": "StoreOrder"
}
Svar:
Observera: Information om varulinjer hanteras ofta i lagret. Det rekommenderas därför inte att lagra någon varulinjeinformation (Shipment.Lines) i OrderStorage. Att lagra detta och importera varulinjedata kommer att orsaka dubbletter av varulinjer på fraktsändningen.
{
"clientId": "3200123456",
"orderGuid": "5e9dc1ae-d170-455e-8305-fd489b1e5ea3",
"responseStatus": {
"code": "Success",
"messages": []
}
}
“clientId” ska användas i ShipAdvisor Import-inställningen; se nästa avsnitt för mer information.
Vi rekommenderar att du inte lagrar avsändare och varulinjer i OrderStorage. Varulinjer som lagras i OrderStorage kommer att läggas till fraktsändningen vid import av varulinjer.
Exempel:
- Du lagrar en rad i StoreOrder med 1 paket, 2 kg.
- Efter packning skickar ditt ERP/WMS 1 paket, 0,5 kg via Import, då kommer du att få 1 fraktsändning med 2 paket på 2 och 0,5 kg.
När du använder Import måste du ange en transportörskod som motsvarar ProdCSid i StoreOrder.
Exempelförfrågan: SubmitShipment
{
"Kind": 1,
"ActorCSID": "1234",
"OrderNo": "SomeOrderNumber",
"ProdConceptID": 1782,
"References": [
{
"Kind": 12,
"Value": "SomeReference"
}
],
"Lines": [
{
"PkgWeight": 2000,
"Height": "150",
"Length": "150",
"Width": "150",
"References": [
{
"Kind": 23,
"Value": "Hats"
}
],
"PkgVol": 0,
"GoodsTypeKey1": "",
"Pkgs": [
{
"ItemNo": 1
}
]
}
]
}
Inställning i nShift On-premises
I nShift On-premises öppnar du inställningsobjektet under Setup > ShipAdvisor Import.
Client ID under fliken ShipAdvisor 2 ska vara installations-ID för den aktör som ShipAdvisor 2.0 använder.
I din Import Setup måste du inkludera fältet ShipAdvisor Reference->Reference och använda detta för att inkludera OrderId i din importfil.