Skip to content

Getting started with Shopify

Shopify is the leading e-commerce platform that powers millions of online stores worldwide. As developers at Avada, we build Shopify Apps - applications that extend Shopify’s functionality and help merchants run their businesses more effectively.

ReasonDescription
Large MarketMillions of active merchants looking for solutions
Recurring RevenueSubscription-based apps generate monthly income
App Store DistributionShopify App Store provides built-in distribution
Clear APIsWell-documented REST and GraphQL APIs
  • Public Apps - Listed on Shopify App Store, available to all merchants
  • Custom Apps - Built for a specific merchant/store
  • Sales Channel Apps - Integrate with external sales platforms

Always refer to the official Shopify documentation - it’s comprehensive and regularly updated:

Get familiar with the Shopify ecosystem, Partner Dashboard, and how apps interact with Shopify stores.

Key concepts covered:

  • Creating a Shopify Partner account
  • Setting up a development store
  • Understanding OAuth and app installation flow
  • Navigating the Partner Dashboard

Language Setting

It is compulsory that your store and partner account language is set to English. Change it in your Shopify account settings:

While we’re moving to GraphQL, understanding REST API concepts is still valuable for maintaining legacy code.

Key concepts covered:

  • Making authenticated API requests
  • Understanding rate limits
  • Working with pagination
  • Common endpoints (Products, Orders, Customers)

GraphQL is Shopify’s recommended API for all new development. It offers better performance, more flexible queries, and access to newer features.

Why GraphQL over REST?

  • Fetch only what you need - No over-fetching of data
  • Single request - Get related data in one call (vs multiple REST calls)
  • Saves round trips - Reduce network latency by fetching everything in one request
  • Strongly typed - Better tooling and error detection
  • Access to new features - Some features are GraphQL-only

Key concepts covered:

  • GraphQL queries and mutations
  • Using GraphiQL explorer
  • Understanding connections and edges
  • Error handling in GraphQL

Shopify requires apps to explicitly request access to protected customer data. This is a privacy protection measure.

How to request access:

  • Development/Staging apps: Fill out the form in Partner Dashboard (no need to submit)
  • Production apps: Submit for approval (takes a few days)

Key concepts covered:

  • Understanding protected customer data scopes
  • Requesting access in Partner Dashboard
  • Handling 403 errors gracefully

Webhooks allow your app to receive real-time notifications when events happen on a Shopify store. Instead of constantly polling the API, Shopify pushes data to your app when something changes.

When to use webhooks:

  • Syncing inventory changes with external systems
  • Processing new orders automatically
  • Handling app uninstalls and data cleanup
  • Updating records when products/customers change

Common webhook topics:

TopicDescription
orders/createNew order placed
products/updateProduct modified
app/uninstalledApp removed from store
customers/createNew customer registered

See the official Shopify webhook guide for the complete list.

Key concepts covered:

  • Registering webhook subscriptions
  • Verifying webhook signatures (HMAC)
  • Handling webhook payloads
  • Dealing with retries and failures

Shopify Further Dive (Optional until Week 5)

Section titled “Shopify Further Dive (Optional until Week 5)”

You should spend your time digesting Shopify development docs further more to better understand Shopify ecosystem: