
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
Ongoing WMS field name | PrestaShop field name |
---|---|
ArticleDefinition ⇒ ArticleNumber | (combination? ⇒ reference) ?? (Product ⇒ reference) * |
ArticleDefinition ⇒ ArticleName | Product ⇒ name ⇒ language ⇒ Value |
ArticleDefinition ⇒ BarCode | (combination? ⇒ ean13) ?? (Product ⇒ ean13) * |
ArticleDefinition ⇒ Height | Product ⇒ height |
ArticleDefinition ⇒ Length | Product ⇒ depth |
ArticleDefinition ⇒ Width | Product ⇒ width |
ArticleDefinition ⇒ Weight | (combination? ⇒ weight) ?? (Product ⇒ weight) * |
ArticleDefinition ⇒ Price | (combination? ⇒ price) ?? (Product ⇒ price) * |
ArticleDefinition ⇒ ProductCode | Product ⇒ 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
Ongoing WMS field name | PrestaShop field name |
---|---|
OrderInfo ⇒ GoodsOwnerOrderId | Order ⇒ id |
OrderInfo ⇒ GoodsOwnerOrderNumber | Order ⇒ id |
OrderInfo ⇒ ReferenceNumber | Order ⇒ reference |
OrderInfo ⇒ TermsOfPayment | Order ⇒ payment |
OrderInfo ⇒ DeliveryDate | Order ⇒ delivery_date |
OrderInfo ⇒ CustomerPrice | Order ⇒ total_paid |
OrderInfo ⇒ Order service point code | Order ⇒ order_service_point_code |
Customer ⇒ Name | Delivery ⇒ company + ", " + Delivery ⇒ firstname + " " + Delivery ⇒ lastname * |
Customer ⇒ Address | Delivery ⇒ address1 |
Customer ⇒ Address2 | Delivery ⇒ address2 |
Customer ⇒ PostCode | Delivery ⇒ postcode |
Customer ⇒ City | Delivery ⇒ city |
Customer ⇒ CountryCode | DeliveryCountryCode |
Customer ⇒ Email | Customer ⇒ email |
Customer ⇒ NotifyByEmail | true if Customer ⇒ email is not null or whitespace, else false |
Customer ⇒ MobilePhone | Delivery ⇒ phone_mobile |
Customer ⇒ NotifyBySMS | true if Delivery ⇒ phone_mobile is not null or whitespace, else false |
Customer ⇒ TelePhone | Delivery ⇒ phone |
Customer ⇒ InvoiceAddress ⇒ Address | Invoice ⇒ address1 |
Customer ⇒ InvoiceAddress ⇒ Address2 | Invoice ⇒ address2 |
Customer ⇒ InvoiceAddress ⇒ City | Invoice ⇒ city |
Customer ⇒ InvoiceAddress ⇒ CountryCode | Invoice ⇒ InvoiceCountryCode |
Customer ⇒ InvoiceAddress ⇒ Email | Invoice ⇒ email |
Customer ⇒ InvoiceAddress ⇒ MobilePhone | Invoice ⇒ phone_mobile |
Customer ⇒ InvoiceAddress ⇒ Name | Invoice ⇒ company + ", " + Invoice ⇒ firstname + " " + Invoice ⇒ lastname ** |
Customer ⇒ InvoiceAddress ⇒ PostCode | Invoice ⇒ postcode |
Customer ⇒ InvoiceAddress ⇒ TelePhone | Invoice ⇒ phone |
CustomerOrderLines ⇒ ArticleName | Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_name |
CustomerOrderLines ⇒ ArticleNumber | Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_reference |
CustomerOrderLines ⇒ ExternalOrderLineCode | Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ id |
CustomerOrderLines ⇒ LinePrice | (Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_price) * (orderLine ⇒ product_quantity) |
CustomerOrderLines ⇒ NumberOfItems | Order ⇒ associations ⇒ order_rows ⇒ order_row ⇒ product_quantity |
CustomerOrderLines ⇒ ProductCode | Order ⇒ 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.