Before you start planning and developing your app, it’s important to understand what Shopify apps do and how they fit into Shopify.
What's a Shopify app?Anchor link to section titled "What's a Shopify app?"
A Shopify app extends the existing functionality of Shopify. Most Shopify apps are built by third-party developers, not by Shopify.
You can build an app to add features to Shopify stores and extend the merchant experience, or to create unique buying experiences for customers. You can also pull Shopify store data into your app, platform, or integration.
To tailor experiences to their specific needs, merchants use Shopify apps to help build their business, integrate with external services, and add features to their Shopify admin.
How apps fit into ShopifyAnchor link to section titled "How apps fit into Shopify"
Apps integrate with Shopify in the following ways:
- connecting with Shopify APIs to read and write store data, in response to either user input or webhook event notifications
- extending new features inside existing parts of the Shopify admin or Shopify Point of Sale (POS)
- enhancing the way that stores display information to customers
Where apps interact with ShopifyAnchor link to section titled "Where apps interact with Shopify"
The following table describes the key areas where apps interact with the Shopify platform. You can add your app directly to some areas using App Bridge.
|Shopify admin||Includes core aspects of the merchant's Shopify business, including orders, products, and customers. After logging in to Shopify, merchants can set up their store, configure their settings, and manage their business using the Shopify admin.
Merchants install apps in the Shopify admin.
|Online store||An online home for a merchant's business. Merchants use the online store to create webpages, publish a blog, and sell their products.
As an app developer, you can build integrations in all the places where merchants want to sell, and where their customers want to buy.
|Checkout||Where customers enter their shipping information and payment details before placing the order, and where merchants accept orders and take payments.
Apps can integrate with Shopify checkout to offer additional functionality to merchants and customers. For example, merchants can use apps that support post-purchase offers to show a cross-sell or upsell offer to customers at checkout.
|Shopify POS||A Point of Sale app that merchants can use to sell products in person.
As an app developer, you can add POS links to link your app from pages in the Shopify POS app, and add app extensions to your app that enable merchant to manage loyalty points, apply discounts, and access product recommendations from within Shopify POS.
How you display your app in ShopifyAnchor link to section titled "How you display your app in Shopify"
You can let merchants access and interact with your app within the Shopify admin or Shopify POS.
Adding your app to these surfaces improves both the merchant and development experience in the following ways:
- The app appears in a familiar environment for the merchant.
- You can use Shopify's existing user interface (UI) elements.
- Your app can be exposed in the Shopify iOS and Android app, and has access to device hardware, such as Near-Field Communication (NFC) or a camera.
To learn how to embed your app in the Shopify admin or POS, refer to Getting started with Shopify App Bridge.
How your app accesses ShopifyAnchor link to section titled "How your app accesses Shopify"
Shopify has many APIs that let developers extend the platform’s built-in features. These APIs let you read and write merchant data, work with other systems and platforms, and add new functionality to Shopify.
The following table describes the most commonly used APIs that Shopify offers:
|API name||Description||Authenticated?||API format|
|Admin API||The primary way that apps interact with Shopify. The Admin API provides extensive access to data about individual Shopify stores, and lets you add your own features to the Shopify user experience.||Yes||GraphQL or REST|
|Storefront API||Lets you add Shopify buying experiences anywhere your customers are, including websites, mobile apps, and video games. Data access is controlled by the permissions that you choose when you create a storefront access token.||No||GraphQL|
Start building your appAnchor link to section titled "Start building your app"
Distributing your appAnchor link to section titled "Distributing your app"
You can build your app for just one merchant, or you can build it for multiple merchants and then distribute it through the Shopify App Store.
You don't have to decide how you want to distribute your app right away. However, some distribution methods might have additional requirements or limitations that you should be aware of.
- Learn about the different methods of authenticating and authorizing apps with Shopify’s platform.
- Use webhooks to stay in sync with Shopify or execute code after a specific event occurs in a shop.
- Learn how to use metafields to share additional information about Shopify resources with your app.
- Learn about the structure of an app built with Shopify CLI.