Java SDK for QuickBooks REST API v3 services
Clone or download
Latest commit a93b72a Dec 13, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ipp-java-qbapihelper update version Dec 13, 2018
ipp-v3-java-data update version Dec 13, 2018
ipp-v3-java-devkit update version Dec 13, 2018
oauth2-platform-api update version Dec 13, 2018
views add PRS widget Apr 16, 2018
.gitignore Add useful ignore file. Nov 24, 2018
.travis.yml add travis Jan 30, 2017
LICENSE.txt Initial commit Jan 21, 2017
README.md update cid Apr 16, 2018
pom.xml update version Dec 13, 2018

README.md

SDK Banner

V3-JAVA-SDK

Help: Support, Samples
Documentation: User Guide, JavaDocs
Continuous Integration: Build Status
Maven: Data Devkit
License: Apache 2

Overview

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.

Project Structure

  • 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.

System Requirements

The SDK works on JDK 1.6 and above.

First Use Instructions

  1. Clone the GitHub repo to your computer.
  2. Import it to the IDE of your choice.

Testing the Code & Building Artifacts

To test the code locally, follow the steps below:

  1. cd to the project directory
  2. 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.

Release Notes

Refer to Java SDK Release Notes.

Contribute

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.

The 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:

  1. Fork this repository into your account on GitHub.
  2. Clone your forked repository (not our original one) to your hard drive with git clone https://github.com/YOURUSERNAME/QuickBooks-V3-Java-SDK.git.
  3. Design and develop your changes.
  4. Add/update unit tests.
  5. Create a pull request for review to request merge.
  6. 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!