Table of Contents

Overview - Hosted

Version 2.1

February 2017

Summary

The Reckon Accounts Hosted API is often misunderstood by our developer partners, so we wanted to take the time to explain what it is, and more importantly, what it isn't, so you can hit the ground running.

 In its most basic sense the Hosted API is essentially the Reckon Accounts desktop SDK wrapped in a RESTful API. For that reason the API does not and will not act like a RESTful API in terms of response time as the round trip includes more contact points, as well as calling the desktop API and awaiting a response. That said, once a developer understands this you can model your approach accordingly.

 

Another way to look at it...

 

 

More Detail

Overview

The Reckon Accounts Hosted API functions in a way that may seem a bit different to a typical web based API system. This is due to the fact that the application behind the scenes remains a Windows application and has a specific API already attributed to it that if you have worked in the past on the desktop version, you would be quite familiar with. There is however a few things to note about the Reckon Accounts Hosted API and the authentication systems Reckon uses to allow data transfers.

  • The Reckon Accounts Hosted API uses Oauth 2.0 for authentication and by default you will be setup with the Authorization Code flow. Reckon API also supports the implicit flow. If you wish to use this flow instead, please email API support requesting this change. Using these flows ensures that you do not need to store the Hosted username and password in your application and instead relies on security tokens from our server for access.
  • The Reckon Accounts Hosted routes data via Microsoft Azure. Reckon makes no guarantee that the Azure environment will be available 24/7. For Azure status updates please visit this URL http://azure.microsoft.com/en-us/status/. Note that our API app is hosted on Australia – East and Australia – Southeast

 

First Steps

Your first steps to integrating with Reckon Accounts Hosted is to determine your current knowledge of the Reckon Accounts Desktop API.

  • If you have never integrated with Reckon Accounts before you will need to obtain the Reckon Accounts Desktop API and become familiar with that before developing to the Hosted API
  • If you have already integrated with the Reckon Accounts Desktop product (or in some cases the QuickBooks® Desktop product) you may be in a position to begin work with the Hosted API right away

For more details about the Reckon Accounts desktop SDK go to the desktop overview page. 

Suggested Development Pathway

As the Accounts Hosted API is quite unique, we suggest that your approach be measured and considered. Think about your application, and what data it needs to pass to and from an accounting application, and whether this data is required in real time, or upon sync (user requested, daily, weekly for example).

 

As we have mentioned, the Reckon Accounts Hosted API functions a little bit differently to that of a typical API and to deal with this there is some suggested methods for integration. The best approach is to post data in bulk periodically. The Reckon Accounts Hosted API supports sending multiple transactions within the one payload (the transactions do not need to be of the same type). This is also the preferred method for desktop integrations. 

Examples

Application Type

Data Synchronised

Sync Period

Suggested Approach

Desktop  (eg POS)

Customers, Items, Tax codes, Daily sales

Daily (open and close)

Accounts Hosted API direct to connected application via web connector. Posting in bulk is again recommended if the user is going to be posting multiple transactions within a short period of time

eCommerce

Customers, Customer balances, Items, Item quantity on hand

Real-time

Accounts Hosted API to middleware datastore to connected application with interval polling. Posting transactions such as invoices back to the Hosted API should also be done in a bulk format

Mobile App

Customers, Customer balances, Items, Item quantity on hand

Real-time

Accounts Hosted API to middleware datastore to connected application with interval polling

Due to the significant part the Reckon Accounts Desktop API plays in the Hosted API integration, if you have never integrated with Reckon Accounts Desktop (or QuickBooks® desktop) before, this is the suggested pathway for development

  1. Obtain the Reckon Accounts Desktop API from us
  2. Request a Reckon Accounts Enterprise IKC and install a local copy ** Enterprise data (company files) are interchangeable with Hosted.
  3. Build a small test app that integrates with Reckon Accounts Desktop. This will allow you to test your API calls with qbXML as well as ensure that you are sending the correct data before adding the additional requirements of the Hosted API.
  4. Once you are comfortable with the Desktop API then you should proceed to begin working with the Hosted API.

 

For any application that requires continuous access to the Accounts Hosted database we suggest polling this data from a datastore, and connecting this datastore to your application. This will greatly reduce the roundtrip and ensure the accounting database is not overburdened by continuous API calls, as this is not how the desktop SDK was designed to function.

 

A high percentage of our support tickets for the Accounts Hosted API are for failed calls due to improperly formed qbXML / QBFC data calls to the Accounts Hosted database (aka Company File). We cannot stress enough to thoroughly test your integration with Reckon Accounts Desktop first before moving to Accounts Hosted. It is the same SDK in terms of passing and retrieving data to the database, so you won't be re-coding for Accounts Hosted, just adding the RESTful API components. This approach also gives you an indication of the call response time via the SDK without the API involved. 

 

Next

Once you are an SDK master you need to begin the authorisation process. If you have developed web apps with APIs before you will have come across this already (eg. Oauth1, Oauth2), however if you only live in desktop world (until now) you might find this a step learning curve. 

The process is essentially (assume 'Authorization Code' grant type):

  1. Retrieve an Access Token using ClientID and Secret
  2. Use Access Token in Header to Authorise the Hosted API in the company (QBW file)
  3. Use access token to POST / GET data to and from the company file

As we use the same auth service for both Reckon One and Reckon Accounts Hosted you'll find information of grant types and access / refresh tokens HERE. To authorise the API in the Reckon Accounts Hosted company file, see HERE

You are then all set to start using the qbXML schema in your calls. You'll find examples of these in or FAQ section.

How did we do?

Authentication - Hosted API

Related Articles

Powered by HelpDocs (opens in a new tab)

Powered by HelpDocs (opens in a new tab)