Denne artikel beskriver, hvordan man opbygger en SubmitShipment-anmodning til ShipmentServer API.
Denne API giver dig mulighed for programmatisk at booke forsendelser og generere labels.
Endpoint og Metode:
Anmodningen skal være en POST-anmodning til følgende endpoint:
- Production - https://www.shipmentserver.com
- Sandbox - https://demo.shipmentserver.com
Request Body (multipart/form-data):
Request body skal formateres som multipart/form-data med følgende nøgle-værdi-par:
-
command: Sæt altid til"SubmitShipment". Dette fortæller API’en, hvilken handling der skal udføres. -
actor: Id’et på aktøren. Dette er dit brugernavn. -
key: Nøglen for aktøren. Dette er dit password. -
data(JSON-streng): Dette felt indeholder kerneinformationen om forsendelsen. -
options(JSON-streng): Dette felt giver dig mulighed for at angive yderligere muligheder, såsom label-format.
Filen data.json indeholder de nødvendige detaljer for booking af en forsendelse, inklusive unikke identifikatorer, afsender- og modtageradresser samt pakkespecifikationer som dimensioner og vægt.
-- filename: data.json
{
"ProdConceptID": 1782, // Dit produktkoncept ID
"OrderNo": "Order123", // Dit ordrenummer
"Addresses": [
{
"Kind": 1, // 1 for modtager, 2 for afsender
"Name1": "Receiver Name",
"Street1": "Receiver Street",
"PostCode": "Receiver Postal Code",
"City": "Receiver City",
"CountryCode": "Receiver Country Code",
"Phone": "Receiver Phone",
"Email": "receiver@example.com",
"Attention": "Receiver Attention" // Valgfrit
},
{
"Kind": 2, // 1 for modtager, 2 for afsender
"Name1": "Sender Name",
"Street1": "Sender Street",
"PostCode": "Sender Postal Code",
"City": "Sender City",
"CountryCode": "Sender Country Code",
"Phone": "Sender Phone",
"Email": "sender@example.com",
"Attention": "Sender Attention" // Valgfrit
}
],
"Lines": [
{
"Number": 1, // Linjenummer
"PkgWeight": 1000, // Pakkevægt i gram
"Height": 10, // Højde i mm
"Length": 20, // Længde i mm
"Width": 15, // Bredde i mm
"References": [
{ "Kind": 23, "Value": "Reference 1" }
]
}
]
}
Filen options.json angiver label-formatet, og indikerer at labelen skal genereres i ZPL-format til udskrivning på Zebra-printere.
-- filename: options.json
{
"Labels": "ZPLGK"
}
Opbygning af payload(data)-objektet
Selvom det teknisk set er muligt at opbygge data JSON-payload manuelt, anbefales det kraftigt først at oprette forsendelsen via Ship UI og få den valideret af transportøren, før du forsøger at automatisere processen. Dette sikrer datanøjagtighed og undgår potentielle problemer forårsaget af forkert formatering eller manglende påkrævede felter.
For at lære om Developer Tool i Ship UI:
https://helpcenter.nshift.com/hc/da/articles/17147027547804
Eksempel ved brug af 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"