![]() |
![]() |
It is not limited to Flex. You can use IPP/IDS from any web application, as long as you federate your application (allow logins using SAML via workplace.intuit.com).
There are two “types” of IPP applications:
Yes. IPP is actually made of up two parts that both provide different sorts of data exchange.
That depends on what you mean by “interact”. Yes, you can exchange data with their QuickBooks data file. No, you can't do things like automatically open up a particular window within QuickBooks or something like that.
There are many open-source IPP DevKits on code.intuit.com that should be helpful.
You'll also need to implement a SAML gateway for authentication, and there is sample code for that as well: [SAML Gateways][2]
I'm the project admin for the QuickBooks PHP DevKit: [QuickBooks PHP DevKit][3]
There's a ton of additional information on the [code.intuit.com][4] website and tons of additional technical documentation on IPP/IDS with Federated applications on [developer.intuit.com][5].
[1]: https://code.intuit.com/sf/projects/ids_ecommerce_py [2]: https://code.intuit.com/sf/projects/ipp_fed_auth [3]: https://code.intuit.com/sf/projects/php_devkit [4]: https://code.intuit.com/sf/sfmain/do/home [5]: https://ipp.developer.intuit.com/ipp/federated
In Sync Manager branch 1.5 and beyond, there are a number of debug settings which can be set to change the runtime behavior of Sync Manager. These settings are read from SyncDebugSettings.xml, located alongside the Sync Manager logs. (i.e \\Documents and Settings\<localuser>\Local Settings\Application Data\intuit\SyncManager) That file does not initially exist and needs to be created if you want to enable any of the non-default settings.
Example of Writeback URL: <hostname>/sb/dataservices/writeback/WriteBackServiceBean where for production <hostname> = https://services.intuit.com
The format of the .xml and description of the different existing settings is as follows:
<SyncDebugSettings>
<WriteBack>
<SkipWriteBack>true</SkipWriteBack> <!-- should we skip writeback? -->
<VerboseLogging>true</VerboseLogging> <!-- turn on Verbose logging (logs incoming qbxml, qbsdk response, and outgoing xml response, among possibly other things in the future) -->
<RemoteClient>
<TargetWriteBackEnv>Production</TargetWriteBackEnv> <!-- Enum to select writeback env to point to in debug and relase mode. Choose from: DataDev1, DataDev2, Alpha, Stage, Production,DataQA1,DataQA2, PartnerInt1,PartnerInt2, QUINCYSTAGE -->
<QBXMLPath>c:\example\qbxml.xml</QBXMLPath> <!-- fully qualified path to qbxml to use with MockRemoteService class -->
<WebServiceURL>http:\\example.com</WebServiceURL> <!-- URL of webservice (if not default) -->
<SkipResponseAck>true</SkipResponseAck> <!-- should we skip sending reponse (simulate failure) -->
</RemoteClient>
<LocalClient>
<UseMockLocalClient>true</UseMockLocalClient> <!-- set to true to use MockLocalClient class in debug mode. -->
<SDKResponsePath>c:\example\sdkresponse.xml</SDKResponsePath> <!-- fully qualified path to skdresponse to use with MockLocalClient class -->
</LocalClient>
</WriteBack>
<Upload>
<Incremental>
<SkipIncremental>true</SkipIncremental> <!-- should we skip incremental? -->
</Incremental>
</Upload>
<Logging>
<EnableDebugLogging>true</EnableDebugLogging> <!-- Log the messages that are logged using Logger.LogDebugMessage(). -->
</Logging>
<Dataupload>
<!-- used for Venti: new Setup flow-->
<!-- Enum to select upload env to point to in debug and release mode.
Choose from: DataDev1, DataDev2, Alpha, Stage, Production,DataQA1,DataQA2, PartnerInt1,PartnerInt2, QUINCYSTAGE -->
<TargetDatauploadEnvironment>DataDev1</TargetDatauploadEnvironment>
</Dataupload>
<AssistanceCentral>
<!-- used for Venti: AssistanceCentral and supportability. Server 5.8 release onward.
Possible values: Dev/Stage. Don't configure this to point to production. -->
<TargetAssistanceCentralEnv>Dev</TargetAssistanceCentralEnv>
</AssistanceCentral>
</SyncDebugSettings>