Types of Apps
The first step when developing an app is deciding which type of app to develop. The two types of apps, single-click and connector, are defined by the method of authentication. Single-click apps use an OAuth Authorization Code Grant flow. Connector apps require store owners or authorized users to manually generate and configure store API credentials. In addition to the authentication method, apps can differ by visibility.
Single-Click
Single-click apps are the recommended app type. They use OAuth 2.0 Authorization Code Grant (opens in a new tab) (oauth2.net) flow. Users initiate installation by clicking Install.
The app requests the user to grant permissions associated to scopes configured for the app in the Developer Portal (opens in a new tab):
Once granted, the app can request a permanent access_token
for making REST API requests on the user's behalf.
Single-click apps can use App Extensions.
Connector
Connector apps use manual OAuth token creation instead of the single-click app flow. Store owners and authorized users manually generate store-level API credentials and enter them into the app's configuration. While we recommend single-click apps, the following use cases might not be compatible:
- Customized integrations that vary per store.
- Integrations that do not provide any content for an iFrame.
- Apps that do not provide web services for OAuth exchange (ex: native order sync app).
Visibility
There are three visibility options for apps: Draft, Unlisted, and Public.
Visibility | Description | Use Cases |
---|---|---|
Draft | Apps registered in the Developer Portal (opens in a new tab) but never submitted for approval | |
Unlisted | Apps submitted and approved but not listed on the App Marketplace (opens in a new tab) | |
Public | Apps submitted, approved, and listed on the App Marketplace (opens in a new tab) |
- Only approved partners (opens in a new tab) can create unlisted apps.
- To have an app unlisted, contact appstore@bigcommerce.com.
Next steps
Resources
Related articles
Sample apps
- Node / React / Next.js (opens in a new tab)
- Python / Flask (opens in a new tab)
- PHP / Silex (opens in a new tab)
- Ruby / Sinatra (opens in a new tab)
- Laravel / React (opens in a new tab)
Tools
- Node API Client (opens in a new tab)
- Python API Client (opens in a new tab)
- PHP API Client (opens in a new tab)
- Ruby API Client (opens in a new tab)
- Ruby OmniAuth Gem (opens in a new tab)
- BigDesign Developer Playground (opens in a new tab)
- Figma UI Kit (opens in a new tab)
Blog posts
- How to Test App Authentication Locally with ngrok (opens in a new tab)
- Building a BigCommerce App Using Laravel and React (opens in a new tab)
- BigDesign Tutorial (opens in a new tab)