Overview

This article will explain how the WebSell integration works and how new updates get pulled by the WebSell Sync utility.  WebSell is a Volaris-owned company and part of our same Microsoft Teams tenant so it makes direct messaging with their team easier.  

  • Ask Kevin or Lois if you want access to their ticketing portal https://portal.websell.io/login/
  • US Sales Contact:  Mike Rosa mike.rosa@websell.io
  • Polish Developer Manager:  Maciej Torbus (Pronounced Match-ay) maciej.torbus@websell.io


WebSellDataGateway is Windward's side of the integration. It pulls updates from SystemFive and pushes them into Staging. Given that the "Export to Ecommerce" flag is enabled for the item.


WebSellDataGateway is configured to send updates every 60 minutes to staging, not all but most. This is to ensure that everything gets synced or pushed to the staging without causing any conflict. When this is done, updates will then be available for WebSell Sync to pull.


WebSell Sync is WebSell's side of the integration. It pulls records from Staging and pushes them to the customer's website. 


Staging?

Staging is a new set of tables created when you first start the WebSellDataGateway service. It is located inside the DSN Name > Tables. 


An example for this table is "ncsInventoryImages" for images. All tables that begin with "ncs" are for websell staging. You can go directly to the tables and investigate or you can follow the article below for the investigation steps.


DataGateway Configuration

}
"ServerName": "SERVERNAME",
"DSN": "DSNNAME",
"PriceDepartment": 0,
"TargetCurrency": 0,
"SyncInterval": 5,
"SyncOrders": 15,
"SyncInventoryPrices": 60,
"SyncStockQty": 15,
"SyncInventoryLookupWords": 60,
"SyncInventoryFreeForms": 60,
"SyncCustomers": 60,
"SyncCustomerFreeForms": 60,
"SyncImages": 60,
"SyncWebComments": 60,
"ExcludeMarkedDeleted": true,
"KitTypes": [
0,
23
],
"PriceLevels": []
}


These are the config settings that 1.2.0.13+ supports; most aren't present in the default JSON config file but can be added as desired. see Updating WebSellDataGateway


The SyncInterval is how often the service checks to see if any syncs need to be run.


On older versions, every sync ran after the SyncInterval, but that was causing a lot of CPU and memory load on the server so interval logic was added and set up to match the frequency we use in Staging. Note that a run interval value of less than 5 turns off that Sync entirely.


So if we don't want to sync something at all, set the value to 0 to skip the sync.


An empty PriceLevels array means to pull all price levels.  We had a client with a ton of price levels causing a large slowdown and then only really wanted one or 2 of them so populating that with the price level numbers restricts the sync to just those records. i.e. "PriceLevels": [4, 5] for just price levels records for 4 and 5 being pushed (price level 0 (List) is always pushed no matter what as we need List to do price calculations).



When presented with Sync problems, i.e. Prices, Pictures, etc,  you must identify where the problem occurs. Windward side or WebSell side?


Here's how you can investigate ARTICLE