The QuickBooks Online Java SDK provides a set of Java class libraries that make it easier to call QuickBooks Online APIs, and access to QuickBooks Online data. Some of the features included in this SDK are:
- Ability to perform single and batch processing of CRUD operations on all QuickBooks Online entities.
- A common interface to the Request and Response Handler with two implemented classes to handle both synchronous and asynchronous requests.
- Support for both XML and JSON Request and Response formats.
- Ability to configure app settings in the configuration file requiring no additional code change.
- Support for Gzip and Deflate compression formats to improve performance of Service calls to QuickBooks Online.
- Retry policy constructors to help apps handle transient errors.
- Logging mechanisms for trace and request/response logging.
- Query Filters that enable you to write Intuit queries to retrieve QuickBooks Online entities whose properties meet a specified criteria.
- Queries for accessing QuickBooks Reports.
- Sparse Update to update writable properties specified in a request and leave the others unchanged.
- Change data that enables you to retrieve a list of entities modified during specified time points.
- ipp-v3-java-data - contains all entities and entity dependencies that are used in data services operations.
- ipp-v3-java-devkit - core component, contains REST API support.
- ipp-java-qbapihelper - contains QuickBooks Online API Helper methods for OAuth, Disconnect and Reconnect API.
- oauth2-platform-api - contains QuickBooks Online API Helper methods for obtaining OAuth2 tokens, Disconnect and Reconnect API for OAuth2 apps.
The SDK works on JDK 1.6 and above.
First Use Instructions
- Clone the GitHub repo to your computer.
- Import it to the IDE of your choice.
Testing the Code & Building Artifacts
To test the code locally, follow the steps below:
- cd to the project directory
- Run the command:
mvn install- this will run the unit test, build the project and generate data, devkit, qbapihelper(OAuth1.0a), oauth2-platform(OAuth2) jars
Note: To build out individual components such as ipp-v3-java-data.jar or ipp-v3-java-devkit.jar, remove parent dependency from the pom.xml of the respective projects and run maven install on the individual project folders.
Refer to Java SDK Release Notes.
We greatly encourage contributions! You can add new features, report and fix existing bugs, write docs and tutorials, or any of the above. Feel free to open issues and/or send pull requests.
master branch of this repository contains the latest stable release of the SDK, while snapshots are published to the
develop branch. In general, pull requests should be submitted against
develop by forking this repo into your account, developing and testing your changes, and creating pull requests to request merges. See the Contributing to a Project
article for more details about how to contribute.
Steps to contribute:
- Fork this repository into your account on GitHub.
- Clone your forked repository (not our original one) to your hard drive with
git clone https://github.com/YOURUSERNAME/QuickBooks-V3-Java-SDK.git.
- Design and develop your changes.
- Add/update unit tests.
- Create a pull request for review to request merge.
- Obtain approval before your changes can be merged.
Note: Before you submit the pull request, make sure to remove the keys and tokens from ippdevkit.properties that you might have added for testing.
Thank you for your contribution!