Integration between Ongoing WMS and nShift Ship (DeliveryHub)
nShift Ship is a shipping platform. Their products were previously known as:
- Consignor Shipment Server
- Consignor On-premises
- Consignor Ticket
Ongoing WMS provides an integration with these products.
Features
Make transport bookings directly from Ongoing WMS
The information about a shipment can be entered into Ongoing WMS, and then transferred to nShift Ship at the click of a button. Afterwards, a transport label can be printed automatically.
Make tracking information visible in Ongoing WMS
If the transport booking for an order was made using the nShift Ship integration, Ongoing WMS instantly receives and can make use of the following information:
- Tracking link
- Tracking number
Choose service point
There is a possibility for customers to decide at which service point they prefer to pick up their packages. nShift sometimes calls this drop point. The service point can be chosen in Ongoing WMS or transferred from another system via an integration.
Generate customs declaration
With an integration between nShift Ship and Ongoing WMS the customs information can be automatically transferred to Ship. This enables electronic customs declarations to be generated or a paper customs declaration to be printed automatically.
Getting started
The following data is required to set up an integration with nShift Ship:
- API key
- A list of actor IDs
If you are planning on using the ZPLGK labelformat from nShift Ship, ensure that you have the necessary fonts installed on your Zebra label printers. More information can be found here.
After you have gathered this information, please see this guide on how to configure an integration between Ongoing WMS and nShift Ship.
Mapping
nShift Ship Shipment - Ongoing WMS Order
Consignor | Ongoing WMS | |
---|---|---|
ActorCSID |
if Financial⇒TransportPaymentType == TransportPaymentType⇒Collect, then OrderInfo⇒GoodsOwnerEdiCode⇒Value, else Financial⇒PriceListCode⇒Value |
|
Addresses | new List<ModelClasses⇒Address>() | |
Amounts | new List<ModelClasses⇒Amount>() | |
DangerousGoods | new List<ModelClasses⇒DangerousGoods>() | |
Kind | ModelClasses⇒ShipmentKind⇒eSkNormal | |
Lines |
new List<ModelClasses⇒Line>() for each GoodsItem, add new ModelClasses⇒Line |
|
GoodsTypeKey1 | GoodsItem⇒PackageTypeCode | |
Height | (int)(GoodsItem⇒Height * 1000) | |
Length | (int)(GoodsItem⇒Length * 1000) | |
LineVol | (long)(GoodsItem⇒Volume * 1000000000) | |
LineWeight | (int)(GoodsItem⇒Weight * 1000) | |
Loadmeter | (int)GoodsItem⇒LoadMeters | |
Pkgs |
new List<ModelClasses⇒Package>() for int i = 1:GoodsItem⇒NumberOfPackages, Add(new ModelClasses⇒Package()) |
|
ItemNo | i | |
References | new List<ModelClasses⇒Reference>() | |
References | new List<ModelClasses⇒Reference>()⇒Add(new ModelClasses⇒Reference()) | |
Kind | ModelClasses⇒ReferenceKind⇒eSrkContents | |
Value | GoodsItem⇒GoodsCategory | |
Width | (int)(GoodsItem⇒Width * 1000) | |
Messages | new List<ModelClasses⇒Message>()⇒Add(new ModelClasses⇒Message()) | |
Kind | ModelClasses⇒ShipmentMessageKind⇒eSmkDriver if not string⇒IsNullOrWhiteSpace(OrderInfo⇒DeliveryInstruction) | |
Text | OrderInfo⇒DeliveryInstruction if not string⇒IsNullOrWhiteSpace(OrderInfo⇒DeliveryInstruction) | |
OrderNo |
$"{prefix}-{suffix}", where prefix = if string⇒IsNullOrWhiteSpace(GoodsOwnerInfo⇒GoodsOwnerReference) then GoodsOwnerInfo⇒Name else GoodsOwnerInfo⇒GoodsOwnerReference, suffix = if string⇒IsNullOrWhiteSpace(OrderInfo⇒GoodsOwnerOrderNumber) then OrderInfo⇒OrderId⇒ToString() else OrderInfo⇒GoodsOwnerOrderNumber |
|
References | new List<ModelClasses⇒Reference>()⇒Add(new ModelClasses⇒Reference()) | |
Kind |
ModelClasses⇒ReferenceKind⇒eSrkAttention if not string⇒IsNullOrWhiteSpace(OrderInfo⇒SalesCode), ModelClasses⇒ReferenceKind⇒eSrkDeliveryInstructions if not string⇒IsNullOrWhiteSpace(OrderInfo⇒DeliveryInstruction), ModelClasses⇒ReferenceKind⇒eSrkSenderReference if not string⇒IsNullOrWhiteSpace(OrderInfo⇒ReferenceNumber), |
|
Value |
(Consignee⇒Name if string⇒IsNullOrEmpty(OrderInfo⇒SalesCode) else OrderInfo⇒SalesCode) if not string⇒IsNullOrWhiteSpace(OrderInfo⇒SalesCode), OrderInfo⇒DeliveryInstruction if not string⇒IsNullOrWhiteSpace(OrderInfo⇒DeliveryInstruction), OrderInfo⇒ReferenceNumber if not string⇒IsNullOrWhiteSpace(OrderInfo⇒ReferenceNumber), |
None* = those fields are not in the default set up, but it is easy to set them to any field in Ongoing WMS.