
Integration between Ongoing WMS and Abicart / Textalk
Table of contents
Introduction
Abicart is the largest provider of e-commerce solutions in Sweden, used by over 3900 shops. In some markets it is also known as Textalk. Their goal is to provide access to e-Commerce tools that make it easier for your customers to shop online. They also want to simplify the everyday life of shopkeepers by providing tools that facilitates ongoing administration. For more information about Abicart, see their website or Webshop API.Features
Article registry
Ongoing WMS pulls article registry updates from Abicart. Abicart contains the master data.
Field mapping
Ongoing WMS field name | Abicart field name |
---|---|
ArticleDefinition ⇒ BarCode | (Variant ⇒ overrides ⇒ ean) or (BaseArticle ⇒ ean) * |
ArticleDefinition ⇒ Weight | (Variant ⇒ overrides ⇒ weight)/1000 or (BaseArticle ⇒ weight)/1000 * |
ArticleDefinition ⇒ ArticleNumber | (Variant ⇒ overrides ⇒ articleNumber) or (BaseArticle ⇒ articleNumber) * |
ArticleDefinition ⇒ IsStockArticle | true if (BaseArticle ⇒ stock ⇒ useStock) is true, else false |
ArticleDefinition ⇒ ProductCode | (Variant ⇒ uid) or (BaseArticle ⇒ uid) * |
ArticleDefinition ⇒ ArticleName | (BaseArticle ⇒ name) or (BaseArticle ⇒ name + ", " + ArticleChoiceOption ⇒ name) ** |
ArticleDefinition ⇒ ArticleUnitCode | (BaseArticle ⇒ overrides ⇒ unit) or (Article ⇒ unit) ** |
* Depends on if the article has a variant.
** Depends on if the article has a variant and on language settings.
Orders
Ongoing WMS automatically reads orders from the web shop. When orders are fulfilled, the WMS creates a shipment in Abicart and marks it as shipped. Also any payments will be captured.
Field mapping
Ongoing WMS field name | Abicart field name |
---|---|
OrderInfo ⇒ OrderRemark | Order ⇒ note |
OrderInfo ⇒ SalesCode | if (Order ⇒ customer ⇒ info ⇒ type == "business"): (Order ⇒ customer ⇒ name), else: null |
OrderInfo ⇒ WayOfDeliveryType ⇒ Code | deliveryMethod ⇒ Uid |
OrderInfo ⇒ WayOfDeliveryType ⇒ name | deliveryMethod ⇒ name * |
OrderInfo ⇒ ReferenceNumber | null |
Customer ⇒ IsVisible | true |
Customer ⇒ CustomerNumber | Order ⇒ customer ⇒ deliveryAddress ⇒ name |
Customer ⇒ Email | Order ⇒ customer ⇒ info ⇒ email |
Customer ⇒ MobilePhone | (Order ⇒ customer ⇒ deliveryAddress ⇒ phoneMobile) ** |
Customer ⇒ TelePhone | (Order ⇒ customer ⇒ deliveryAddress ⇒ phoneDay) *** |
Customer ⇒ NotifyBySMS | Order ⇒ if (OrderInfo ⇒ MobilePhone is not null or empty): true, else: false |
Customer ⇒ Name | if (Order ⇒ customer ⇒ info ⇒ type == "business"): (Order ⇒ customer ⇒ address ⇒ company), else: (Order ⇒ customer ⇒ deliveryAddress ⇒ name) |
Customer ⇒ Address | Order ⇒ customer ⇒ deliveryAddress ⇒ address |
Customer ⇒ Address2 | Order ⇒ customer ⇒ deliveryAddress ⇒ address2 |
Customer ⇒ PostCode | Order ⇒ customer ⇒ deliveryAddress ⇒ postCode |
Customer ⇒ City | Order ⇒ customer ⇒ deliveryAddress ⇒ town |
Customer ⇒ CountryStateCode | Order ⇒ customer ⇒ deliveryAddress ⇒ state |
Customer ⇒ CountryCode | Order ⇒ customer ⇒ deliveryAddress ⇒ country |
Customer ⇒ NotifyByEmail | if (OrderInfo ⇒ Customer ⇒ NotifyBySMS is false) and (OrderInfo ⇒ Customer ⇒ info ⇒ email is not null or empty): true |
CustomerOrderLine ⇒ ArticleNumber | OrderItem ⇒ articleNumber |
CustomerOrderLine ⇒ ProductCode | OrderItem ⇒ article |
CustomerOrderLine ⇒ ExternalOrderLineCode | OrderItem ⇒ uid |
CustomerOrderLine ⇒ NumberOfItems | OrderItem ⇒ choices["quantity"] |
CustomerOrderLine ⇒ LinePrice | (OrderItem ⇒ costs ⇒ total ⇒ exVat) - (OrderItem ⇒ discountInfo ⇒ exVat) |
CustomerOrderLine ⇒ CustomerLinePrice | (OrderItem ⇒ costs ⇒ total ⇒ incVat) - (OrderItem ⇒ discountInfo ⇒ incVat) |
CustomerOrderLine ⇒ CurrencyCode | OrderItem ⇒ costs ⇒ total ⇒ currency |
CustomerOrderLine ⇒ OrderLineArticleItemStatus | null |
CustomerOrderLine ⇒ DoPick | if (OrderItem ⇒ choices contains "quantity"): true, else: false |
* Depends on language settings.
** First non null of (Order ⇒ customer ⇒ deliveryAddress ⇒ phoneMobile), (Order ⇒ customer ⇒ address ⇒ phoneMobile), (Order ⇒ customer ⇒ address ⇒ phoneDay) or (Order ⇒ customer ⇒ address ⇒ phoneNight). If all are null: empty string.
*** First non null of (Order ⇒ customer ⇒ deliveryAddress ⇒ phoneDay), (Order ⇒ customer ⇒ deliveryAddress ⇒ phoneNight), (Order ⇒ customer ⇒ address ⇒ phoneDay) or (Order ⇒ customer ⇒ address ⇒ phoneNight). If all are null: empty string.
Stock balance
Stock balance is sent from Ongoing WMS to the web shop.
Default settings and considerations
The integration provides default settings which are suitable in most cases. However, there are some possibilities for customization.
-
Synchronization interval.
Default: Every 15 minutes. It is usually a suitable balance between responsiveness and band-width usage. -
Do you have any variant of your articles without unique article numbers? For example, colors, sizes, packaging.
Default: No. -
When should an order in Abicart be transferred to Ongoing WMS?
Default: No filter. It is possible to filter on delivery status and/or payment status. -
Should orders be reported to Abicart as partly delivered when partly delivered in Ongoing WMS (only available in Abicart PLUS)?
Default: No.
Preparations
For us at Ongoing WMS to implement the Abicart integration we need the following operations to be performed by you.
Communication interface
This is already prepared in Abicart BAS and PLUS, but needs to be activated. To activate this, send an email to support@abicart.se, attach your shop ID and ask them to activate the function "Integration med eget system".
API information
When the interface for communication is activated you need to retrieve the information Ongoing WMS needs. The needed information is listed below:
- Shop ID
- API key
Please see this guide on how to set up an integration between Abicart and your Ongoing WMS.