Shopify
Overview

Shopify Support

This section describes how Shopify support is enabled and configured in the platform.

Enable/disable feature

Shopify support is controlled on backend side through:

  • MODULES_SHOPIFY=1 -> Shopify module enabled
  • MODULES_SHOPIFY=0 (or unset) -> Shopify module disabled

What this affects:

  • Shopify GraphQL module registration
  • Shopify webhook/task processing paths
  • /v1/healthcheck/shopify availability (503 with "Shopify module is disabled." when off)

After changing MODULES_SHOPIFY, restart backend so module wiring is rebuilt.

Required environment variables

Set these in backend runtime env:

  • SHOPIFY_STOREFRONT_GRAPHQL_URI
  • SHOPIFY_ADMIN_GRAPHQL_URI
  • SHOPIFY_PRIVATE_TOKEN (required for Admin API; also preferred for Storefront API)
  • SHOPIFY_ACCESS_TOKEN (optional fallback for Storefront API if no private token is set)
  • SHOPIFY_WEBHOOK_SIGNING_SECRET (required when receiving Shopify webhooks)
  • SHOPIFY_API_KEY
  • SHOPIFY_API_SECRET

Where env values come from

Shopify admin/source of truth:

  • SHOPIFY_STOREFRONT_GRAPHQL_URI: https://<shop>.myshopify.com/api/<version>/graphql.json
  • SHOPIFY_ADMIN_GRAPHQL_URI: https://<shop>.myshopify.com/admin/api/<version>/graphql.json
  • SHOPIFY_PRIVATE_TOKEN: Admin API access token from your Shopify app
  • SHOPIFY_ACCESS_TOKEN: Storefront access token
  • SHOPIFY_WEBHOOK_SIGNING_SECRET: Shared secret used to sign webhook requests

Setup checklist

  1. Configure Shopify URIs and tokens in backend env.
  2. Set MODULES_SHOPIFY=1.
  3. Restart backend.
  4. Verify using GET /v1/healthcheck/shopify.

Shopify banner references

Banner-specific behavior is documented on dedicated pages: