Build a Connector
Less than to read
Many companies use customized financial or accounting systems that are specifically tailored to their needs. You can link your company’s custom architecture to the Sage Network using a connector. You can download Sage Network’s example connector code, or build your own using this tutorial.
Most financial and accounting systems have methods of exporting data, whether via an SQL connection or exported data files. Here’s how Your first task is to identify how to access export data
- Identify which connector data models you wish to export to the Sage Network
- Export this data to a standardized file format such as XML, Excel, CSV, or JSON.
- Choose one of the Sage Network SDKs in a language convenient for your software developers.
- Using the SDK, select the Sage Network data objects you intend to support, such as CompanySyncModel, ContactSyncModel, InvoiceSyncModel, PaymentSyncModel, or others.
- Create a map between your own data fields and the data fields in the Sage Network API format.
- Call the Create Batch Import API using the Lockstep data models you converted.
Sage Network provides an example connector application written in C# for your use. This program is available under the MIT License and can be freely used and redistributed.
Here’s how the example connector works:
- The FileDownloader.cs file demonstrates the ability to retrieve XML files from a SSH FTP site.
- The ModelConverter.cs file loads data in as XmlDocument objects and provides a placeholder function for converting between source and destination formats.
- The BatchSubmitter.cs file writes all records to a CSV file, then merges all data into a ZIP file and submits it to the Upload Sync File API.
- Once the file has been uploaded, Sage Network will inspect each record to determine whether any records are new, have changed, or are unchanged. The Sage Network API will then apply changes only to those records that are new or have been updated.
- Finally, the code demonstrates how to check on the status of a sync request using Retrieve Sync.