Premise

Updating thousands of products by hand is not possible. Espacially when you have to update them every week. The CMS on which this shop is located is called Smartweb, they allow you to export and import xml’s of products. Using these exports I created a Python script that updates the products according to the wholesaler file. But unfortunately this kind of updates requires some manual steps: downloading the wholesaler file, exporting the products, running the script and then importing the updated file. A couple of weeks later I was informed that Smartweb has an API that allows updating products in the store.

Development

The API is based on SOAP, and unfortunately doesn’t have its own Java module. Because of that I had to use the built-in javax.xml.soap library, and by trail and error get the API to work.

Downloading the wholesaler file is nothing else than getting the InputStream from an URLConnection and mapping the downloaded file columns to the corresponding product fields.

All of the the UI was made using TornadoFX

I made the application in such a way that adding a new wholesaler only requires to provide a way to download the new wholesaler file and some minor UI changes for adding a new tab.