nShift logo

Integration between Ongoing WMS and nShift Ship (DeliveryHub)

nShift Ship 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 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.

Preparations

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

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

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

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.