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
Windward Data Gateway is Windwards side of the integration. It pulls updates from System Five and stages them into nsc prefixed tables noted below in the Pervasive DSN for the dataset. Given that the "Export to Ecommerce" flag is enabled for the item. Note that no aspect of our Azure based Ecomm Staging is used for WebSell; its functionality is all on prem for our side.
Windward Data Gateway 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 from these tables will then be available for WebSell Sync to pull.
Content | Table Name | Uses Delta Date |
Stock Quantity | nscInventoryStockQty | Yes |
Images | nscInventoryImages | Yes |
Customers | nscCustomers | Yes |
Customer Free Forms | nscCustomerFreeForms | No |
Web Comments | nscInventoryWebComments | Yes |
Inventory Prices | nscInventoryPrices | Yes, via Inventory Delta |
Inventory Lookup Words | nscInventoryLookupWords | Yes |
Inventory Free Forms | nscInventoryFreeForms | Yes |
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 WindwardDataGateway service with the WebSell feature enabled. 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 Windward Data Gateway
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 Ecomm 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? The Windward Data gateway tools (localhost:9934, or servername:9934) have an Explorer which allows you to browse the S5 data we have Staged for WebSell to confirm if the issue is on our end, or theirs.
Here's how you can investigate ARTICLE