intuit anywhere developer guidelines_v1.2

34
Intuit Anywhere Developer Policies and Guidelines Intuit Partner Platform

Upload: intuitpartnerplatform

Post on 28-Jan-2015

113 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Intuit Anywhere Developer Guidelines_v1.2

Intuit AnywhereDeveloper Policies and Guidelines

Intuit Partner Platform

Page 2: Intuit Anywhere Developer Guidelines_v1.2

Intuit App Center

2.5 MillionREGISTERED USERS

400,000VISITS/WEEK

50,000APP LAUNCHES

Page 3: Intuit Anywhere Developer Guidelines_v1.2

How do we make a

great

user experience?

Page 4: Intuit Anywhere Developer Guidelines_v1.2

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.

Page 5: Intuit Anywhere Developer Guidelines_v1.2

1Connecting

3Signing In/Out

4Disconnecting

2Widgets

Page 6: Intuit Anywhere Developer Guidelines_v1.2

1Connecting the App

Page 7: Intuit Anywhere Developer Guidelines_v1.2

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

Page 8: Intuit Anywhere Developer Guidelines_v1.2

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

Page 9: Intuit Anywhere Developer Guidelines_v1.2

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

Page 10: Intuit Anywhere Developer Guidelines_v1.2

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

Page 11: Intuit Anywhere Developer Guidelines_v1.2

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

Page 12: Intuit Anywhere Developer Guidelines_v1.2

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

Page 13: Intuit Anywhere Developer Guidelines_v1.2

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

Page 14: Intuit Anywhere Developer Guidelines_v1.2

Connect to QuickBooksExperience From

Inside the App

Page 15: Intuit Anywhere Developer Guidelines_v1.2

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

Page 16: Intuit Anywhere Developer Guidelines_v1.2

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

Page 17: Intuit Anywhere Developer Guidelines_v1.2

2Widgets

Page 18: Intuit Anywhere Developer Guidelines_v1.2

Widgets andSupporting Code

Page 19: Intuit Anywhere Developer Guidelines_v1.2

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

Page 20: Intuit Anywhere Developer Guidelines_v1.2

Blue Dot

Page 21: Intuit Anywhere Developer Guidelines_v1.2

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.

Page 22: Intuit Anywhere Developer Guidelines_v1.2

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.

Page 23: Intuit Anywhere Developer Guidelines_v1.2

3Signing In/Out

Page 24: Intuit Anywhere Developer Guidelines_v1.2

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

Page 25: Intuit Anywhere Developer Guidelines_v1.2

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

Page 26: Intuit Anywhere Developer Guidelines_v1.2

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

Page 27: Intuit Anywhere Developer Guidelines_v1.2

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

Page 28: Intuit Anywhere Developer Guidelines_v1.2

4Disconnecting

Page 29: Intuit Anywhere Developer Guidelines_v1.2

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

Page 30: Intuit Anywhere Developer Guidelines_v1.2

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.

Page 31: Intuit Anywhere Developer Guidelines_v1.2

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

Page 32: Intuit Anywhere Developer Guidelines_v1.2

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

Page 33: Intuit Anywhere Developer Guidelines_v1.2

Notes

Page 34: Intuit Anywhere Developer Guidelines_v1.2

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]