Der Zweck der StoreOrder-Methode besteht darin, eine virtuelle Bestellung/Sendung in der Cloud zu speichern und die Daten in anderen nShift Ship-Installationen wiederzuverwenden, ohne alle Daten über andere Systeme übertragen zu müssen.
Die StoreOrder-Methode ist über den Shipment Server verfügbar. Sie speichert Sendungsdaten als JSON, die später bei Bedarf abgerufen werden können. Die Lösung ist besonders nützlich, wenn Sie ShipAdvisor 2.0 in einer Checkout-Lösung verwenden und Sendungen über nShift On-premises erzeugen, z. B. bei einer Klarna-Integration. Die Daten können dann mühelos mit der OrderId in der Importdatei importiert werden.
Erfahren Sie in diesem Artikel mehr zu den folgenden Themen:
- Verwendung mit ShipAdvisor 2.0
- Verwendung mit nShift Checkout
- Beispiele für Shipment Server-Anfragen und -Antworten
- Einrichtung in nShift On-premises
Anwendungsfall - ShipAdvisor 2.0
Dieser Abschnitt beschreibt einen typischen Ablauf für die StoreOrder-Funktionalität.
Sie sind ein Kunde mit einem Webshop und einer Checkout-Lösung, die ShipAdvisor 2.0 verwendet:
- Ein Verbraucher betritt den Checkout Ihres Webshops. Eine oder mehrere GetShipAdvise-Anfragen werden von Ihrem Checkout an ShipAdvisor 2.0 gesendet. (ShipAdvisor wird verwendet, um Versandalternativen, Lieferzeiten, Preise usw. anzuzeigen. Mehr erfahren).
- Nachdem der Verbraucher die Zahlung abgeschlossen hat, wird eine StoreOrder-Anfrage an den Shipment Server gesendet, um Daten zur Bestellung im OrderStorage-Webservice zu speichern. Sie geben die OrderId in der Anfrage an, und wir empfehlen, dafür eine GUID zu generieren. Speichern Sie diese in Ihrer ERP-/WMS-Bestellung, damit Sie sie später in nShift On-premises importieren können. Wenn Sie die Klarna-Integration von nShift in Ihrem Ablauf verwenden, erfolgt die StoreOrder-Anfrage bei der Klarna-"Bestätigen"-Anfrage.
Siehe das Beispiel für Anfrage und Antwort unten.
- In der Importdatei, die an nShift On-premises zur Erstellung der Sendung gesendet wird, müssen Sie die clientId im Feld ShipAdvisor Reference->Reference angeben. Dies löst den Import der gespeicherten Bestelldaten in nShift On-premises aus. Beachten Sie, dass Daten in der Importdatei immer gespeicherte Daten überschreiben. Wenn dasselbe Feld in den mit der StoreOrder-Methode gespeicherten Daten vorhanden ist, wird es durch die Daten im entsprechenden Feld der Importdatei überschrieben.
Beispiel 1: Die StoreOrder-Anfrage hat den Wert „John“ im Empfängernamen 1. Empfängername 1 in der Importdatei hat den Wert „Bill“ => „Bill“ wird für die Sendung verwendet.
Beispiel 2: Die StoreOrder-Anfrage hat den Wert „John“ im Empfängernamen 1. Empfängername 1 in der Importdatei hat keinen Wert => „John“ wird für die Sendung verwendet.
Verwendung mit Delivery Checkout
Wenn Sie die Bestellung in Delivery Checkout speichern, weisen Sie der Bestellung eine prepareid zu. Diese prepareid wird dann verwendet, um die Bestellung in nShift Ship zu finden. Siehe das Beispiel für eine Anfrage zur Erstellung von Sendungen aus Delivery Checkout.
Zur Dokumentation von Delivery Checkout
Beispiel für Shipment Server-Anfrage und -Antwort
HTTP-Methode: POST
Content-Type: multipart/form-data.
Orderid in Optionen sollte eine der folgenden sein:
- die prepareid von nShift Checkout
- tms_reference von Klarna
Beispielanfrage: 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"
}
Antwort:
Hinweis: Informationen zu Wareneinheiten werden häufig im Lager verwaltet. Es wird daher nicht empfohlen, Wareneinheiteninformationen (Shipment.Lines) im OrderStorage zu speichern. Das Speichern und Importieren von Wareneinheiteninformationen führt zu doppelten Wareneinheiten in der Sendung.
{
"clientId": "3200123456",
"orderGuid": "5e9dc1ae-d170-455e-8305-fd489b1e5ea3",
"responseStatus": {
"code": "Success",
"messages": []
}
}
Die „clientId“ sollte im ShipAdvisor-Import-Setup-Element verwendet werden; siehe den nächsten Abschnitt für weitere Details.
Wir empfehlen, Absender und Wareneinheiten nicht im OrderStorage zu speichern. Wareneinheiten, die im OrderStorage gespeichert sind, werden beim Importieren von Wareneinheiten an die Sendung angehängt.
Beispiel:
- Sie speichern eine Wareneinheit in StoreOrder mit 1 Paket, 2 kg.
- Nach dem Verpacken sendet Ihr ERP/WMS 1 Paket, 0,5 kg per Import, Sie erhalten dann eine Sendung mit 2 Paketen mit 2 und 0,5 kg.
Beim Import müssen Sie einen Spediteur-Code angeben, der dem ProdCSid in StoreOrder entspricht.
Beispielanfrage: 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
}
]
}
]
}
Einrichtung in nShift On-premises
Öffnen Sie in nShift On-premises den Setup-Eintrag unter Setup > ShipAdvisor Import.
Die Client-ID unter dem Tab ShipAdvisor 2 sollte die Installations-ID des Akteurs sein, den ShipAdvisor 2.0 verwendet.
In Ihrem Import Setup müssen Sie das Feld ShipAdvisor Reference->Reference einfügen und dieses verwenden, um die OrderId in Ihrer Importdatei einzuschließen.