Dit artikel beschrijft hoe u een SubmitShipment-verzoek opstelt voor de ShipmentServer API.
Met deze API kunt u zendingen programmatisch boeken en labels genereren.
Endpoint en methode:
Het verzoek moet een POST-verzoek zijn naar het volgende endpoint:
- Productie - https://www.shipmentserver.com
- Sandbox - https://demo.shipmentserver.com
Request Body (multipart/form-data):
De request body moet geformatteerd zijn als multipart/form-data met de volgende sleutel-waardeparen:
-
command: Altijd ingesteld op"SubmitShipment". Dit vertelt de API welke actie moet worden uitgevoerd. -
actor: De Id van de actor. Dit is uw gebruikersnaam. -
key: De sleutel van de actor. Dit is uw wachtwoord. -
data(JSON-string): Dit veld bevat de kerninformatie van de zending. -
options(JSON-string): Dit veld stelt u in staat om extra opties op te geven, zoals het labelformaat.
Het data.json-bestand bevat de benodigde details voor het boeken van een zending, inclusief unieke identificaties, afzender- en ontvangeradressen, en pakket specificaties zoals afmetingen en gewicht.
-- filename: data.json
{
"ProdConceptID": 1782, // Uw productconcept-ID
"OrderNo": "Order123", // Uw ordernummer
"Addresses": [
{
"Kind": 1, // 1 voor ontvanger, 2 voor afzender
"Name1": "Naam ontvanger",
"Street1": "Straat ontvanger",
"PostCode": "Postcode ontvanger",
"City": "Plaats ontvanger",
"CountryCode": "Landcode ontvanger",
"Phone": "Telefoon ontvanger",
"Email": "receiver@example.com",
"Attention": "Ter attentie van ontvanger" // Optioneel
},
{
"Kind": 2, // 1 voor ontvanger, 2 voor afzender
"Name1": "Naam afzender",
"Street1": "Straat afzender",
"PostCode": "Postcode afzender",
"City": "Plaats afzender",
"CountryCode": "Landcode afzender",
"Phone": "Telefoon afzender",
"Email": "sender@example.com",
"Attention": "Ter attentie van afzender" // Optioneel
}
],
"Lines": [
{
"Number": 1, // Regelnr.
"PkgWeight": 1000, // Pakketgewicht in gram
"Height": 10, // Hoogte in mm
"Length": 20, // Lengte in mm
"Width": 15, // Breedte in mm
"References": [
{ "Kind": 23, "Value": "Referentie 1" }
]
}
]
}
Het options.json-bestand specificeert het labelformaat, waarbij wordt aangegeven dat het label moet worden gegenereerd in ZPL-formaat voor printen op Zebra-printers.
-- filename: options.json
{
"Labels": "ZPLGK"
}
Opbouw van het payload(data)-object
Hoewel het technisch mogelijk is om de data JSON-payload handmatig op te bouwen, wordt sterk aanbevolen om de zending eerst te creëren via de Ship UI en deze door de vervoerder te laten valideren voordat u probeert het proces te automatiseren. Deze stap zorgt voor datanauwkeurigheid en voorkomt mogelijke problemen door onjuiste opmaak of ontbrekende verplichte velden.
Meer informatie over de Developer Tool in Ship UI:
https://helpcenter.nshift.com/hc/nl/articles/17147027547804
Voorbeeld met 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"