Integration between Ongoing WMS and ShippyPro
ShippyPro is a complete shipping hub for eCommerce. ShippyPro provide solutions for creating shipping labels, track packages and manage returns.
Features
Make transport bookings directly from Ongoing WMS
You can create a shipment in ShippyPro based on an order in Ongoing WMS. All information about the shipment (address, number of packages etc.) can be entered into Ongoing WMS, and then transferred to ShippyPro at the click of a button.
Make shipment information visible in Ongoing WMS
When the shipment in ShippyPro has been booked, Ongoing WMS will receive a response from ShippyPro. The response contains tracking information and shipping documents.
Printing
Printing of shipping labels and other documents can be carried out by Ongoing WMS automatically.
Transporters and services
It is possible to see all available transporters and services in Ongoing WMS. It is also possible to install them on demand without any need to find out corresponding codes.
Default setup
The order is sent to ShippyPro when the Send button is pressed in Ongoing WMS.
If the shipment validates, tracking information and shipping documents will be returned to Ongoing WMS immediately.
Getting started
The following data is required to set up an integration with ShippyPro:
- API Key
After you have gathered this information, please see this guide on how to set up an integration between Ongoing WMS and Shippypro.
Note: We recommend that you have access to ShippyPro's Premium API. That is required to be able to use "Import transporter companies". If you do not have access to the Premium API, then you will need to find out the carrier services and codes from ShippyPro some other way and then add them manually to Ongoing WMS. Please discuss this with your contact person at Ongoing.
Mapping
ShippyPro Shipment - Ongoing WMS Order
ShippyPro | Ongoing WMS | |
---|---|---|
ToAddress | new Entities⇒Address | |
Name | OrderInfo⇒SalesCode if not null, else Consignee⇒Name | |
Company | Consignee⇒Name if OrderInfo⇒SalesCode is not null, else "" | |
Street1 | Consignee⇒Address or "" | |
Street2 | Consignee⇒Address2 or "" | |
City | Consignee⇒City | |
State | Consignee⇒CountryStateCode or "" | |
Zip | Consignee⇒PostCode or "" | |
Country | Consignee⇒CountryCode or "" | |
Phone | Consignee⇒MobilePhone if not null, else Consignee⇒TelePhone | |
Consignee⇒Email | ||
FromAddress | new Entities⇒Address | |
Name | GoodsOwnerInfo⇒GoodsOwnerAddressName or "" | |
Company | "" | |
Street1 | GoodsOwnerInfo⇒Address or "" | |
Street2 | GoodsOwnerInfo⇒Address2 or "" | |
City | GoodsOwnerInfo⇒City | |
State | "" | |
Zip | GoodsOwnerInfo⇒PostCode or "" | |
Country | new Countries⇒GetRowById(GoodsOwnerInfo⇒CountryId)⇒CountryCode or "" | |
Phone | GoodsOwnerInfo⇒MobilePhone if not null, else GoodsOwnerInfo⇒TelePhone | |
GoodsOwnerInfo⇒Email | ||
Parcels | new Entities⇒Parcel | |
Length | GoodsItem⇒Length * 100 | |
Width | GoodsItem⇒Width * 100 | |
Height | GoodsItem⇒Height * 100 | |
Weight | GoodsItem⇒Weight * 100 | |
TotalValue |
"{value:0.00} {currencyCode}", where value = PickedOrderLines⇒Sum(PickOrderLine⇒RowPrice or PickOrderLine⇒LinePrice or PickOrderLine⇒Article.Price * PickOrderLine⇒PickedNumberOfItems or 0), currencyCode = Order.PickedOrderLines.FirstOrDefault(PickedOrderLine.CurrencyCode) or "SEK" |
|
TransactionID | OrderInfo⇒OrderId⇒ToString() | |
ContentDescription | GoodsItems⇒FirstOrDefault()?⇒GoodsCategory or "" | |
Insurance | 0 | |
InsuranceCurrency | "EUR" | |
CashOnDelivery | 0 | |
CashOnDeliveryCurrency | "EUR" | |
CashOnDeliveryType | 0 | |
CarrierName | Transporter⇒Code | |
CarrierService | Transporter⇒ServiceCode⇒Split(':')[0] | |
CarrierID | Transporter⇒ServiceCode⇒Split(':')[1] | |
OrderID | "" | |
RateID | "" | |
Inconterm | "DAP" | |
BillAccountNumber | "" | |
PaymentMethod | "" | |
Note | Transporter⇒Code | |
Async | false |