Dieser Artikel beschreibt, wie eine SubmitShipment-Anfrage für die ShipmentServer API aufgebaut wird.
Mit dieser API können Sie Sendungen programmgesteuert buchen und Etiketten erstellen.
Endpunkt und Methode:
Die Anfrage sollte eine POST-Anfrage an den folgenden Endpunkt sein:
- Produktion - https://www.shipmentserver.com
- Sandbox - https://demo.shipmentserver.com
Anfragetext (multipart/form-data):
Der Anfragetext sollte im Format multipart/form-data mit den folgenden Schlüssel-Wert-Paaren formatiert sein:
-
command: Immer auf"SubmitShipment"setzen. Dies teilt der API mit, welche Aktion ausgeführt werden soll. -
actor: Die Id des Akteurs. Dies ist Ihr Benutzername. -
key: Der Schlüssel des Akteurs. Dies ist Ihr Passwort. -
data(JSON-String): Dieses Feld enthält die Kerninformationen zur Sendung. -
options(JSON-String): Dieses Feld erlaubt die Angabe zusätzlicher Optionen, wie z. B. das Etikettenformat.
Die Datei data.json enthält die notwendigen Details zur Buchung einer Sendung, einschließlich eindeutiger Identifikatoren, Absender- und Empfängeradressen sowie Paketspezifikationen wie Abmessungen und Gewicht.
-- filename: data.json
{
"ProdConceptID": 1782, // Ihre Produktkonzept-ID
"OrderNo": "Order123", // Ihre Bestellnummer
"Addresses": [
{
"Kind": 1, // 1 für Empfänger, 2 für Absender
"Name1": "Empfängername",
"Street1": "Empfängerstreet",
"PostCode": "Empfänger Postleitzahl",
"City": "Empfängerstadt",
"CountryCode": "Empfänger Ländercode",
"Phone": "Empfänger Telefonnummer",
"Email": "receiver@example.com",
"Attention": "Empfänger Ansprechpartner" // Optional
},
{
"Kind": 2, // 1 für Empfänger, 2 für Absender
"Name1": "Absendername",
"Street1": "Absenderstreet",
"PostCode": "Absender Postleitzahl",
"City": "Absenderstadt",
"CountryCode": "Absender Ländercode",
"Phone": "Absender Telefonnummer",
"Email": "sender@example.com",
"Attention": "Absender Ansprechpartner" // Optional
}
],
"Lines": [
{
"Number": 1, // Positionsnummer
"PkgWeight": 1000, // Paketgewicht in Gramm
"Height": 10, // Höhe in mm
"Length": 20, // Länge in mm
"Width": 15, // Breite in mm
"References": [
{ "Kind": 23, "Value": "Referenz 1" }
]
}
]
}
Die Datei options.json gibt das Etikettenformat an und zeigt, dass das Etikett im ZPL-Format zur Ausgabe auf Zebra-Druckern erzeugt werden soll.
-- filename: options.json
{
"Labels": "ZPLGK"
}
Aufbau des Payload-Objekts (data)
Obwohl es technisch möglich ist, die JSON-Payload manuell zu erstellen, wird dringend empfohlen, die Sendung zunächst über die Ship UI anzulegen und vom Versanddienstleister validieren zu lassen, bevor Sie versuchen, den Prozess zu automatisieren. Dieser Schritt gewährleistet die Datenkorrektheit und vermeidet mögliche Probleme durch falsches Format oder fehlende Pflichtfelder.
Weitere Informationen zum Developer Tool in Ship UI:
https://helpcenter.nshift.com/hc/de/articles/17147027547804
Beispiel mit 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"