Denna artikel beskriver hur man skapar en SubmitShipment-förfrågan för ShipmentServer API.
Detta API gör det möjligt att programmatisk boka försändelser och generera etiketter.
Slutpunkt och metod:
Förfrågan ska vara en POST-förfrågan till följande slutpunkt:
- Produktion - https://www.shipmentserver.com
- Sandbox - https://demo.shipmentserver.com
Begärans kropp (multipart/form-data):
Begärans kropp ska formateras som multipart/form-data med följande nyckel-värde-par:
-
command: Alltid satt till"SubmitShipment". Detta talar om för API:et vilken åtgärd som ska utföras. -
actor: Id för aktören. Detta är ditt användarnamn. -
key: Nyckeln för aktören. Detta är ditt lösenord. -
data(JSON-sträng): Detta fält innehåller kärninformationsuppgifterna för försändelsen. -
options(JSON-sträng): Detta fält låter dig specificera ytterligare alternativ, såsom etikettformat.
Filen data.json innehåller nödvändiga uppgifter för att boka en försändelse, inklusive unika identifierare, avsändar- och mottagaradresser samt paketets specifikationer såsom dimensioner och vikt.
-- filename: data.json
{
"ProdConceptID": 1782, // Ditt produktkoncept-ID
"OrderNo": "Order123", // Ditt ordernummer
"Addresses": [
{
"Kind": 1, // 1 för mottagare, 2 för avsändare
"Name1": "Mottagarens namn",
"Street1": "Mottagarens gata",
"PostCode": "Mottagarens postnummer",
"City": "Mottagarens stad",
"CountryCode": "Mottagarens landskod",
"Phone": "Mottagarens telefon",
"Email": "receiver@example.com",
"Attention": "Mottagarens uppmärksamhet" // Valfritt
},
{
"Kind": 2, // 1 för mottagare, 2 för avsändare
"Name1": "Avsändarens namn",
"Street1": "Avsändarens gata",
"PostCode": "Avsändarens postnummer",
"City": "Avsändarens stad",
"CountryCode": "Avsändarens landskod",
"Phone": "Avsändarens telefon",
"Email": "sender@example.com",
"Attention": "Avsändarens uppmärksamhet" // Valfritt
}
],
"Lines": [
{
"Number": 1, // Radnummer
"PkgWeight": 1000, // Paketvikt i gram
"Height": 10, // Höjd i mm
"Length": 20, // Längd i mm
"Width": 15, // Bredd i mm
"References": [
{ "Kind": 23, "Value": "Referens 1" }
]
}
]
}
Filen options.json specificerar etikettformatet och anger att etiketten ska genereras i ZPL-format för utskrift på Zebra-skrivare.
-- filename: options.json
{
"Labels": "ZPLGK"
}
Uppbyggnad av payload (data)-objektet
Även om det tekniskt sett är möjligt att manuellt skapa JSON-payloaden för data, rekommenderas det starkt att först skapa försändelsen via Ship UI och få den validerad av transportören innan du försöker automatisera processen. Detta steg säkerställer datanoggrannhet och undviker potentiella problem orsakade av felaktig formatering eller saknade obligatoriska fält.
För att lära dig mer om Developer Tool i Ship UI:
https://helpcenter.nshift.com/hc/sv/articles/17147027547804
Exempel med curl.
curl -X POST "https://demo.shipmentserver.com" \
-F "command=SubmitShipment" \
-F "actor=YOUR_ACTOR_ID" \
-F "key=YOUR_ACTOR_KEY" \
-F "data=@data.json" \
-F "options=@options.json"