intuit anywhere developer guidelines_v1.2
DESCRIPTION
TRANSCRIPT
Intuit AnywhereDeveloper Policies and Guidelines
Intuit Partner Platform
Intuit App Center
2.5 MillionREGISTERED USERS
400,000VISITS/WEEK
50,000APP LAUNCHES
How do we make a
great
user experience?
Provide customers with the best possible experience for subscribing to apps that connect with QuickBooks.
Provide developers with a concise reference to build and market seamless integrations with QuickBooks.
1Connecting
3Signing In/Out
4Disconnecting
2Widgets
1Connecting the App
Connecting the App Widgets DisconnectingSigning In/Out
QuickBooksAuthorization
App Cardon Intuit
App Center
Intuit App Center Subscribe Flow
User clicks
When a user signs up for your app from Intuit App Center, Intuit passes the user’s Intuit Account as an OpenID. The user authorizes your app to access their Intuit company data before they land in your app.
Intuit Account
Sign Up/In
= Intuit page
= Process
= Your app
View documentation
OpenID
DirectConnectToIntuit()
Your AppoAuth
Connecting the App Widgets DisconnectingSigning In/Out
App Card
1. No plan selection App card should show plan details such as pricing information and the plan that will be provisioned, e.g. “30-day risk-free trial.”
2. No Credit CardApp signup from Intuit App Center must be a free trial and NOT require a credit card in first use.
REQUIREMENTS
Your App
View documentation
Connecting the App Widgets DisconnectingSigning In/Out
Authorize Connection
The user grants permission for your app to access their QuickBooks data.
AUTHORIZATION DIALOG
View documentation
Connecting the App Widgets DisconnectingSigning In/Out
DirectConnectToIntuit()
View documentation
App Cardon Intuit
App Center
User clicks
= Completed2. Your app must store the the oAuth token when received.
3. Your app must store the expiry date (6 months from the date it is granted)
REQUIREMENT1. After the OpenID hand-off, your app must call DirectConnectToIntuit() to obtain the oAuth token.
= Intuit page
= Process
= Your app
Authorize ConnectionIntuit
AccountSign Up/In
OpenID
DirectConnectToIntuit()
Your AppoAuth
Connecting the App Widgets DisconnectingSigning In/Out
OpenID and Account LinkingREQUIREMENTS1. The app signup should map the
user’s Intuit Account to your app.
2. If your app requires login account creation, the email address and name passed through OpenID should be prepopulated in the corresponding app fields. If the email address (as username) is sufficient to create the account, use a button and hidden fields.
3. If provisioning a new user in your app requires a password, auto-generate a password, but do not require the user to create a new password during signup from the App Center.
4. Provide a clear way to sign in using an existing account.
View documentation
Your App
Connecting the App Widgets DisconnectingSigning In/Out
OpenID and Account LinkingREQUIREMENTS1. The app signup should map the
user’s Intuit Account to your app.
2. If your app requires login account creation, the email address and name passed through OpenID should be prepopulated in the corresponding app fields. If the email address (as username) is sufficient to create the account, use a button and hidden fields.
3. Provide a clear way to sign in using an existing account.
View documentation
Your App
Connecting the App Widgets DisconnectingSigning In/Out
First-time App Experience
Intuit’s JavaScript widget will display a note to let the user know their app is connected to QuickBooks.
REQUIREMENT
Super Expense Manager
The Intuit connect note will appear next to the Blue Dot.
The note will appear only the first-time the user lands on the app, after completing the signup from Intuit App Center.
View documentation
Connect to QuickBooksExperience From
Inside the App
Connecting the App Widgets DisconnectingSigning In/Out
Intuit Account
Sign Up/In<ipp:connectToIntuit>
In-App Connect to QuickBooks
Authorize Connection
QuickBooks Data
An existing user of your app may wish to use your app with their QuickBooks data. The user can do so by clicking the “Connect to QuickBooks” button in your app. The user then signs in with an Intuit Account and authorizes your app to access their QuickBooks data (a.k.a. realm).
View documentation
Your App
Connecting the App Widgets DisconnectingSigning In/Out
Button
Connect to QuickBooks Button
1. Use the “Connect to QuickBooks” button to let users connect your app to QuickBooks for Windows or QuickBooks Online data.
2. The button should only appear when the app is not connected.
REQUIREMENT
View documentation
2Widgets
Widgets andSupporting Code
REQUIREMENTS
<ipp:> Tags
<ipp:connectToIntuit></ipp:connectToIntuit>
<ipp:login href=". . ."></ipp:login>
<ipp:blueDot></ipp:blueDot>
<script type="text/javascript" src="https://js.appcenter.intuit.com/Content/IA/intuit.ipp.anywhere.js"></script>
JavaScript Widgets1. Reference the Intuit JavaScript file to render Intuit Anywhere widgets.
2. Use the corresponding tags to render Intuit Anywhere widgets on your pages.
View documentation
Intuit JavaScript
Connecting the App Widgets DisconnectingSigning In/Out
Blue Dot
Blue Dot Placement
View documentation
Connecting the App Widgets DisconnectingSigning In/Out
The Blue Dot widget must be placed in the upper-right corner of your app. This is the standard placement across Intuit properties, and consistent placement will help train users to look for the widget in one place on the screen. Moving the button around will make the experience jumpy for the user. We recommend making the Blue Dot widget look like an integrated part of your app.
Blue Dot Placement Dos and Don’ts
View documentation
Connecting the App Widgets DisconnectingSigning In/Out
DON’T treat the Blue Dot as a separate element outside of the UI.
DO align the Blue Dot with the rest of the app elements.
Even if there’s no room in the upper right, DON’T rotate the Blue Dot or move it too far away.
DO make room in the UI to keep the Blue Dot as close to the standard location as possible.
3Signing In/Out
Single Sign-in Flow
REQUIREMENTAll apps that use Intuit OpenID, must show the “Intuit” sign-in button.
View documentation
Your AppSign-in
If your app uses Intuit OpenID e.g., the user subscribed to your app from the Intuit App Center, users must have the ability to sign-in to your app using their Intuit Account. When they click the “Intuit” button they will be taken to the Intuit Sign-in page and then be redirected back to your app.
Intuit Sign-in
Connecting the App Widgets DisconnectingSigning In/Out
OpenID Sign-in Button
MinuteDock MavenlinkProOnGo
REQUIREMENTAll apps that implement OpenID must show the Intuit OpenID button in their login page.
View documentation
<ipp:login href=”..."></ipp:login>
Connecting the App Widgets DisconnectingSigning In/Out
Intuit.ipp.anywhere.logout()
Single Sign-out Flow
logout()
REQUIREMENTFor cases where the user is signed-in via Intuit OpenID, call the intuit.ipp.anywhere.logout() JavaScript function when signing the user out of your app.
View documentation
Your App Your Logout
Users who sign-in to your app using their Intuit Account (OpenID), should also be signed-out of Intuit App Center when signing out of your app to ensure a consistent experience.
Connecting the App Widgets DisconnectingSigning In/Out
Sign-out Example
View documentation
<a href="javascript:void(0)" onclick="return intuit.ipp.anywhere.logout(function () { window.location.pathname = '/logout'; });">Sign out</a>
Connecting the App Widgets DisconnectingSigning In/Out
4Disconnecting
Connecting the App Widgets DisconnectingSigning In/Out
Disconnect from QuickBooks Data
View documentation
An app can be disconnected from QuickBooks data in three ways:
1. Users can disconnect your app’s access to their QuickBooks data from the Manage My Apps page from Intuit App Center (AppCenter > Manage My Apps)
2. Users can disconnect from within your app
3. The oAuth token is invalid because it has expired (after 6 months) or your app has called the disconnect() api
Connecting the App Widgets DisconnectingSigning In/Out
User Disconnect -Intuit App CenterA user can disconnect your app’s access to QuickBooks data from the Manage My Apps page on Intuit App Center and your app implements Intuit OpenID.
ManageMy Apps
Disconnect Landing URL
View documentation
REQUIREMENT1. Have a “Disconnect Landing URL” page if
your app implements Intuit OpenID. This page is typically the same settings page where the user connects to QuickBooks. This page must make an OpenID call to identify the user.
2. Hide the Blue Dot to indicate the app is no longer connected.
3. Show the “Connect to QuickBooks” button on the page where the user connect
4. Encourage reconnection by displaying the value proposition of your app’s integration with QuickBooks.
5. Keep the new authorized access token in persistent storage if the user reconnects the app.
Connecting the App Widgets DisconnectingSigning In/Out
User Disconnects -Your AppA user can disconnect access to QuickBooks data from within your app.
1. Make the Disconnect() API call
2. Hide the Blue Dot to indicate the app is no longer connected.
3. Show the “Connect to QuickBooks” button
4. Encourage reconnection by displaying the value proposition of your app’s integration with QuickBooks.
5. Keep the new authorized access token in persistent storage if the user reconnects the app.
DisconnectAPI
View documentation
REQUIREMENT Your Disconnect
Disconnect Landing URL
Invalid TokenThe oAuth token is invalid when it expires after 6 months, OR if the app has called the Disconnect API.
Connecting the App Widgets DisconnectingSigning In/Out
Your App Data Request Your App
View documentation
1. Make the Disconnect() API call
2. Hide the Blue Dot to indicate the app is no longer connected.
3. Show the “Connect to QuickBooks” button
4. Encourage reconnection by displaying the value proposition of your app’s integration with QuickBooks.
5. Keep the new authorized access token in persistent storage if the user reconnects the app.
REQUIREMENT
Notes
Notes
Connecting the App Widgets DisconnectingSigning In/Out
1. These policies are intended to give customers the best possible experience for apps that integrate with QuickBooks.
2. Each slide includes a link to the documentation. Click on the icon in the lower left hand corner
3. If you have any questions, please contact us at [email protected]