PrestaShop logo

Integration between Ongoing WMS and PrestaShop

Table of contents

Introduction

PrestaShop is one of the world's most popular ecommerce platforms. With the integration to PrestaShop a fulfillment provider can connect their customer's platform and seamlessly perform the logistics tasks in Ongoing WMS.

Features

Article Registry

Ongoing WMS pulls article registry updates from PrestaShop to the WMS. PrestaShop contains the master data.

Field mapping

Show field mapping

Ongoing WMS field name PrestaShop field name
ArticleDefinition ⇒ ArticleNumber(combination? ⇒ reference) ?? (Product ⇒ reference) *
ArticleDefinition ⇒ ArticleNameProduct ⇒ name ⇒ language ⇒ Value
ArticleDefinition ⇒ BarCode(combination? ⇒ ean13) ?? (Product ⇒ ean13) *
ArticleDefinition ⇒ HeightProduct ⇒ height
ArticleDefinition ⇒ LengthProduct ⇒ depth
ArticleDefinition ⇒ WidthProduct ⇒ width
ArticleDefinition ⇒ Weight(combination? ⇒ weight) ?? (Product ⇒ weight) *
ArticleDefinition ⇒ Price(combination? ⇒ price) ?? (Product ⇒ price) *
ArticleDefinition ⇒ ProductCodeProduct ⇒ id + "-" + combination ⇒ id **
ArticleDefinition ⇒ PurchasePrice(combination? ⇒ wholesale_price) ?? (Product ⇒ wholesale_price) *

* First non null value

** Only (Product ⇒ id) if combination is null

Orders

The WMS downloads new and updated orders which are not yet handled. If an order is updated, the change is transferred unless the warehouse workers have started working on it. When orders are fulfilled, the WMS marks the order as completed (A history row are added to Prestashop and the current status is changed.).

Field mapping

Show field mapping

Ongoing WMS field name PrestaShop field name
OrderInfo ⇒ GoodsOwnerOrderIdOrder ⇒ id
OrderInfo ⇒ GoodsOwnerOrderNumberOrder ⇒ id
OrderInfo ⇒ ReferenceNumberOrder ⇒ reference
OrderInfo ⇒ TermsOfPaymentOrder ⇒ payment
OrderInfo ⇒ DeliveryDateOrder ⇒ delivery_date
OrderInfo ⇒ CustomerPriceOrder ⇒ total_paid
OrderInfo ⇒ Order service point codeOrder ⇒ order_service_point_code
Customer ⇒ NameDelivery ⇒ company + ", " + Delivery ⇒ firstname + " " + Delivery ⇒ lastname *
Customer ⇒ AddressDelivery ⇒ address1
Customer ⇒ Address2Delivery ⇒ address2
Customer ⇒ PostCodeDelivery ⇒ postcode
Customer ⇒ CityDelivery ⇒ city
Customer ⇒ CountryCodeDeliveryCountryCode
Customer ⇒ EmailCustomer ⇒ email
Customer ⇒ NotifyByEmailtrue if Customer ⇒ email is not null or whitespace, else false
Customer ⇒ MobilePhoneDelivery ⇒ phone_mobile
Customer ⇒ NotifyBySMStrue if Delivery ⇒ phone_mobile is not null or whitespace, else false
Customer ⇒ TelePhoneDelivery ⇒ phone
Customer ⇒ InvoiceAddress ⇒ AddressInvoice ⇒ address1
Customer ⇒ InvoiceAddress ⇒ Address2Invoice ⇒ address2
Customer ⇒ InvoiceAddress ⇒ CityInvoice ⇒ city
Customer ⇒ InvoiceAddress ⇒ CountryCodeInvoice ⇒ InvoiceCountryCode
Customer ⇒ InvoiceAddress ⇒ EmailInvoice ⇒ email
Customer ⇒ InvoiceAddress ⇒ MobilePhoneInvoice ⇒ phone_mobile
Customer ⇒ InvoiceAddress ⇒ NameInvoice ⇒ company + ", " + Invoice ⇒ firstname + " " + Invoice ⇒ lastname **
Customer ⇒ InvoiceAddress ⇒ PostCodeInvoice ⇒ postcode
Customer ⇒ InvoiceAddress ⇒ TelePhoneInvoice ⇒ phone
CustomerOrderLines ⇒ ArticleNameOrder ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_name
CustomerOrderLines ⇒ ArticleNumberOrder ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_reference
CustomerOrderLines ⇒ ExternalOrderLineCodeOrder ⇒ associations ⇒ order_rows ⇒ order_row ⇒ id
CustomerOrderLines ⇒ LinePrice(Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_price) * (orderLine ⇒ product_quantity)
CustomerOrderLines ⇒ NumberOfItemsOrder ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_quantity
CustomerOrderLines ⇒ ProductCodeOrder ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_id + "-" + Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_attribute_id ***

* Only (Delivery ⇒ firstname + " " + Delivery ⇒ lastname) if (Invoice ⇒ company) is null or whitespace

** Only (Invoice ⇒ firstname + " " + Invoice ⇒ lastname) if (Invoice ⇒ company) is null or whitespace

*** Only (Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_id) if
((Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_attribute_id) is null or whitespace or if (orderLine ⇒ product_attribute_id) == "0")

Stock Balance

Stock balance is sent from Ongoing WMS to PrestaShop. The WMS should be master data when it comes to available stock. This is especially important if you sell across multiple channels.

Preparations

To be able to set up the integration, you will need to generate an API key in PrestaShop. You will also have to supply the URL to the shop. Please give the API user read/write permissions for everything.

Please see this guide on how to set up an integration between PrestaShop and your Ongoing WMS.

Technical Details

The integration uses PrestaShop's web service.