Use Case #5. Regular POS
You have a standalone app that has own database with sales and articles and you want to have a central storage for your data to backup and syncronize the data between POS installations or exchange with 3rd party systems.
This case assumes either POS gets Article from the server, but also POS can optionally have own local changes (even made in offline!) and send those changes back to the server.
For POS written in Java it’s a native API to establish synchronization between the app and the server.
For other languages you will use JSON-REST API as described at Synchronization and Cashing article .
Or another alternative to implement synchronization is to take a look at sources of SynchronizationSample and translate it from Java to your language. Article Master-master sync in Java will help you a lot. At the bottom of this article you will find a guide for migration to another language. For non-strong-typed languages you might write less amount of code than at java’s SynchronizationSample, so you can adopt it as you believe is more optimal.
Also you might find .NET article kind of useful.
In order to get the data, POS must be authorized by providing an API key.