Search code examples
phpapioauthintuit-partner-platform

Does intuit's IPP API have two-way authentication?


I have been reading through Intuit's new IPP Federated App documentation. I am trying to create a way for users, that are Quickbooks online members, to log-in to quickbooks inside my external web application. Intuit uses OAuth, and I have integrated twitter and linkedin using the same. Both of these are two-way APIs, but I am not sure if IPP is as well.

My issue is that the documentation seems to be written to the perspective of a developer creating a quickbooks add on, and not somebody try to access quickbooks data externally.

Is what I am trying to do even possible?

Thanks in advance for your help!


Solution

  • To get any meaningful answers, you're going to need to explain a bit more about what you're trying to do. In particular, your want to do this makes no sense:

    to log-in to quickbooks inside my external web application

    Do you mean you want to put QuickBooks Online within an iFrame in your application? You will definitely not get through Intuit's technical check if that's what you're trying to do.

    With that said, it is possible to both read and write data (among many other things) from and to QuickBooks Online, using IPP.

    Authentication to IPP is via OAuth OR via SAML (Intuit deprecated SAML).

    With OAuth, you get an OAuth token which you can then use to hit Intuit's XML REST APIs to add/update/delete/void/get/query for QuickBooks data that's stored in the cloud.

    With SAML, you get a SAML token which you can then use to hit Intuit's XML REST APIs to add/update/delete/void/get/query for QuickBooks data that's stored in the cloud.

    If you're using PHP (you tagged this question PHP, so I assume you are) then you should have a look at the QuickBooks PHP DevKit (disclaimer: I'm the developer): QuickBooks PHP DevKit

    It contains everything you need to get started- an OOP interface to all of the objects, a SAML gateway, OAuth components, examples, etc.

    The quick-start guide is the place to start: