Overview
Getting data out of desktop software and exposing it through an API is a different process to proxying requests to online systems. To facilitate this we've developed a desktop application, called the Connector, that runs in the system tray and talks to Sage on your behalf.
Installation
The Connector is acquired through the Microsoft Store. This allows us to keep it up to date without any action needed on behalf of your customers. Your users will be prompted to install the Connector as part of the OAuth flow.
Configuration
Your users will initiate the OAuth flow within your application, just as if they were authorising an online system. They will be taken to one of our pages which will guide them through the installation and configuration of the desktop software. Once the software is installed, clicking the button on our website will perform a token exchange with the desktop process. The user will be prompted for the location of their Sage dataset and credentials, and once those have been tested the sync process will start. The user will then be redirected back to you to complete the OAuth process. The data should then be ready for you to access through the API after a few minutes.
Sync Schedule
The Connector will check in with our servers periodically, and upload a new set of data every day. In order for this to happen the computer needs to be running, connected to the internet, and the software needs to be running. The first time your customer runs the software they will be prompted to allow it to auto-start on logon, and close down to the system tray (so that it continue to run in the background). If the computer misses a scheduled check in then it will perform a sync at the next possible opportunity.
Subscribing to Webhooks will allow you to be notified when new data is available.
Manual Syncing
The customer is able to force a sync from within the Connector itself. This can be useful if, for example, they've just completed an invoicing run and want to use your application with the freshest data.
Troubleshooting
My transactions look different
Sage is quite flexible in enforcing rules on transactions. In order to make the data easier to work with we sometimes have to make adjustments, such as splitting them into multiple transactions. This will not cause the numbers to differ.
My data isn't updating
There are a few things to check if the data is not updating
My customer has moved their data
There are a couple of different scenarios which can result in the user having moved their data. The first is that the customer has upgraded Sage and chosen the option to move their data when it has been upgraded. The second is that the user has gone from a single-user system to a multi-user system so now their data is located on a network share.