Het doel van de StoreOrder-methode is om een virtuele bestelling/verzending in de cloud op te slaan en de gegevens opnieuw te gebruiken in andere nShift Ship-installaties zonder dat alle gegevens via andere systemen hoeven te worden doorgegeven.
De StoreOrder-methode is beschikbaar via Shipment Server. Hiermee worden verzendgegevens opgeslagen als JSON, die later kunnen worden opgehaald wanneer dat nodig is. De oplossing is vooral nuttig als u ShipAdvisor 2.0 gebruikt in een checkout-oplossing en zendingen produceert via nShift On-premises, bijvoorbeeld bij een Klarna-integratie. Gegevens kunnen dan moeiteloos worden geïmporteerd met behulp van de OrderId in het importbestand.
Lees in dit artikel over de volgende onderwerpen:
- Gebruik met ShipAdvisor 2.0
- Gebruik met nShift Checkout
- Voorbeelden van Shipment Server-aanvragen en -antwoorden
- Configuratie in nShift On-premises
Use case - ShipAdvisor 2.0
Deze sectie beschrijft een typische gebruiksstroom voor de StoreOrder-functionaliteit.
U bent een klant met een webshop en een checkout-oplossing die ShipAdvisor 2.0 gebruikt:
- Een consument begint de checkout van uw webshop. Eén of meer GetShipAdvise-verzoeken worden vanuit uw checkout naar ShipAdvisor 2.0 gestuurd. (ShipAdvisor wordt gebruikt om verzendalternatieven, levertijden, prijzen, enz. weer te geven. Lees meer).
- Wanneer de consument de betaling heeft afgerond, wordt een StoreOrder-verzoek naar Shipment Server gestuurd om gegevens over de bestelling op te slaan in de OrderStorage-webservice. U geeft de OrderId op in het verzoek en wij raden aan hiervoor een GUID te genereren. Sla deze op bij de bestelling in uw ERP/WMS zodat u deze later kunt importeren in nShift On-premises. Als u de Klarna-integratie van nShift in uw proces gebruikt, vindt het StoreOrder-verzoek plaats bij het Klarna "confirm"-verzoek.
Zie het voorbeeld van verzoek en antwoord hieronder.
- In het importbestand dat naar nShift On-premises wordt gestuurd om de verzending te produceren, moet u de clientId opnemen in het veld ShipAdvisor Reference->Reference. Dit activeert de import van de opgeslagen bestelgegevens in nShift On-premises. Let op: gegevens in het importbestand overschrijven altijd opgeslagen gegevens. Als hetzelfde veld aanwezig is in de met de StoreOrder-methode opgeslagen gegevens, wordt dit overschreven door de gegevens in het overeenkomstige veld in het importbestand.
Voorbeeld 1: StoreOrder-verzoek heeft de waarde “John” in Ontvanger naam 1. Ontvanger naam 1 in het importbestand heeft de waarde “Bill” => “Bill” wordt gebruikt op de verzending.
Voorbeeld 2: StoreOrder-verzoek heeft de waarde "John" in Ontvanger naam 1. Ontvanger naam 1 in het importbestand heeft geen waarde => “John” wordt gebruikt op de verzending.
Gebruik met Delivery Checkout
Wanneer u de bestelling opslaat in Delivery Checkout, kent u een prepareid toe aan de bestelling. Deze prepareid wordt vervolgens gebruikt om de bestelling te vinden in nShift Ship. Zie het voorbeeldverzoek om zendingen te maken vanuit Delivery Checkout.
Ga naar de documentatie van Delivery Checkout
Voorbeeld van Shipment Server-aanvraag en -antwoord
HTTP-methode: POST
Content-Type: multipart/form-data.
Orderid in opties moet een van de volgende zijn:
- de prepareid van nShift Checkout
- tms_reference van Klarna
Voorbeeldverzoek: 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"
}
Antwoord:
Opmerking: Goederenregelgegevens worden vaak beheerd in het magazijn. Het wordt daarom niet aanbevolen om goederenregelgegevens (Shipment.Lines) op te slaan in OrderStorage. Het opslaan hiervan en importeren van goederenregelgegevens veroorzaakt dubbele goederenregels op de verzending.
{
"clientId": "3200123456",
"orderGuid": "5e9dc1ae-d170-455e-8305-fd489b1e5ea3",
"responseStatus": {
"code": "Success",
"messages": []
}
}
De “clientId” moet worden gebruikt in het ShipAdvisor Import-configuratie-item; zie de volgende sectie voor meer details.
Wij raden aan om geen afzender en lijnen op te slaan in OrderStorage. Lijnen die in OrderStorage zijn opgeslagen, worden toegevoegd aan de verzending bij het importeren van goederenlijnen.
Voorbeeld:
- U slaat een lijn op in StoreOrder met 1 pakket, 2 kg.
- Na het inpakken stuurt uw ERP/WMS 1 pakket, 0,5 kg via Import, dan eindigt u met 1 verzending met 2 pakketten van 2 en 0,5 kg.
Bij gebruik van Import moet u een vervoerderscode opgeven die overeenkomt met de ProdCSid in StoreOrder.
Voorbeeldverzoek: 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
}
]
}
]
}
Configuratie in nShift On-premises
Open in nShift On-premises het configuratie-item onder Setup > ShipAdvisor Import.
De Client ID onder het tabblad ShipAdvisor 2 moet de installatie-ID zijn van de actor die ShipAdvisor 2.0 gebruikt.
In uw Import Setup moet u het veld ShipAdvisor Reference->Reference opnemen en dit gebruiken om de OrderId in uw importbestand op te nemen.