Skip to content

RVDtech1/QB-V3-NET-SDK

Repository files navigation

SDK Banner

V3-DotNet-SDK

Logo

IDG .NET SDK for QuickBooks V3 (Class lib Project written in .NET Standard 2.0- Supports .Net Full Framework 4.6.1, 4.7.2 and .Net Core 2.1,.Net Core 2.2)

Support: Help
Documentation: User Guide Refer SDK class lib docs
License: Apache 2
Binaries: Nuget

The QuickBooks Online .NET SDK provides a set of .NET class libraries that make it easier to call QuickBooks Online APIs, and access to QuickBooks Online data. It supports .Net Core 2.1, .Net Core 2.2, .Net Full Framework 4.6.1 and 4.7.2. 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.
  • Support for both OAuth1 and OAuth2

Note: ->Oauth1 support has been removed from this SDK. Intuit.Ipp.Retry logic now have been moved to Intuit.Ipp.Core. So, if you see Retry not found issues while updating your code, just remove that Using Intuit.Ipp.Retry statement and add Using Intuit.Ipp.Core if not already present. ->If you are doing Migration from Oauth1 to Oauth2 using this SDK then please use 7.5.0 version from Nuget only as that is still using .Net 4.6.1 Full Framework and supports both Oauth1 and Oauth2.

Running Tests

Refer to the following steps to generate all the keys required to run tests using OAuth Playground-

  • Go to Developer Docs.

  • Create an app on our IDG platform for the QuickBooks Online v3 APIs.

  • For OAuth2 apps, you will get a set of Development keys, including client key and client secret. This can be used to get OAuth access token and refresh token for sandbox companies.

  • To get Prod app keys to get OAuth tokens for live companies: Go to your app->Settings tab-> enter all URLs and save. Then get the prod keys from Keys tab under Prod section.

  • To get OAuth access tokens, go to your app's dashboard, Click Oauth Playground

    • For OAuth2 apps, select the desired app and make sure the OAuth playground redirect_uri is present under Keys tab and go through the OAuth authorization flow to get access and refresh tokens along with the realmid to make API calls for QuickBooks company.
      • Access tokens are valid for 1 hour which can be refreshed using refesh token. When you request a fresh access token, always use the refresh token returned in the most recent refreshing access token API response. A refresh token expires 24 hours after you receive it. More info can be found at: Refreshing the access token

      • To 'renew tokens', you can call Reconnect api after 150 days or do Connect to Quickbooks after 180 days to get new tokens.

  • NOTE: For sandbox testing, you need to use dev app keys and sandbox base URL. For live/prod QuickBooks company testing, use prod app keys and prod base URL after doing a private publish as mentioned below. Go to your app->Prod tab-> enter all URLs and save. Then get the prod keys from Keys tab under Prod tab of the app. Please refer-

  • Blog 1

  • Blog 2

  • Unit Tests

    • Add all app keys in the [Appsettings.json] and run tests
  • Integration Tests

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 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-DotNET-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 appsettings.json

Thank you for your contribution!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages