> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopify Integration Overview

> How the Nudj Shopify integration works end-to-end: Partner install, embedded admin, storefront widgets, Admin API access, and webhook registration.

Nudj is a Shopify Partner app. Merchants install it from the Shopify app store; install provisions an embedded admin app, a theme app extension for storefront widgets, programmatic webhook registration, and a binding from the Shopify store to a Nudj community.

## What you get after install

<CardGroup cols={2}>
  <Card title="Embedded admin app" icon="gauge" href="/enterprise/shopify/onboarding-checklist">
    Merchants manage their Nudj loyalty programme from inside the Shopify admin. Home dashboard (PR #1985), onboarding checklist (PR #2020), settings, rewards, achievements, referrals — no switching UIs.
  </Card>

  <Card title="Theme app extension" icon="puzzle-piece" href="/enterprise/shopify/storefront-widgets">
    Merchants drop Nudj widget blocks into their storefront via the theme editor. Loyalty FAB, Ways to Earn, Refer-a-Friend, points-for-spend nudges, checkout points, customer account — every block themed through `community.theme`.
  </Card>

  <Card title="Shopify-backed rewards" icon="gift" href="/enterprise/shopify/rewards">
    Discount codes, free products via Shopify discount functions, checkout-link redemptions, and product sync from the Shopify catalog into Nudj rewards.
  </Card>

  <Card title="Event-driven achievements" icon="bolt" href="/enterprise/shopify/webhooks">
    Nudj programmatically registers Shopify webhooks on install (PR #1684) and consumes 16 event topics (PR #1780) to trigger achievements.
  </Card>
</CardGroup>

## How it connects together

<Steps>
  <Step title="Merchant installs the Partner app">
    The merchant approves the requested scopes in Shopify's consent screen. Nudj's install flow (PR #1402) kicks off deployment pipelines (PRs #1427, #1431, #1432).
  </Step>

  <Step title="Access token issued and encrypted">
    Shopify issues an offline access token. Nudj encrypts it at rest (PR #1484) and stores it against the merchant's Shopify session (PR #1833 — Shopify Sessions Service).
  </Step>

  <Step title="Store bound to a Nudj community">
    PR #1819 implemented the store-to-community binding. Subsequent events from this store resolve to the bound community (PR #1654).
  </Step>

  <Step title="Webhooks registered programmatically">
    PR #1684 registers Shopify webhooks on install. Topics include order placement, subscription events, customer creation, and more — 16 new topics from PR #1780 drive achievement triggers.
  </Step>

  <Step title="Embedded admin loads">
    The merchant opens the Nudj app inside Shopify admin. Admin API access (PR #1438) authenticates the embedded UI against Nudj's backend. PR #1863 added 9 read-only Shopify Admin API endpoints for the embedded UI to consume.
  </Step>

  <Step title="Storefront widgets become available">
    Merchants open the theme editor and add Nudj widget blocks. Per-block theming (PR #1646), theme presets (PR #1886), and widget preview URL selection (PRs #1896, #1899, #1637) make the customisation experience predictable.
  </Step>
</Steps>

## Nudj admin vs Shopify embedded admin

Both UIs exist. The Shopify embedded admin (inside `admin.shopify.com/store/...`) is the merchant-facing UI and covers the common surfaces — rewards, referrals, widgets, achievements. The full Nudj admin (`admin.nudj.cx`) remains available for organisation-level features and advanced settings. See the merchant-facing [Shopify onboarding checklist](/enterprise/shopify/onboarding-checklist) for what's surfaced in each UI.

## End-to-end status

PR #1474 marked the Shopify integration "end-to-end complete" after PR #1482's quality-of-life fixes landed. Since then the widget catalog has grown substantially (PRs across #2190, #2163, #2220, #2224, #2238, #2253, #2387), and the embedded admin pages went through a consistency pass (PR #2141) and migrated to client-side data fetching for instant navigation (PR #2128).

## Next steps

<CardGroup cols={2}>
  <Card title="Onboarding checklist" icon="list-check" href="/enterprise/shopify/onboarding-checklist">
    What merchants see on day one.
  </Card>

  <Card title="Storefront widgets" icon="puzzle-piece" href="/enterprise/shopify/storefront-widgets">
    The widget catalog.
  </Card>
</CardGroup>

> Last reviewed: 2026-04 · Related PRs: #1402, #1427, #1431, #1432, #1438, #1474, #1482, #1484, #1654, #1684, #1819, #1833, #1863
