If you are building a new integration to Shipment Server, we recommend using API version 2. Go to the API version 2 documentation here. |
Environments - API Version 1
Production {{URL}} | https://www.shipmentserver.com/ship/ShipmentServerModule.dll |
Test {{URL}} | https://demo.shipmentserver.com/ship/ShipmentServerModule.dll |
Note:
This is a REST API and can only be used for sending/receiving requests so is not meant to be opened in a browser.
Authentication - API Version 1
The API support uses a custom form of Basic Authentication where the Username/Password is called Actor/Key
This is added to the request inside the body not the header
The request body takes a multipart/form-data or application/x-www-form-urlencoded object with the following keys:
- actor - id of the actor {{ID}}
- key - the access token for the actor {{KEY}}
- command - the method to run on the API {{COMMAND}}
- options - some commands can be controlled with additional settings {{OPTIONS}}
- data - the payload for the command ( example could be a shipment object ) {{DATA}}
Postman Collection - API Version 1
This collection contains request & response examples for all requests:
https://documenter.getpostman.com/view/22736309/2s7ZE4NQsG
After you have imported the collection using the Run in Postman feature
- Select the Environment DeliveryHub API inside Postman in the top right corner
- Update the Current and Initial Value on the variables {{ID}}, {{KEY}} and {{URL}} in the DeliveryHub API Environment.
- Remember to Save the Environment
- Run any request from the API - Version 1 folder
Note:
Check the pre-request section on each request to see the {{DATA}} and {{OPTIONS}} variables
Shipment Object
See this article on how it should be constructed using the Ticket UI Developer Tool:
https://helpcenter.nshift.com/hc/en-us/articles/6408142649884-Activating-and-using-the-Developer-Tools
Or how to construct it manually:
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Index - API Version 1
-
Shipments - create, add, update, delete, submit, transmit, reprint & get
POST | Create a shipment | SaveShipment | |
POST | Create a shipment using shipping rules | PreAdviseOrder | |
POST | Create a shipment in the order database | StoreOrder |
POST | Add a new line to an existing shipment | NewLine |
POST | Update a Package on a shipment | UpdatePackage | |
POST | Update a Line on a shipment | UpdateLine | |
POST | Update Details on a shipment | UpdateDetails |
POST | Delete a package on a shipment | DeletePackage | |
POST | Delete a line on a shipment | DeleteLine | |
POST | Delete a shipment | DeleteShipment |
POST | Submit a shipment | SubmitShipment | |
POST | Submit a shipment from inbox | SubmitOrder | |
POST | Submit a shipment using a flat file | ImportUpload |
POST | Transmit specific shipments | TransmitShipments | |
POST | Transmit all shipments on a stack | TransmitStack |
POST | Reprint labels | ReprintLabels | |
POST | Reprint a single label | PrintLabel |
POST | Get the object of an existing shipment | GetShipment | |
POST | Get the package object on a shipment | GetPackage | |
POST | Get all shipments from Inbox | GetInboxShipments | |
POST | Get all shipments from AutoPrint | GetAutoPrint | |
POST | Get all shipments from Draft | GetDraftShipments |
POST | Get all documents from a shipment | GetDocument | |
POST | Get a list of documents on a shipment | GetDocumentList |
-
ShipAdvisor
POST | Get Delivery Options (Services/Products) | GetShipAdvise |
-
Stacks
POST | Get all Stacks | GetStacks | |
POST | Get all shipments from a Stack | GetStackShipments |
POST | Create a new Stack | CreateStack | |
POST | Delete a Stack | DeleteStack |
-
Batches
POST | Get all Batches | GetBatchList | |
POST | Get one Batch | GetBatchDetails | |
POST | Get a file from a Batch | GetBatchReport | |
POST | Get all Shipments from a Batch | GetBatchShipments |
-
Waybills
POST | Create Waybill | GetWaybill |
POST | Create BreakBulk | CreateBreakBulk | |
POST | Clear BreakBulk | ClearBreakBulkNumber | |
POST | Create BreakBulk Shipment | CreateBreakBulkShipment | |
POST | Get BreakBulk Invoice Summary | GetBreakBulkInvoiceSummary |
POST | Craete Lead Shipment | CreateLeadShipment | |
POST | Get Lead group details | GetLeadGroupDetails | |
POST | Get Lead group | GetLeadGroups |
-
Services
POST | Get all Services/Products | GetProducts | |
POST | Get the freight cost for a Shipment | GetShipmentPrice | |
POST | Validate a Shipment Object | ValidateShipment | |
POST | Return default value for the Product | GetDefaultShipment | |
POST | Get track & trace information | GetTrackingURL | |
POST | Get link to Claim Insurance | GetInsuranceClaimURL |
-
Addons
POST | Get a list of Droppoints | GetDropPoints |
POST | Get a list of pickuplockers | GetPickupLockers | |
POST | Allocate a pickuplocker | AllocatePickupLocker | |
POST | Cancel a pickuplocker | VoidPickupLocker |
POST | Get a list of time slots | GetTimeSlots | |
POST | Allocate a time slot | AllocateTimeSlots | |
POST | Cancel a time slot | VoidTimeSlot |
POST | Calculate Insurance Price | GetInsurancePrice |
POST | Get information of one DGOFFICE article | GetDGArticleNoInfo | |
POST | Get a list of DGOFFICE articles | GetDGArticleNoInfoList |
POST | Get a list of DG articles | GetDGList | |
POST | Get values for DG fields | GetDGEnums |
-
Config
POST | Get printer font as base64 | GetPrinterFonts | |
POST | Get the default Sender Address | GetSenderAddress | |
POST | Get Printers from a DropZone Client | DropZonePrinters |
Documentation - API Version 1
-
SaveShipment | Create a shipment
Used to save a shipment to Inbox
- Normally used when the shipment is being completed using the Ticket UI
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object with the following keys
{ "actor": {{ID}}, "key": {{KEY}}, "command": "SaveShipments", "data": {}, "options": {
"Place": "STRING",
"ServiceLevel": "STRING",
"UseShippingRules": "INT 0/1"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- Place - where to save the shipment possible values: Inbox| Draft (default) | AutoPrint
- ServiceLevel - name of a ServiceLevel to execute in Shipping Rules
- UseShippingRules - set to 1 to enable Shipping Rules
-
PreAdviseOrder | Create a shipment using shipping rules
Creates a new shipment using Shipping Rules and ETA web service. It will select a product based on the shipment data and required delivery date. To use this function, you must have a CSR setup for the actor, and if you use Required delivery date, you should also have configured ETA
The flow is like this.
- CSR validates all products in a given service level.
- A call to ETA web service with all valid products from the previous step together with the required delivery date.
- ETA web service returns the delivery date and production cut-off time for all products that can deliver within the date specified.
- If more than one product can deliver, the allocation rule in Shipping Rules will decide which one to use.
- If no products can deliver, products close to the requested date will be selected
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "PreAdviseOrder", "data": {}, "options": {
"ServiceLevel": "STRING",
"RequiredDeliveryDate": "DATETIME",
"Visibility": "STRING"
"Submit": INT (0/1),
"Labels": "STRING",
"TicketUserName": "STRING",
"WorkstationID": "UUID",
"DropZoneLabelPrinterKey": "STRING",
"DropZoneDocPrinterKey": "STRING",
"ValidatePostCode": INT (0/1)
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- ServiceLevel - name of a ServiceLevel to execute in Shipping Rules
- RequiredDeliveryDate - the eta of when the shipment should be delivered YYYY-MM-DD
- ValidatePostCode- use 0 to disable PostCode validation
-
Visibility- use the value "extended" to return product and carrier name in the response
- - Submit - create the shipment instead of saving it to Inbox
-
Labels- the label type to generate, more information here
ZPL, ZPLGK, EPL, PNG, PDF, DATAMAXLP2, DATAMAXDPL, none
- - TicketUserName - login name used in the DropZone client
- WorkstationID - id of the installed DropZone client
- DropZoneLabelPrinterKey - name of a label printer key defined in the DropZone client
- DropZoneDocPrinterKey - name of a a4 printer key defined in the DropZone client
-
StoreOrder | Create a shipment in the order database
Used to store part of a shipment in the Orders storage service.
The shipment can then be completed using SubmitShipment or ImportUpload
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "StoreOrder", "data": {}, "options": {
"OrderID": "STRING"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- OrderID - Uuid or another unique string.
-
NewLine | Add a new line to an existing shipment
Creates new line on an already existing shipment.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "NewLine", "data": {
"ShpCSID": "INT",
"Number": "INT",
"PkgWeight": "INT",
"PkgVol": "INT",
"Loadmeter": "INT",
"GoodsTypeID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
See the article about Lines Array the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
-
UpdatePackage | Update a Package on a shipment
Update a package on an existing shipment
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "UpdatePackage", "data": {
"PkgCSID": "INT",
"References": "[]"
}, "options": {} }
See the postman collection for a full example
Data
See the article about Package References Array the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
-
UpdateLine | Update a Line on a shipment
Update a line on an existing shipment
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "UpdateLine", "data": {
"ShpCSID": "INT",
"LineCSID": "INT",
"PkgWeight": "INT",
"LineWeight": "INT"
}, "options": {} }
See the postman collection for a full example
Data
See the article about Lines Array the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
-
UpdateDetails | Update Details on a shipment
Updates details for a shipment.
- Existing Details on the shipment will be removed before adding the supplied Details.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "UpdateDetails", "data": {
"ShpCSID": "INT",
"DetailGroups": "ARRAY[OBJECT]"
}, "options": {} }
See the postman collection for a full example
Data
See the section about the DetailGroups in the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
-
DeletePackage | Delete a package on a shipment
Deletes package by PkgCSID.
- Only packages that are not transmitted can be deleted.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "DeletePackage", "data": {
"PkgCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- PkgCSID - the id of the package
-
DeleteLine | Delete a line on a shipment
Delete a line on an existing shipment
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "DeleteLine", "data": {
"LineCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- LineCSID - the id of the line
-
DeleteShipment | Delete a shipment
Deletes shipment by ShpCSID. Only shipments that are not transmitted can be deleted.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "DeleteShipment", "data": {
"ShpCSID": "INT | ARRAY[INT]"
}, "options": {} }
See the postman collection for a full example
Data
- ShpCSID - the id or ids of shipments to delete
-
SubmitShipment | Submit a shipment
Submits a shipment with or without the usage of Shipping Rules
- The most common way to create Shipments on the API
- Labels can be printed using Drop Zone and Cloud Print or return as a base64 string
- Recommended Label format is ZPLGK, PNG or PDF
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object with the following keys:
{ "actor": {{ID}}, "key": {{KEY}}, "command": "SubmitShipment", "data": {}, "options": { "Labels": "STRING",
"TrackingURL": "INT(0/1)", "TicketUserName": "STRING", "WorkstationID": "UUID", "DropZoneLabelPrinterKey": "STRING", "DropZoneDocPrinterKey": "STRING", "UseShippingRules": "INT (0/1)", "ServiceLevel": "STRING", "RerunCSROnError": "INT (0/1)", "Token": "STRING", "ReturnShipment": "INT (0/1)",
"PriceCalculation": "INT (0/1)", "UseErrorLabels": "INT(0/1)" } }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- Labels- the label type to generate, more information here
[ ZPL, ZPLGK, EPL, PNG, PDF, DATAMAXLP2, DATAMAXDPL, none ] - TrackingURL - return the tracking URLs for the packages
- - TicketUserName - login name used in the DropZone client
- WorkstationID - id of the installed DropZone client
- DropZoneLabelPrinterKey - name of a label printer key defined in the DropZone client
- DropZoneDocPrinterKey - name of a a4 printer key defined in the DropZone client
- - UseShippingRules - use 1 to activate Shipping Rules
- ServiceLevel - name of a ServiceLevel to execute in Shipping Rule
- - Token - a token found in the response of method GetShipAdvise which describes the product to create the shipment with
- RerunCSROnError - use 1 to rerun CSR if the product specified in the token is no longer valid
- - ReturnShipment - creates a return shipment in addition to the other shipment.
- CopyCustomFieldsToReturn - use 1 to copy custom fields from standard shipment to return shipment.
- PriceCalculation - use 1 to get price back from Price Calculation Setup Item
- UseErrorLabels - use 1 to return a label with the content of the ErrorMessage array
- SaveShipmentOnError - use Inbox or Autoprint to save shipment to Inbox/Autoprint if submit fails.
- - OrderID - Uuid or another unique string. The ID of the partial shipment in Order Storage created by nShift Checkout. Equivalent to nShift Checkout prepareID.
-
CompleteLabel - use 1 to get back graphics on all shipments in a shipment with multiple lines. If not defined, we will only return graphics on the first label. (default behavior)
Only enable this option if multiple labels are received in a response and not all labels are printed using the same label printer. Usually, printers store graphics, enabling subsequent labels to reuse stored data for faster printing speeds.
-
SubmitOrder | Submit a shipment from inbox
Submits an existing order which has been created using the OrderAdvice or SaveShipment method
- Cloud Print can be used to print the labels on a certain workstation.
- CSR can be executed again without calling ETA Web Service. If the ServiceLevel is specified and different from OrderAdvice
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "SubmitOrder", "data": {}, "options": {
"ServiceLevel": "STRING",
"ReturnShipmentServiceLevel": "STRING",
"ReturnShipmentFirst": "INT (0/1)",
"Visibility": "STRING",
"UseCopy": INT (0/1),
"Labels": "STRING",
"TicketUserName": "STRING",
"WorkstationID": "UUID",
"DropZoneLabelPrinterKey": "STRING",
"DropZoneDocPrinterKey": "STRING"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- ServiceLevel - name of a ServiceLevel to execute in Shipping Rules
- ReturnShipmentServiceLevel - name of a ServiceLevel with return shipments to execute in Shipping Rules
- ReturnShipmentFirst - return label is the first in the response
- CopyCustomFieldsToReturn - use 1 to copy custom fields from standard shipment to return shipment.
-
Visibility- use the value "extended" to return productandcarrier name in the response
- - UseCopy - original shipment will stay in inbox.
-
Labels - the label type to generate, more information here
ZPL, ZPLGK, EPL, PNG, PDF, DATAMAXLP2, DATAMAXDPL, none
- - TicketUserName - login name used in the DropZone client
- WorkstationID - id of the installed DropZone client
- DropZoneLabelPrinterKey - name of a label printer key defined in the DropZone client
- DropZoneDocPrinterKey - name of a a4 printer key defined in the DropZone client
-
ImportUpload | Submit a shipment using a flat file
This method to create a shipment using a base64 encoded file
- txt, csv, edi or custom
- xml is also supported, but a (XSLT version 1) stylesheet is required in order to translate the file into a CSV file.
before it can be processed.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{
"actor": "INT",
"key": "STRING",
"command": "STRING",
"data": {
"filename": "STRING",
"filecontent": "BASE64 ENCODED UTF-8 STRING"
},
"options": {
"Labels": "STRING",
"ImportOnLocation": "INT (0/1)",
"TicketUserName": "STRING",
"WorkstationID": "UUID"
}
}
See the postman collection for a full example
Data
- filename- name and extention of the file
- filecontent- the content of the file to be uploaded, encoded in base64
Options
- Labels - the label type to generate, more information here
ZPL, ZPLGK, EPL, PNG, PDF, DATAMAXLP2, DATAMAXDPL, none
- - ImportOnLocation - target the Setup Item - Import Setup on Actor (0) or Location (1)
- TicketUserName - login name used in the DropZone client
- WorkstationID - uuid of the installed DropZone client
-
TransmitShipments | Transmit specific shipments
This method will only transmit the specified shipment(s) within a stack.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "TransmitShipments", "data": {
"ShipmentCSIDs": "ARRAY[INT]",
"IsThisATest": "INT(0/1)"
}, "options": {} }
See the postman collection for a full example
Data
- ShipmentCSIDs - the shipments to be transmitted
- IsThisATest - is only support on some Carriers, used to send test EDI data to a Carrier
-
TransmitStack | Transmit all shipments on a stack
Transmit all Shipments in a Stack
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "TransmitStack", "data": {
"StackCSID": "INT",
"IsThisATest": "INT(0/1)"
}, "options": {} }
See the postman collection for a full example
Data
- IsThisATest is only support on some Carriers, used to send test EDI data to a Carrier
-
ReprintLabels | Reprint labels
Used to reprint a shipment which has been submitted
- Offen, you need to use the same label format as when it was submitted.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "ReprintLabels", "data": {
"ShpCSID": "INT",
"PkgCSID": "INT"
}, "options": {
"Labels": "STRING",
"TicketUserName": "STRING",
"WorkstationID": "UUID",
"DropZoneLabelPrinterKey": "STRING",
"DropZoneDocPrinterKey": "STRING"
} }
See the postman collection for a full example
Data
- ShpCSID - the id of the shipment
- PkgCSID - the id of the package ( not required )
Options
-
Labels - the label type to generate, more informationhere
ZPL, ZPLGK, EPL, PNG, PDF, DATAMAXLP2, DATAMAXDPL, none
- - TicketUserName - login name used in the DropZone client
- WorkstationID -id of the installed DropZone client
- DropZoneLabelPrinterKey -name of a label printer key defined in the DropZone client
- DropZoneDocPrinterKey -name of a a4 printer key defined in the DropZone client
-
PrintLabel | Reprint a single label
Print the label of a package using a reference on the line
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "PrintLabel", "data": {
"ShpCSID": "INT",
"LineReferenceID": "INT",
"LineReferenceValue": "STRING"
}, "options": {
"Labels": "STRING",
"TicketUserName": "STRING",
"WorkstationID": "UUID"
} }
See the postman collection for a full example
Data
- ShpCSID - the id of the shipment
- LineReferenceID - the kind id of the line referencesc
- LineReferenceValue - the value of the line references
Options
-
Labels - the label type to generate, more informationhere
ZPL, ZPLGK, EPL, PNG, PDF, DATAMAXLP2, DATAMAXDPL, none
- - TicketUserName - login name used in the DropZone client
- WorkstationID - id of the installed DropZone client
-
GetShipment | Get the object of an existing shipment
Get shipment data by ShpCSID, OrderNoCS or OrderNo.
If the Shipment Server account is configured with a Web Integration ( like a web shop, ERP system or ShipAdvisor), the OrderNo parameter will fetch the order from the integration and not the shipment with that order number in Shipment Server. In this combination the OrderNoCS parameter should be used if you want the shipment data on order number from a shipment created in Shipment Server, rather than fetching the order data from the integration. If no integration is enabled, both OrderNoCS and OrderNo parameter will return the Shipment Server shipment.
Note: When OrderNo / OrderNoCS is used, there can be more shipments with the same order number. All Shipments with the given order number will then be returned. ShpCSID is unique so only one shipment will be returned.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetShipment", "data": {
"ShpCSID": "INT",
"OrderNo": "STRING",
"OrderNoCS: "STRING",
"InboxOnly": "INT(0/1)",
"ExternalParams": "ARRAY"
}, "options": {} }
See the postman collection for a full example
Data
- ShpCSID - id of the shipment
- OrderNo - order number of the shipment
-
InboxOnly - where to locate the shipment
- - OrderNoCS - order number of the shipment when connected using ERP Integration Setup Item
- ExternalParams -
-
GetPackage | Get the package object on a shipment
Get the package on a line from a shipment
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetPackage", "data": {
"PkgCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- PkgCSID - the id of the package
-
GetInboxShipments | Get all shipments from Inbox
Return a list of shipments from Inbox
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetInboxShipments", "data": {
"StartIndex": "INT",
"Count": "INT",
"SortField": "String",
"SortDirection": "INT(0/1)",
"RequestPkgCount": "INT(INT)",
"RequestReferences": "ARRAY[INT]"
}, "options": {} }
See the postman collection for a full example
Data
- StartIndex -
- Count -
- SortField - ImportDt
- SortDirection -
- RequestPkgCount -
- RequestReferences -
-
GetAutoPrint | Get all shipments from AutoPrint
Return a list of shipments from AutoPrint, shipments created using ImportUpload but failed is found here
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetAutoPrint", "data": {
"StartIndex": "INT",
"Count": "INT",
"SortField": "String",
"SortDirection": "INT(0/1)",
"RequestPkgCount": "INT(INT)",
"RequestReferences": "ARRAY[INT]"
}, "options": {} }
See the postman collection for a full example
Data
- StartIndex -
- Count -
- SortField - ImportDt
- SortDirection -
- RequestPkgCount -
- RequestReferences -
-
GetDraftShipments | Get all shipments from Draft
Returns a list of shipments that are saved as drafts.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDraftShipments", "data": {
"StartIndex": "INT",
"Count": "INT",
"SortField": "String",
"SortDirection": "INT(0/1)",
"RequestPkgCount": "INT(INT)",
"RequestReferences": "ARRAY[INT]"
}, "options": {} }
See the postman collection for a full example
Data
- StartIndex -
- Count -
- SortField - ImportDt
- SortDirection -
- RequestPkgCount -
- RequestReferences -
-
GetDocument | Get all documents from a shipment
Return documents from a shipment
- Note: Documents are only stored for 10 days in the Shipment Server database.
- The format of the documents is pdf and encoded as Base64.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDocument", "data": {
"ShpCSID": "INT",
"DocumentCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
-
ShpCSID:
Returns all documents for the shipment that is enabled on the carrier / product.
The label will not be returned in the result. -
DocumentCSID:
Returns the specified document. Use the GetDocumentList method to retrieve
the list of DocumentCSID for documents.
-
GetDocumentList | Get a list of documents on a shipment
The method returns a list of all the documents that was created on the shipment at submit,
e.g. freight letters and Waybill. It is carrier specific which documents that are available.
Use the method GetDocument to retrieve the documents.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDocumentList", "data": {
"ShpCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- ShpCSID - the id of the shipment
ShipAdvisor
GetShipAdvise | Get Delivery Options (Services/Products)
Get advises on which products can be used based on the data object in the payload.
- Normally used on the checkout page in a webshop
- Shipping Rules contain the logic on which products should be returned
- Can also use Carrier Performance (ETA) to display expected delivery time
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetShipAdvise", "data": {}, "options": {
"ServiceLevel": "STRING",
"Price": "STRING",
"TimeSlots": "INT(0/1)",
"DropPoints": "INTINT(0/1)",
"DropPointCount": "INT",
"PickupLockers": "INTINT(0/1)",
"EarliestPickup": "DATE",
"RequiredDeliveryDate": "DATETIME",
"Deliverydate": "STRING"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- ServiceLevel- name of a ServiceLevel to execute in Shipping Rules
- Price- Use value "CSR" to get price from CSR, or "1" or "2" to get Price1 or Price2
-
TimeSlots- Use value 1 to activate TimeSlots
Read the TimeSlots article to get more information on how to create a Shipment using TimeSlots - DropPoints- Use value 1 to get DropPoints
- DropPointCount- Numer of drop points to return for each product
- PickupLockers- Use value 1 for carriers who support this
- EarliestPickup- Set the earliest time for carrier to pick up the shipment
- RequiredDeliveryDate -YYYY-MM-DD HH:MM:SS
- Deliverydate - only the value ETAWS is currently supported
Stacks
-
GetStacks | Get all Stacks
A stack is a placeholder for shipments ready for transmitting EDI to the carrier.
When shipments are submitted, they are placed in a stack at sub carrier level.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetStacks", "data": {}, "options": {} }
See the postman collection for a full example
-
GetStackShipments | Get all shipments from a Stack
The method returns all the shipments within a stack on the given StackCSID.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetStackShipments", "data": {
"StackCSID": "INT",
"StartIndex": "INT",
"Count": "INT",
"SortField": "STRING",
"SortDirection": "INT(0/1)"
}, "options": {} }
See the postman collection for a full example
Data
- StackCSID -
- StartIndex -
- Count -
- SortField -
- SortDirection -
CreateStack | Create a new Stack
Use to create a new Stack on a SubCarrier
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "CreateStack", "data": {
"SubcarrierConceptID": "INT",
"SubcarrierCSID": "INT",
"StackName": "STRING
}, "options": {} }
See the postman collection for a full example
Data
Only one of the SubcarrierConceptID and SubcarrierCSID is needed
DeleteStack | Delete a Stack
Use to delete a Stack
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "DeleteStack", "data": {
"StackCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Batches
GetBatchList | Get all Batches
GetBatchList returns a list of batches from the criteria in the request. When shipments are transmitted they are placed in a batch. A batch will only contain the currently transmitted shipments for the carrier it belongs to. That means that next time shipments are transmitted, a new batch is created for them.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetBatchList", "data": {
"StartIndex": "INT",
"Count": "INT",
"SortField": "STRING",
"SortDirection": "INT(0/1)"
}, "options": {} }
See the postman collection for a full example
Data
- StartIndex - The start index of the result
- Count - Number of records that will be returned
- SortField - The field which the result should be sorted on
- SortDirection - Sort order, the number value 0 for ascending and 1 for descending
GetBatchDetails | Get one Batch
Get the details about the documents in the batch. The batch contains the information about the transmitted shipments such as the EDI file and carrier specific reports, which contains a document for all the transmitted shipments for the batch. Use the BatchCSID from GetBatchList or the ShpCSID from the shipment response to get the details about the documents in the batch
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetBatchDetails", "data": {
"BatchCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
Normally used with the BatchCSID but you can also use the ShpCSID
GetBatchReport | Get a file from a Batch
Retrieve the report (document) from a batch.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetBatchReport", "data": {
"BatchReportCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- BatchReportCSID -
GetBatchShipments | Get all Shipments from a Batch
Return shipments from a Batch
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetBatchShipments", "data": {
"BatchCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- BatchCSID -
Waybills
GetWaybill | Create Waybill
Create Waybill for shipments in a batch
See this article for more informations:
https://helpcenter.nshift.com/hc/en-us/articles/360005359613
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetWaybill", "data": {
"CountryCode": "String",
"BatchCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- CountryCode
- BatchCSI
Additionally, some parameters are based on the type of waybill:
waybill_pnldk_pnl(Bring SE):
CreateBreakBulk | Create BreakBulk
Activates break bulk functionality for a specified stack.
See this article for more informations:https://helpcenter.nshift.com/hc/en-us/articles/4403032605074
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "CreateBreakBulk", "data": {
"StackCSID": "INT",
"ProdCSID": "INT",
"CountryCode": "STRING",
"IsEU": "INT(0/1)"
}, "options": {} }
See the postman collection for a full example
Data
- StackCSID -
- ProdCSID -
- CountryCode -
- IsEU -
ClearBreakBulkNumber | Clear BreakBulk
Clears the Stack for any assigned BreakBulkNumber
See this article for more informations:
https://helpcenter.nshift.com/hc/en-us/articles/4403032605074
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "ClearBreakBulkNumber", "data": {
"StackCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- StackCSID -
CreateBreakBulkShipment | Create BreakBulk Shipment
When all your BBX (child) shipments have been created you use this method to create the mother shipment.
See this article for more informations:
https://helpcenter.nshift.com/hc/en-us/articles/4403032605074
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "CreateBreakBulkShipment", "data": {
"StackCSID": "INT",
"CurrencyCode": "STRING",
"Value": "STRING"
}, "options": {} }
See the postman collection for a full example
Data
- StackCSID -
GetBreakBulkInvoiceSummary | Get BreakBulk Invoice Summary
Returns bulksplit children’s invoice value and currency
See this article for more informations:https://helpcenter.nshift.com/hc/en-us/articles/4403032605074
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetBreakBulkInvoiceSummary", "data": {
"StackCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- StackCSID
CreateLeadShipment | Create Lead Shipment
Creates the lead shipment for a specified lead group id.
Used with the carriers UPS and UPS World Ease
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "CreateLeadShipment", "data": {
"LeadGroupId": "INT",
"Country": "STRING"
}, "options": {} }
See the postman collection for a full example
Data
- LeadGroupId -
- Country -
GetLeadGroupDetails | Get Lead group details
Retrieves details for a specified lead group: Shipment id, Shipment number, Date submitted and Order number.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetLeadGroupDetails", "data": {
"LeadGroupId": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- LeadGroupId -
GetLeadGroups | Get Lead group
Retrieves the lead groups for a specified stack.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetLeadGroups", "data": {
"StackCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- StackCSID -
Services
GetProducts | Get all Services/Products
Gets all carriers and sub carriers, products and services for the given actor along with the corresponding ConceptIDs and ServiceIDs . These IDs are a unique identifier for carriers, subcarriers, products and services. With this method it is easy to build a product selection at the client side that provides the IDs you need to create shipments.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetProducts", "data": {}, "options": {} }
See the postman collection for a full example
GetShipmentPrice | Get the freight cost for a Shipment
Calculates price based on the shipment if price calculation is activated on product.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetShipmentPrice", "data": {}, "options": {} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
ValidateShipment | Validate a Shipment Object
Validates the shipment based on the input for the shipment object (data)
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "ValidateShipment", "data": {}, "options": {} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
GetTrackingURL | Get track & trace information
Returns the tracking URL (s) for the requested shipment on both shipment and package level.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetTrackingURL", "data": {
"ShpCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- ShpCSID - the id of the shipment
GetInsuranceClaimURL | Get link to Claim Insurance
Returns the claim URL for a shipment that is insured with If Insurance.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetInsuranceClaimURL", "data": {
"ShpCSID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
- ShpCSID - the id of the shipment
Addons
GetDropPoints | Get a list of Droppoints
Returns drop points (service points) for the given product that supports it.
See the article for more information:https://helpcenter.nshift.com/hc/en-us/articles/6578972044188
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDropPoints", "data": {
"ResultCount": "INT(10)",
"ProdConceptID": "INT",
"Addresses": [{"Kind": 1}]
}, "options": {} }
See the postman collection for a full example
Data
- ResultCount - max is 20, but depends on the carrier how many that will be return
- ProdConceptID - the product
- Addresses - receiver address
GetPickupLockers | Get a list of pickuplockers
Return a list of Pickuplockers
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetPickupLockers", "data": {}, "options": {
"Token": "STRING"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- Token - Returned from GetShipAdvise, mandatory if ProdConceptID is not specified in Data.
AllocatePickupLocker | Allocate a pickuplocker
Allocates a pickuplocker. To use this, you need to call GetPickupLockers, or GetShipAdvise first with options parameter “PickupLocker”:1. These functions will return a PickupLockerToken added to the option section for AllocatePickupLocker.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "AllocatePickupLocker", "data": {}, "options": {
"Token": "STRING",
"PickupLockerToken": "STRING"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- Token - Can include product id instead
- PickupLockerToken -
VoidPickupLocker | Cancel a pickuplocker
Void a pickup locker earlier allocated by AllocatePickupLocker.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "VoidPickupLocker", "data": {}, "options": {
"AllocatedPickupLockerToken": "STRING"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- AllocatedPickupLockerToken -
GetTimeSlots | Get a list of time slots
Return available timeslots for a product.
For more information, see this article:
https://helpcenter.nshift.com/hc/en-us/articles/360016376040
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetTimeSlots", "data": {}, "options": {
"Token": "STRING",
"EarliestPickup": "ISO DATE",
"LatestPickup": "ISO DATA"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- Token - Mandatory if product is not specified in Data
- EarliestPickup - Mandatory if LatestPickup is specified. What values that are valid can differ between carriers. For some carriers EarliestPickup can be mandatory regardles
- LatestPickup - Mandatory if EarliestPickup is specified. What values that are valid can differ between carriers. For some carriers LatestPickup can be mandatory regardless.
AllocateTimeSlot | Allocate a time slot
Allocated TimeSlot Token needs to be included in options for SubmitShipment and Void Timeslot.
For more information, see this article:
https://helpcenter.nshift.com/hc/en-us/articles/360016376040
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "AllocateTimeSlot", "data": {}, "options": {
"Token": "STRING",
"EarliestPickup": "ISO DATE",
"LatestPickup": "ISO DATA"
} }
See the postman collection for a full example
Data
See the article about the Data Object
https://helpcenter.nshift.com/hc/en-us/articles/5525543279260
Options
- Token
- EarliestPickup
- LatestPickup
VoidTimeSlot | Cancel a time slot
Remove a time slot earlier allocated by AllocateTimeSlot.
For more information, see this article:
https://helpcenter.nshift.com/hc/en-us/articles/360016376040
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "VoidTimeSlot", "data": {}, "options": {
"AllocatedTimeSlotToken": "STRING"
} }
See the postman collection for a full example
Options
- AllocatedTimeSlotToken -
GetInsurancePrice | Calculate Insurance Price
Calculates the insurance premium for the If insurance.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetInsurancePrice", "data": {
"Amount": "Currency",
"CurrencyCode": "String",
"SenderCountryCode": "String",
"ReceiverCountryCode": "String"
}, "options": {} }
See the postman collection for a full example
Data
- Amount - The insurance amount
- CurrencyCode - The currency for the insurance
- SenderCountryCode - The sender country code in isoA2 format
- ReceiverCountryCode - The receiver country code in isoA2 format
GetDGArticleNoInfoList | Get a list of DGOFFICE articles
Return a list of Dangerous Goods items using the integration with DGOFFICE
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDGArticleNoInfoList", "data": {},
"context": {
"CarrierConceptID": "INT",
"SubcarrierConceptID": "INT",
"ProdConceptID": "INT"
}, "options": {} }
See the postman collection for a full example
Context
For normal products:
CarrierConceptID, SubcarrierConceptID, ProdConceptID
For custom products:
CarrierCSID, SubcarrierCSID, ProdCSID
GetDGArticleNoInfo | Get a list of DG articles
Return information about a Dangerous Goods items using the integration with DGOFFICE
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDGArticleNoInfo", "data": {
"ArticleNo": "STRING"
},
"context": {
"CarrierConceptID": "INT",
"SubcarrierConceptID": "INT",
"ProdConceptID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
ArticleNo can be found using the method GetDGArticleNoInfoList
Context
For normal products:
CarrierConceptID, SubcarrierConceptID, ProdConceptID
For custom products:
CarrierCSID, SubcarrierCSID, ProdCSID
GetDGList | Get a list of DG articles
Return a list of Dangerous Goods items
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDGList", "data": {
"DGID": "INT",
"UN": "INT",
"Count": "INT"
}, "options": {} }
See the postman collection for a full example
Data
DGID or UN can be used to filter the returned items
GetDGEnums | Get values for DG fields
Return possible values for DGKind, DGClass, PackingGroup, PackingType, MarinePollution, TransportMode
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetDGEnums", "data": {
"ProdConceptID": "INT"
}, "options": {} }
See the postman collection for a full example
Data
To use custom products change ProdConceptID to ProdCSID
Config
GetPrinterFonts | Get printer font as base64
Some carriers / products use arial font for the labels. To be able to print a label made in ZPL II language correct, the printer needs to be updated with the arial font that this method returns. If the font is missing from the printer, the text will be pixelized on the label. You need a printer that supports ZPL II to print a label that uses the arial font, when requesting a label in ZPL II format with the label type ZPLGK. If you do not have a printer that supports ZPL II, then use the label type PNG or PDF.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetPrinterFonts", "data": {
"PrinterKind": "STRING"
}, "options": {
"UseTTFFonts": "INT(0/1)"
} }
See the postman collection for a full example
Data
- PrinterKind - use the value ZPLGK
Options
- UseTTFFonts - use 1 to enable TrueType Fonts
GetSenderAddress | Get the default Sender address
Returns the sender address that is registered on the actor.
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "GetSenderAddress", "data": {}, "options": {} }
See the postman collection for a full example
DropZonePrinters | Get printers from a DropZone Client
Returns a list of printers
Request
POST {{URL}}
Request body
The request body takes a multipart/form-data or application/x-www-form-urlencoded object
{ "actor": {{ID}}, "key": {{KEY}}, "command": "DropZonePrinters", "data": {
"UserName": "noreply@nshift.com"
}, "options": {} }
See the postman collection for a full example