nShift logo

Integration between Ongoing WMS and nShift DeliveryHub

nShift DeliveryHub is a shipping platform. Their products were previously known as:

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 DeliveryHub at the click of a button. Afterwards, a transport label can be printed.

Make tracking information visible in Ongoing WMS

If the transport booking for an order was made using the nShift DeliveryHub integration, Ongoing WMS instantly receives and can make use of the following information:

Choose service point

There is a posibility for customers to decide at which service point they prefer to pickup their packages.

Generate customs declaration

With an integration between nShift DeliveryHub and Ongoing WMS, electronic customs declarations can be generated.

Preparations

The following data is required to set up an integration with nShift DeliveryHub:

  1. API key
  2. A list of actor IDs
Please ask nShift to supply these to you.

After you have gathered this information, please see this guide on how to set up an integration between Ongoing WMS and nShift DeliveryHub.

Mapping

nShift DeliveryHub Shipment - Ongoing WMS Order

Show field mapping

Consignor Ongoing WMS
ActorCSID if Financial⇒TransportPaymentType == TransportPaymentType⇒Collect,
then OrderInfo⇒GoodsOwnerEdiCode⇒Value,
else Financial⇒PriceListCode⇒Value
Addressesnew List<ModelClasses⇒Address>()
Amountsnew List<ModelClasses⇒Amount>()
DangerousGoodsnew List<ModelClasses⇒DangerousGoods>()
KindModelClasses⇒ShipmentKind⇒eSkNormal
Lines new List<ModelClasses⇒Line>()
for each GoodsItem, add new ModelClasses⇒Line
GoodsTypeKey1GoodsItem⇒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())
ItemNoi
Referencesnew List<ModelClasses⇒Reference>()
Referencesnew List<ModelClasses⇒Reference>()⇒Add(new ModelClasses⇒Reference())
KindModelClasses⇒ReferenceKind⇒eSrkContents
ValueGoodsItem⇒GoodsCategory
Width(int)(GoodsItem⇒Width * 1000)
Messagesnew List<ModelClasses⇒Message>()⇒Add(new ModelClasses⇒Message())
KindModelClasses⇒ShipmentMessageKind⇒eSmkDriver if not string⇒IsNullOrWhiteSpace(OrderInfo⇒DeliveryInstruction)
TextOrderInfo⇒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
Referencesnew 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.