The Accounting API is split into two main areas: 1) read-only access of resources pertinent to accounting needs, and 2) action that can be taken to link, configure, and maintain an accounting integration between MINDBODY and a third party.
These read-only, RESTful endpoints utilize the OData protocol to expose accounting resources with enhanced querying capability. You can visit the official OData website to learn more, but the basic idea is that you're able to drive which data is returned via simple query string parameters. Given a complex resource with navigation properties, you can choose to select out only those properties you're interested in, or conversely, expand out the properties you need to access. Simple filters can be included to ensure that the payload contains the data you need. Paging can also be accomplished easily, using the provided HATEOAS-style links that enable you to query the next page of results.
Our main goal in implementing the OData protocol is to ensure scalability on both sides of the request. The built-in paging that OData provides makes each server invocation more lightweight while still providing an easy-to-use system. In addition, you can tailor the payloads to your specific needs, ensuring that the data transfer time is not too long.
Things to keep in mind:
Information that defines a subscriber's accounting setup lives in Configuration. This includes Tax Rates, Revenue Categories, Payment Methods, and Products.
Completed sales that can be queried for accounting purposes.
A historical log of all attempts made to sync data with an accounting partner, including information about time, status, and data synced.
Integration actions are driven by the state of the integration (View the EIntegrationStatus Contract). It works like a state machine, as shown in the following diagram:
The following endpoints are all the actions that can be taken to either discover and validate a current state, or attempt to transition from one state to another: