# Shoplazza App Development > Guides for building, publishing and operating Shoplazza apps. Top-level index: https://www.shoplazza.dev/llms.txt ## Getting started - [Get started with Shoplazza Apps](https://www.shoplazza.dev/docs/app/getting-started.md): The three-step path from zero to a listed Shoplazza App: create the app, add core capabilities and extensions, then launch — with links into each guide. - [About Shoplazza apps](https://www.shoplazza.dev/docs/app/getting-started/overview.md): What a Shoplazza App is and what it can extend — the store admin, the storefront, marketing workflows — plus how merchants install and authorize one. - [App types](https://www.shoplazza.dev/docs/app/getting-started/app-types.md): Compare Shoplazza public apps and private apps: where each is distributed, its lifecycle, and whether to integrate as an embedded or a standalone app. - [Create public app](https://www.shoplazza.dev/docs/app/getting-started/create-public-app.md): The end-to-end path for building a public Shoplazza App, from registering a partner account through development and testing to submitting for review. - [Register partner](https://www.shoplazza.dev/docs/app/getting-started/create-public-app/register-partner.md): Register a Shoplazza partner account on the developer platform — the first step before you can create, manage, and earn from a Shoplazza App. - [Create app](https://www.shoplazza.dev/docs/app/getting-started/create-public-app/create-app.md): Create a public Shoplazza App in the developer admin: app setup, redirect URLs and scopes, listing management, and the four pricing models to choose from. - [Develop a standalone app](https://www.shoplazza.dev/docs/app/getting-started/create-public-app/develop-app.md): Part 1 of the Node.js and Express tutorial: scaffold a Shoplazza App with the CLI, tunnel with ngrok, and implement the OAuth flow for a standalone app. - [Develop an embedded app](https://www.shoplazza.dev/docs/app/getting-started/create-public-app/embed-in-admin.md): Part 2 of the Node.js and Express tutorial: run your Shoplazza App inside the admin iframe and authenticate it with App Bridge and a session token. - [Test app](https://www.shoplazza.dev/docs/app/getting-started/create-public-app/test-app.md): Test a Shoplazza App before review: create a development store, install the app in the scenario that matches your backend, then verify its core features. - [Submit review](https://www.shoplazza.dev/docs/app/getting-started/create-public-app/submit-review.md): Submit your Shoplazza App for review: what to prepare, how the first full manual review differs from later feature updates, and what happens next. - [Create a private app](https://www.shoplazza.dev/docs/app/getting-started/create-private-app.md): Have a merchant create a private app in the Shoplazza admin so your integration gets an Access Token for the Open API, and what each app field means. - [Create a payment app](https://www.shoplazza.dev/docs/app/getting-started/create-payment-app.md): Payment apps let approved providers add payment methods to Shoplazza checkout — redirect, iframe, or direct card. Start here for the reading order. - [Get started with Shoplazza payment apps](https://www.shoplazza.dev/docs/app/getting-started/create-payment-app/getting-started.md): The full path to shipping a Shoplazza payment app: become a payment partner, create the app, get the App ID, configure parameters, install, and debug. - [Processing a payment](https://www.shoplazza.dev/docs/app/getting-started/create-payment-app/processing-payment.md): How a Shoplazza payment app processes a payment: the request Shoplazza sends, the redirect, iframe and direct card models, the retry policy, and the callback. - [Payment callbacks API](https://www.shoplazza.dev/docs/app/getting-started/create-payment-app/payment-callbacks.md): The Payment Callbacks API a Shoplazza payment app uses to report payment and refund results: complete payment, async notification, parameters, and responses. - [Processing a refund](https://www.shoplazza.dev/docs/app/getting-started/create-payment-app/processing-refund.md): How a Shoplazza payment app handles a refund: the request from the merchant admin, the synchronous response, and the asynchronous final-result notification. ## Developer tools - [Developer tools overview](https://www.shoplazza.dev/docs/app/developer-tools.md): Compare the four Shoplazza app developer tools — AI Toolkit, Shoplazza CLI, App Bridge, and the OAuth SDKs — and pick the right one for what you are building. - [Shoplazza AI Toolkit overview](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit.md): Shoplazza AI Toolkit lets AI coding agents run a store and look up the developer docs in plain language, pairing Shoplazza CLI as the execution engine with per-domain Agent Skills. - [Get started with Shoplazza AI Toolkit](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/get-started.md): Set up the Shoplazza AI Toolkit in Claude Code, Codex CLI, Cursor IDE, Gemini CLI, Antigravity CLI, or GitHub Copilot: install Shoplazza CLI, add the Agent Skills, authenticate, and run your first prompt. - [Agent Skills](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/skills.md): Agent Skills are per-domain SKILL.md files of the Shoplazza AI Toolkit: how to invoke one with the /shoplazza prefix, pick the right domain, and follow the safety protocol. - [Safety & permissions](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/safety-and-permissions.md): How the Shoplazza AI Toolkit keeps agent writes safe: the preview-restate-confirm protocol, domain and OAuth scopes, and read-only access you control. - [Products](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/usage/products.md): Shoplazza AI Toolkit prompts for the shoplazza-products skill: create a product, search the catalog, reprice a variant, restock, add tags, and publish. - [Discounts](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/usage/discounts.md): Shoplazza AI Toolkit prompts for the shoplazza-discounts skill: tiered rebates, coupon codes, flash sales, and taking a promotion down safely. - [Orders](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/usage/orders.md): Shoplazza AI Toolkit prompts for the shoplazza-orders skill: find a buyer's orders, ship, fix tracking, refund under the safety protocol, and mark paid. - [Customers](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/usage/customers.md): Shoplazza AI Toolkit prompts for the shoplazza-customers skill: look up customers by email or phone, create profiles, opt out of marketing, set addresses. - [Shop](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/usage/shop.md): Shoplazza AI Toolkit prompts for the shoplazza-shop skill: upload files, add metafields, run sales analytics, publish blogs and pages, add URL redirects. - [Webhook](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/usage/webhook.md): Shoplazza AI Toolkit prompts for the shoplazza-webhook skill: subscribe to store events, list and count subscriptions, change a callback URL, delete one. - [Billing](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/usage/billing.md): Shoplazza AI Toolkit prompts for the shoplazza-billing skill: one-time charges, recurring subscriptions, usage records, transactions, and cancellation. - [End-to-end workflow](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/end-to-end.md): A summer flash sale walkthrough showing the Shoplazza AI Toolkit chaining the products, discounts, orders, and shop skills in a single agent session. - [Shoplazza AI Toolkit troubleshooting](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/troubleshooting.md): Fix common Shoplazza AI Toolkit problems: the agent is not authenticated, missing scope errors, skills that fail to load, and flags the CLI does not accept. - [Headless & CI](https://www.shoplazza.dev/docs/app/developer-tools/ai-toolkit/headless-ci.md): Run the Shoplazza AI Toolkit without a browser: authenticate with a User Access Token, install in CI, parse JSON output, and keep unattended writes safe. - [Shoplazza CLI overview](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli.md): What Shoplazza CLI v2 brings: a three-layer command system, OAuth 2.0 authentication, and structured output for building Shoplazza apps, themes, and extensions. - [Install Shoplazza CLI](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/install.md): Install Shoplazza CLI on macOS, Windows, or Linux via npm, the shell script, or a GitHub release binary, then verify the version and enable shell completion. - [Shoplazza CLI quick start](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/quickstart.md): Install Shoplazza CLI, authorize a store over OAuth, and run your first command in about three minutes, then pick an app or theme path to continue. - [Authentication](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/authentication.md): Authenticate Shoplazza CLI with OAuth 2.0 and PKCE: browser login, token login for CI, scope selection, multi-store switching, and where credentials are stored. - [Build your first app](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/tutorials/build-your-first-app.md): A 15-minute walkthrough of the Shoplazza App lifecycle with Shoplazza CLI: authenticate, scaffold, add an extension, develop locally, deploy, check versions. - [Build a checkout extension](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/tutorials/build-a-checkout-extension.md): Build a Shoplazza checkout extension end to end with Shoplazza CLI: scaffold, develop with live reload, build, push a version, activate it, then preview. - [Build and publish a theme](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/tutorials/build-and-publish-a-theme.md): Scaffold a Shoplazza Theme from Nova 2023 with Shoplazza CLI, preview it with live reload, pull and push changes, then package, share, and publish it. - [Command reference](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands.md): Index of every Shoplazza CLI command grouped by topic — authentication, apps, themes, extensions, store data, platform features, utilities — plus global flags. - [auth](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/auth.md): Shoplazza CLI auth commands: log in and out over OAuth 2.0, check credential status, list granted scopes, and switch the store the session points at. - [app](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/app.md): Shoplazza CLI app commands across the Shoplazza App lifecycle: init, dev, deploy, config link, extension create, versions, and Function compile and release. - [theme](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/theme.md): Shoplazza CLI theme development commands for a Shoplazza Theme: scaffold from Nova 2023, serve with live reload, pull, push, package, share a preview link, and manage environments. - [checkout-extension](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/checkout-extension.md): Shoplazza CLI checkout-extension commands to scaffold, develop, build, push, deploy, and preview a Shoplazza checkout extension from the terminal. - [theme-extension](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/theme-extension.md): Shoplazza CLI theme-extension commands, aliased te, to create, serve, build, deploy, connect, and release a Shoplazza theme extension. - [products](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/products.md): Shoplazza CLI products commands: shortcuts for search, pricing, and stock changes, plus API commands for variants, images, collections, and inventory. - [orders](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/orders.md): Shoplazza CLI orders commands: search shortcuts plus API commands for fulfillment, tracking numbers, refunds, cancellations, and logistics on a store. - [customers](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/customers.md): Shoplazza CLI customers commands: the +search shortcut plus API commands for creating and updating customer records and managing their addresses. - [discounts](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/discounts.md): Shoplazza CLI discounts commands: shortcuts for coupons, flash sales, and tiered offers, plus the API commands behind promotional campaigns on a store. - [shop](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/shop.md): Shoplazza CLI shop commands: the +upload-file shortcut plus API commands for store settings, content, analytics, metafields, markets, and languages. - [billing](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/billing.md): Shoplazza CLI billing commands for charging merchants from a Shoplazza App: one-time charges, recurring subscriptions, usage records, and transaction lookups. - [webhook](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/webhook.md): Shoplazza CLI webhook commands to create, list, get, update, delete, and count the event subscriptions that push store events to your Shoplazza App. - [themes (API)](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/themes-api.md): The 56 low-level Shoplazza CLI theme API commands for managing themes, theme files and versions, edit sessions, cards, templates, app embeds, and the theme market, plus the page-editing shortcuts. - [api](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/api.md): The Shoplazza CLI api rest command sends a raw HTTP request to any Shoplazza API endpoint, for cases the shortcut and API command layers do not cover. - [schema](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/schema.md): Use shoplazza schema to introspect Shoplazza CLI: list topics, drill into a command, and read the parameters it accepts without leaving the terminal. - [profile](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/profile.md): Shoplazza CLI profile commands: add a profile per store, list and inspect profiles, switch the current one, change its scopes, rename it, or remove it. - [skills](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/skills.md): Shoplazza CLI skills commands: list the Agent Skills embedded in the CLI binary and print a skill's SKILL.md or one of its reference files. - [docs](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/docs.md): Use shoplazza docs to search the Shoplazza developer docs — guides and API reference — and read any page as Markdown. - [doctor](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/doctor.md): Run shoplazza doctor check to diagnose the Shoplazza CLI environment — configuration, credential directories, API metadata, and Agent Skills — before you report a problem. - [update](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/update.md): Run shoplazza update to self-update Shoplazza CLI to the latest npm release, and see the flags that control how the update runs. - [completion](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/commands/completion.md): Generate a shell completion script with Shoplazza CLI so your shell auto-completes its commands, subcommands, and flags as you type them. - [Three-layer command system](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/command-layers.md): The three layers of Shoplazza CLI commands — shortcuts, API commands, and raw API — what each one is good at, and how to pick one for the task at hand. - [Shortcuts](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/shortcuts.md): Shoplazza CLI shortcut commands carry smart defaults for high-frequency work: which ones each topic offers, the flags they share, and worked examples. - [Output formats](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/output-formats.md): Shape Shoplazza CLI output: pick json, pretty, table, ndjson, or csv with --format, filter with --jq, project fields with --fields, and preview a call with --dry-run. - [Configuration files](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/configuration.md): The TOML files Shoplazza CLI reads: shoplazza.app.toml, shoplazza.extension.toml, and shoplazza.theme.toml, their environment-specific variants, and the project directory layout. - [CI/CD integration](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/ci-cd.md): Run Shoplazza CLI in CI/CD: authenticate non-interactively with a user access token, then adapt the GitHub Actions and GitLab CI examples to your pipeline. - [Pagination & filtering](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/pagination-and-filtering.md): Narrow, page through, and project Shoplazza CLI result sets using search filter flags, paging flags, the --fields projection, and jq expressions. - [Error handling](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/error-handling.md): How Shoplazza CLI reports failures through JSON success and error envelopes and exit codes, and how scripts or AI agents should react to each of them. - [Recipes](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/guides/recipes.md): Copy-ready Shoplazza CLI snippets that chain commands with --jq: export product IDs, count open orders, preview a bulk discount, and run unattended in CI. - [Global flags](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/reference/global-flags.md): The flags available on every Shoplazza CLI command — --format, --profile, --no-input, and --help — plus the per-command --jq, --dry-run, and --fields, with defaults and examples. - [Environment variables](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/reference/environment-variables.md): The environment variables Shoplazza CLI reads, such as SHOPLAZZA_UAT, SHOPLAZZA_CLI_PROFILE, and SHOPLAZZA_CLI_FORMAT, how to set them for CI, and their precedence against flags. - [Exit codes](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/reference/exit-codes.md): The exit codes Shoplazza CLI returns — API, validation, authentication, network, and internal errors — and how to branch on them inside a shell script. - [Error format](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/reference/error-format.md): The structured JSON error envelope Shoplazza CLI writes to stderr: its error types, fields, request ID, and how to handle them programmatically in scripts. - [App command reference](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/app-command.md): Legacy Shoplazza CLI app command reference: the full topic and command table for app development, plus details for each app and no-prefix command. - [App Command Usage Guide](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/app-command/usage-guide.md): How to use the legacy Shoplazza CLI app command group: prerequisites, every command from init to versions list, and the two TOML configuration files. - [App Command Best Practice](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/app-command/best-practice.md): A step-by-step run through the legacy Shoplazza CLI app commands: set up the environment, init an app, generate an extension, develop locally, then deploy. - [Shoplazza CLI troubleshooting](https://www.shoplazza.dev/docs/app/developer-tools/shoplazza-cli/troubleshooting.md): Fix common Shoplazza CLI failures: command not found, expired tokens, insufficient scope, error envelopes, unknown parameters, and output polluting a pipe. - [App Bridge overview](https://www.shoplazza.dev/docs/app/developer-tools/app-bridge.md): When an embedded Shoplazza App needs App Bridge, what the JavaScript library offers — session token, backlink, save bar, redirect — and how to install it. - [App Bridge actions overview](https://www.shoplazza.dev/docs/app/developer-tools/app-bridge/actions.md): Install the shoplazza-app-bridge package, initialize it in your Shoplazza App entry file, then trigger admin actions: backlink, contextual save bar, redirect. - [Contextual Save Bar](https://www.shoplazza.dev/docs/app/developer-tools/app-bridge/actions/contextual-save-bar.md): Show or hide the App Bridge contextual save bar in a Shoplazza App, and configure its save and discard buttons for forms with unsaved merchant changes. - [BackLink](https://www.shoplazza.dev/docs/app/developer-tools/app-bridge/actions/backlink.md): Use the App Bridge backLink action in a Shoplazza App to change the back button at the top left of the admin header, including its text and click handler. - [Redirect](https://www.shoplazza.dev/docs/app/developer-tools/app-bridge/actions/redirect.md): Use the App Bridge redirect action to send merchants to another path inside the Shoplazza admin without breaking your Shoplazza App iframe context. - [Session Token](https://www.shoplazza.dev/docs/app/developer-tools/app-bridge/session-token.md): How an embedded Shoplazza App authenticates with session tokens: the JWT anatomy, its one-minute lifetime, and how to verify the signature on your backend. - [API libraries (SDK)](https://www.shoplazza.dev/docs/app/developer-tools/api-libraries.md): Official OAuth SDKs for Go and PHP that handle the Shoplazza App authorization flow, plus the status of the upcoming Shoplazza Admin API client libraries. ## Extensions - [About extensions](https://www.shoplazza.dev/docs/app/extensions.md): Extensions surface your Shoplazza App inside the platform without merchants editing code. Compare the online store and checkout surfaces and pick one. - [About online store extensions](https://www.shoplazza.dev/docs/app/extensions/online-store.md): Online store extensions inject your Shoplazza App's content into a merchant's storefront through theme extensions, without editing the theme source code. - [Build a theme extension](https://www.shoplazza.dev/docs/app/extensions/online-store/add-theme-extension.md): Build a Shoplazza theme extension: initialize the project, create App Blocks and App Embed Blocks, preview them in the theme editor, and troubleshoot. - [Theme extension reference](https://www.shoplazza.dev/docs/app/extensions/online-store/reference.md): Reference for Shoplazza theme extensions: the shoplazza.extension.toml config, App Blocks, App Embed Blocks, snippets, schema, asset references, and locales. - [Guide merchants to install your extension with deep links](https://www.shoplazza.dev/docs/app/extensions/online-store/deep-link.md): Build deep links that drop your Shoplazza theme extension straight into the theme editor at the right position, with the parameters, rules, and error codes. - [Theme extensions (Legacy)](https://www.shoplazza.dev/docs/app/extensions/online-store/legacy.md): Archived documentation for legacy Shoplazza theme extensions built with the shoplazza te command, kept for apps that have not moved to the new workflow. - [Get started with legacy theme extensions](https://www.shoplazza.dev/docs/app/extensions/online-store/legacy/development.md): The archived development and preview workflow for legacy Shoplazza theme extensions built with the shoplazza te command. - [About checkout extensions](https://www.shoplazza.dev/docs/app/extensions/checkout.md): Checkout extensions let a Shoplazza App insert content, read checkout context, and hide native modules on checkout without taking over the whole page. - [Build a checkout extension](https://www.shoplazza.dev/docs/app/extensions/checkout/add-checkout-extension.md): Build a Shoplazza checkout extension with the shoplazza app command: initialize the project, create the extension, preview it on checkout, and publish it. - [Checkout extension reference](https://www.shoplazza.dev/docs/app/extensions/checkout/extension-reference.md): Reference for how a Shoplazza checkout extension works: the extend function, the HTML template it renders, and hiding native checkout modules with deleteTarget. - [Extension points](https://www.shoplazza.dev/docs/app/extensions/checkout/extension-points.md): Every extension point a Shoplazza checkout extension can render into, on the checkout page and the thank-you page, with the slot name to pass to extend(). - [CheckoutAPI reference](https://www.shoplazza.dev/docs/app/extensions/checkout/checkout-api.md): Reference for CheckoutAPI, the object a Shoplazza checkout extension uses to read the order, listen for the buyer's choices changing, and drive the checkout UI. - [Checkout extension recipes](https://www.shoplazza.dev/docs/app/extensions/checkout/extension-recipes.md): Worked recipes for Shoplazza checkout extensions: probe every extension point, hide native modules, listen for events, autofill the card name, show a shipping bar. - [Checkout extensions (Legacy)](https://www.shoplazza.dev/docs/app/extensions/checkout/legacy.md): Archived documentation for legacy Shoplazza checkout extensions built with the shoplazza checkout command, kept for apps that have not migrated yet. - [Get started with legacy checkout extensions](https://www.shoplazza.dev/docs/app/extensions/checkout/legacy/getting-started.md): The archived development workflow for legacy Shoplazza checkout extensions built with the shoplazza checkout command: create, dev, push, and publish. - [Checkout extension target](https://www.shoplazza.dev/docs/app/extensions/checkout/legacy/extension-target.md): How deleteTarget hides native checkout modules in the legacy Shoplazza checkout extension framework, and which targets are available to hide. - [Function extension development guide](https://www.shoplazza.dev/docs/app/extensions/function.md): Build a Shoplazza Function extension end to end: write cart-pricing logic in JavaScript, compile to WASM, publish with the CLI, bind it to a store, and go live. ## Building blocks - [Building blocks overview](https://www.shoplazza.dev/docs/app/building-blocks.md): The building blocks a Shoplazza App integrates with — authentication, the REST API, webhooks, App Proxy, and billing — and the order in which to adopt them. - [Authentication overview](https://www.shoplazza.dev/docs/app/building-blocks/authentication.md): How a Shoplazza App authorizes with OAuth 2.0: the authorization code flow, the access scopes it can request, and HMAC request signature verification. - [OAuth authentication](https://www.shoplazza.dev/docs/app/building-blocks/authentication/oauth-flow.md): The OAuth 2.0 authorization code flow a public Shoplazza App uses to get an Access Token: parameters, each step, token refresh, and storage requirements. - [HMAC signature verification](https://www.shoplazza.dev/docs/app/building-blocks/authentication/signature-verification.md): Verify HMAC-SHA256 signatures on Shoplazza OAuth callbacks and webhook payloads, with the algorithm steps, reference implementations, and pitfalls to avoid. - [Access scopes](https://www.shoplazza.dev/docs/app/building-blocks/authentication/access-scopes.md): The full list of Shoplazza App access scopes and the Open API paths each one unlocks, so you request only the permissions your app actually needs. - [Shoplazza REST API overview](https://www.shoplazza.dev/docs/app/building-blocks/rest-api.md): Shoplazza REST API overview: what merchant data the Admin API reads and writes, the requirements for using it, and where each API topic is documented. - [Use the API](https://www.shoplazza.dev/docs/app/building-blocks/rest-api/api-usage.md): Call the Shoplazza REST API with an Access Token: the request URL format with the version number, a worked example, and how to find a resource's ID. - [API Versioning](https://www.shoplazza.dev/docs/app/building-blocks/rest-api/versioning.md): How the Shoplazza Admin API is versioned: the YYYY-MM naming, release cadence, available versions, version sunset, and a checklist for migrating. - [Rate limits](https://www.shoplazza.dev/docs/app/building-blocks/rest-api/rate-limits.md): How Shoplazza REST API rate limits work: the per-app and per-store dimensions, the leaky bucket algorithm, the rate limit headers, and handling 429 responses. - [Pagination](https://www.shoplazza.dev/docs/app/building-blocks/rest-api/pagination.md): Traverse large Shoplazza REST API result sets with cursor pagination: how the cursor works, why it beats offset paging, and how to page through results. - [Common parameters](https://www.shoplazza.dev/docs/app/building-blocks/rest-api/public-parameters.md): The common request parameters and response fields shared by every Shoplazza REST API call, including the Authorization header and the error field. - [HTTP status codes](https://www.shoplazza.dev/docs/app/building-blocks/rest-api/http-status.md): The HTTP status codes the Shoplazza REST API returns, what each one means, and the error payload your app gets back when a request fails. - [Webhooks overview](https://www.shoplazza.dev/docs/app/building-blocks/webhooks.md): Webhooks deliver Shoplazza store events to your app in real time. Start here for how they work, how to subscribe, and the full list of subscribable events. - [Webhook overview](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/overview.md): How Shoplazza webhooks work end to end: prerequisites, registering a subscription, the delivery format and headers, delivery rules, and signature verification. - [Supported Webhook Events](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events.md): The full list of Shoplazza webhook events your app can subscribe to, grouped by resource, with the topic, required access scope, and trigger for each one. - [Products](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products.md): The products/*, procurements/* and suppliers/* Shoplazza webhooks notify your app about changes to products, procurement orders, and suppliers. - [Products create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/create.md): Triggered when a product is created. Reference for the Shoplazza products/create webhook: request headers and payload fields. - [Products update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/update.md): Triggered when a product is updated. Reference for the Shoplazza products/update webhook: request headers and payload fields. - [Products delete](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/delete.md): Triggered when a product is deleted. Reference for the Shoplazza products/delete webhook: request headers and payload fields. - [Suppliers Create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/suppliers-create.md): Triggered when a supplier is created. Reference for the Shoplazza suppliers/create webhook: request headers and payload fields. - [Suppliers Update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/suppliers-update.md): Triggered when a supplier is updated. Reference for the Shoplazza suppliers/update webhook: request headers and payload fields. - [Suppliers Delete](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/suppliers-delete.md): Triggered when a supplier is deleted. Reference for the Shoplazza suppliers/delete webhook: request headers and payload fields. - [Procurements Create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/procurements-create.md): Triggered when a procurement is created. Reference for the Shoplazza procurements/create webhook: request headers and payload fields. - [Procurements Update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/products/procurements-update.md): Triggered when a procurement is updated. Reference for the Shoplazza procurements/update webhook: request headers and payload fields. - [Collections](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/collections.md): The collections/* Shoplazza webhooks cover the lifecycle of a collection — created, updated, and deleted — alongside the matching Collection API reference. - [Collections create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/collections/create.md): Triggered when a collection is created. Reference for the Shoplazza collections/create webhook: request headers and payload fields. - [Collections update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/collections/update.md): Triggered when a collection is updated. Reference for the Shoplazza collections/update webhook: request headers and payload fields. - [Collections delete](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/collections/delete.md): Triggered when a collection is deleted. Reference for the Shoplazza collections/delete webhook: request headers and payload fields. - [Cart](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/cart.md): The cart/* Shoplazza webhooks notify your app when a shopping cart is created or updated, so you can react to what buyers put in their carts in real time. - [Cart create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/cart/create.md): Triggered when an item is added to the cart. Reference for the Shoplazza cart/create webhook: request headers and payload fields. - [Cart update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/cart/update.md): Triggered when a shopping cart item is updated. Reference for the Shoplazza cart/update webhook: request headers and payload fields. - [Orders](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders.md): The orders/* Shoplazza webhooks cover an order's whole lifecycle — created, paid, fulfilled, refunded, cancelled, finished — alongside the Order API reference. - [Orders create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/create.md): Triggered when an order is created. Reference for the Shoplazza orders/create webhook: request headers and payload fields. - [Orders update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/update.md): Triggered for any update to the order information. Reference for the Shoplazza orders/update webhook: request headers and payload fields. - [Orders paid](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/paid.md): Triggered when an order is successfully placed (COD excepted, where it means payment succeeded). Reference for the Shoplazza orders/paid webhook: request headers and payload fields. - [Orders partially_fulfilled](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/partially_fulfilled.md): Triggered each time an item is shipped, but not all items are shipped. Reference for the Shoplazza orders/partially_fulfilled webhook: request headers and payload fields. - [Orders fulfilled](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/fulfilled.md): Triggered after all items in an order are shipped. Reference for the Shoplazza orders/fulfilled webhook: request headers and payload fields. - [Orders finished](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/finished.md): Triggered when a paid order completes its after-sales process, with all items received and all refunds and returns done. Reference for the Shoplazza orders/finished webhook: request headers and payload fields. - [Orders partially_refunded](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/partially_refunded.md): Triggered on each refund while the order amount has not been fully refunded. Reference for the Shoplazza orders/partially_refunded webhook: request headers and payload fields. - [Orders refunded](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/refunded.md): Triggered when the full amount is refunded. Reference for the Shoplazza orders/refunded webhook: request headers and payload fields. - [Orders cancelled](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/cancelled.md): Triggered when an incomplete order is canceled. Reference for the Shoplazza orders/cancelled webhook: request headers and payload fields. - [Orders delete](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/orders/delete.md): Triggered when an order is deleted. Reference for the Shoplazza orders/delete webhook: request headers and payload fields. - [Fulfillments](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/fulfillments.md): The fulfillments/* Shoplazza webhooks cover an order's shipment lifecycle: a fulfillment being created, and its logistics information being updated. - [Fulfillments create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/fulfillments/create.md): Triggered for any shipping action. Reference for the Shoplazza fulfillments/create webhook: request headers and payload fields. - [Fulfillments update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/fulfillments/update.md): Triggered when logistics information is updated. Reference for the Shoplazza fulfillments/update webhook: request headers and payload fields. - [Customers](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/customers.md): The customers/* Shoplazza webhooks notify your app about customer profile changes and customer segment changes, alongside the Customer API reference. - [Customers create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/customers/create.md): Triggered when a C-end customer is created. Reference for the Shoplazza customers/create webhook: request headers and payload fields. - [Customers update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/customers/update.md): Triggered when a C-end customer is updated. Reference for the Shoplazza customers/update webhook: request headers and payload fields. - [Customers delete](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/customers/delete.md): Triggered when a C-end customer is deleted. Reference for the Shoplazza customers/delete webhook: request headers and payload fields. - [Customers Segment Create](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/customers/segment-create.md): Triggered when a C-end customer segment is created. Reference for the Shoplazza customers/segment_create webhook: request headers and payload fields. - [Customers Segment Update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/customers/segment-update.md): Triggered when a C-end customer segment is updated. Reference for the Shoplazza customers/segment_update webhook: request headers and payload fields. - [Customers Segment Delete](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/customers/segment-delete.md): Triggered when a C-end customer segment is deleted. Reference for the Shoplazza customers/segment_delete webhook: request headers and payload fields. - [App](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/app.md): The app/* Shoplazza webhooks: uninstall, expiry, recurring and one-time charge status updates, and the approaching-capped-amount alert, each with its own payload. - [App uninstalled](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/app/uninstalled.md): Triggered when the app is uninstalled. Reference for the Shoplazza app/uninstalled webhook: request headers and payload fields. - [App expired](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/app/expired.md): Triggered when the app is expired. Reference for the Shoplazza app/expired webhook: request headers and payload fields. - [App purchases_one_time_update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/app/purchases_one_time_update.md): Triggered when the one-time charge status update. Reference for the Shoplazza app/purchases_one_time_update webhook: request headers and payload fields. - [App subscriptions_update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/app/subscriptions_update.md): Triggered when the recurring charge status update. Reference for the Shoplazza app/subscriptions_update webhook: request headers and payload fields. - [App subscriptions-capped](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/app/subscriptions-capped.md): Triggered when the usage fee reaches 90% of the capped amount. Reference for the Shoplazza app/subscriptions_approaching_capped_amount webhook: request headers and payload fields. - [Shop](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/shop.md): The shop/* Shoplazza webhooks notify your app when store information changes, so your integration can keep the shop profile it caches up to date. - [Shop update](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/shop/update.md): Triggered when shop information is updated. Reference for the Shoplazza shop/update webhook: request headers and payload fields. - [Stores](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/stores.md): The stores/* Shoplazza webhooks notify your app about store subscription changes, currently the stores/subscribe event. - [Stores subscribe](https://www.shoplazza.dev/docs/app/building-blocks/webhooks/supported-webhook-events/stores/subscribe.md): Triggered when a store subscribes. Reference for the Shoplazza stores/subscribe webhook: request headers and payload fields. - [Shoplazza Billing API overview](https://www.shoplazza.dev/docs/app/building-blocks/billing/overview.md): What the Shoplazza Billing API does: charging models, deduction and settlement, revenue sharing rules, app refunds, and the billing dashboard. - [Integrate app billing](https://www.shoplazza.dev/docs/app/building-blocks/billing/integration-guide.md): Charge merchants from your Shoplazza App end to end: configure pricing in the developer admin, then call the Billing API for one-time, recurring, and usage charges. - [Billing objects and flows](https://www.shoplazza.dev/docs/app/building-blocks/billing/apis-properties-and-flow.md): The objects behind Shoplazza billing and how they flow: ApplicationCharge, RecurringCharge, UsageCharge, Transaction, Refund, SettlementBill, and merchant invoices. - [App Proxy overview](https://www.shoplazza.dev/docs/app/building-blocks/app-proxy/overview.md): App Proxy lets a Shoplazza App serve a path under the shop's own storefront domain. Covers why to use it, the required scope, config fields, and setup. ## Use cases - [Checkout customization](https://www.shoplazza.dev/docs/app/use-cases/checkout.md): Customize the Shoplazza checkout page from an app: render your own UI at a checkout extension point and read or write the order through CheckoutAPI. - [Common checkout customizations](https://www.shoplazza.dev/docs/app/use-cases/checkout/common-customizations.md): The skeleton every Shoplazza checkout extension shares, then the CheckoutAPI call for each common change: order custom fields, line items, the address form, blocking submission, and localization. - [Modify order line items at checkout](https://www.shoplazza.dev/docs/app/use-cases/checkout/modify-order-at-checkout.md): Let buyers add or drop an add-on service such as shipping protection at checkout, using a Shoplazza checkout extension and CheckoutAPI line item calls. - [Orders and fulfillment](https://www.shoplazza.dev/docs/app/use-cases/orders-and-fulfillment.md): Recipes for driving the whole Shoplazza order lifecycle from your app: listen for order events, then manage, fulfill, and refund through the Open API. - [Manage orders](https://www.shoplazza.dev/docs/app/use-cases/orders-and-fulfillment/manage-orders.md): Read and manage a Shoplazza store's orders with the Open API: list them, look one up, update it, or cancel it from your app or back office. - [Fulfill orders](https://www.shoplazza.dev/docs/app/use-cases/orders-and-fulfillment/fulfill-orders.md): Ship a paid Shoplazza order from your app: create a fulfillment, complete or cancel it, and write carrier tracking information back with the Open API. - [Refunds and post-sales](https://www.shoplazza.dev/docs/app/use-cases/orders-and-fulfillment/refunds-and-post-sales.md): Issue refunds against a Shoplazza order, list refund records, and read the returns and exchanges buyers start, all through the Open API. - [Listen for order events](https://www.shoplazza.dev/docs/app/use-cases/orders-and-fulfillment/listen-for-order-events.md): Subscribe to Shoplazza order and fulfillment webhooks, then receive, verify and route them so your app reacts as an order moves through its lifecycle. - [Product merchandising](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising.md): Recipes for merchandising a Shoplazza store from your app: create products with variants and images, organize collections, set inventory, and publish. - [Create and update products](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/create-and-update-products.md): Create, update, publish, unpublish and delete products in a Shoplazza store with the Open API, and see why a new product starts life as a draft. - [Manage variants and images](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/manage-variants-and-images.md): Add, update and delete variants and images on an existing Shoplazza product, and look variants up by SKU when syncing price and stock from your system. - [Organize products into collections](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/organize-collections.md): Group Shoplazza products into manual and smart collections with the Open API, add products to them, and list collections and collects from your app. - [Manage inventory](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/manage-inventory.md): Set and read inventory for a Shoplazza product's variants across locations with the Open API, and see how inventory items and locations relate. - [Build a product sync app](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/build-product-sync-app.md): Keep an external system in sync with a Shoplazza catalog: backfill on install, subscribe to product webhooks, verify them, and fetch full product detail. - [Add custom properties to cart and orders](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/add-custom-properties.md): Carry shopper-entered values such as engraving text from the product page into the Shoplazza cart with the Ajax API, then read them back off the order. - [Sell products priced by measurement](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/sell-by-measurement.md): Price a Shoplazza product by a size the shopper enters — fabric by the metre, wallpaper by the roll — with Ajax API line item properties, then read it back. - [Add a per-product surcharge with a function](https://www.shoplazza.dev/docs/app/use-cases/product-merchandising/add-surcharge-by-metafield.md): Add a per-product fee set in a product metafield to the cart and checkout price with a Shoplazza cart_transform function, leaving the listed price unchanged. ## Best practices - [Shoplazza App best practices overview](https://www.shoplazza.dev/docs/app/best-practices.md): The best practices every Shoplazza App should follow before review: security, performance, privacy compliance, localization, accessibility, and mobile support. - [Security](https://www.shoplazza.dev/docs/app/best-practices/security.md): The security practices checked during Shoplazza App review: OWASP defenses, TLS, iframe protection, safe token handling, and webhook signature verification. - [Performance](https://www.shoplazza.dev/docs/app/best-practices/performance.md): Meet the Lighthouse benchmark for a Shoplazza App: keep admin pages fast, streamline the OAuth flow, and keep scripts injected into the storefront lean. - [Privacy compliance](https://www.shoplazza.dev/docs/app/best-practices/privacy-compliance.md): Handle merchant and customer data lawfully in your Shoplazza App: collect only what you need, get consent, publish a privacy policy, honor deletion requests. - [Localization](https://www.shoplazza.dev/docs/app/best-practices/localization.md): Detect a merchant's language from the session token or Shop API, then translate your Shoplazza App UI and app listing so it fits the merchant's locale. - [Accessibility](https://www.shoplazza.dev/docs/app/best-practices/accessibility.md): Build a Shoplazza App everyone can use: keyboard navigation, semantic page structure, labelled form fields, color contrast, media alternatives, and touch targets. - [Mobile support](https://www.shoplazza.dev/docs/app/best-practices/mobile-support.md): Keep your Shoplazza App usable when merchants open the admin on a phone: responsive layouts, core features on small screens, and touch-friendly controls. - [Non-deceptive code](https://www.shoplazza.dev/docs/app/best-practices/non-deceptive-code.md): The deceptive practices banned in a Shoplazza App: obfuscated code, behaving differently while under review, and manipulating search engines or testing tools. ## Publish and operate - [App review and operations](https://www.shoplazza.dev/docs/app/publish-and-operate.md): What happens after you submit a Shoplazza App: the review timeline, the status changes it goes through, and the operations work that follows approval. - [App listing requirements](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements.md): The listing requirements every public Shoplazza App is reviewed against, from branding and installation to onboarding, functionality, quality, and support. - [Prohibited app configurations](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/prohibited-configurations.md): App types that aren't allowed on the Shoplazza App Store, such as downloadable desktop software and apps that depend on manual partner intervention. - [Installation and setup](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/installation-and-setup.md): Installation requirements for a Shoplazza App: authenticate with OAuth immediately on Add App, request only necessary permissions, and guide merchant setup. - [Functionality and quality](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/functionality-and-quality.md): The functionality and quality bar a Shoplazza App must clear in review, covering its user interface, performance, billing behavior, and app state. - [App performance](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/performance.md): The performance score a Shoplazza App must meet to be published, and the testing methodology used to measure its impact on a merchant's storefront. - [App listing](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/listing.md): What your Shoplazza App listing must contain — features, user interface, and pricing — so merchants understand the app before they install it. - [App testcase](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/testcase.md): What to include in the test instructions you submit with a Shoplazza App, so reviewers can reach every feature and give you precise feedback. - [Security and merchant risk](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/security-and-merchant-risk.md): The security requirements checked during Shoplazza App review, including never collecting merchant credentials and keeping merchants free of risk. - [Data and user privacy](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/data-and-user-privacy.md): The data and privacy requirements a Shoplazza App must meet for review: GDPR obligations, a linked privacy policy, and limits on the data you may store. - [App Support](https://www.shoplazza.dev/docs/app/publish-and-operate/app-requirements/support.md): The support obligations that come with publishing a Shoplazza App: a contact email, response times, and help documentation merchants can rely on. - [App review process](https://www.shoplazza.dev/docs/app/publish-and-operate/review-process.md): How Shoplazza reviews a submitted app: what the review team checks, how they contact you, and what approval or rejection means for your listing. - [App Review Rules](https://www.shoplazza.dev/docs/app/publish-and-operate/review-process/testing-your-app.md): The rules the Shoplazza review team applies when deciding whether an app can be published, covering install, permissions, errors, and listing accuracy. - [Common app rejections](https://www.shoplazza.dev/docs/app/publish-and-operate/review-process/common-app-rejections.md): The reasons Shoplazza Apps are most often rejected in review, from OAuth not firing on Add App to unnecessary scopes — check yours against them first. - [App success](https://www.shoplazza.dev/docs/app/publish-and-operate/app-success.md): What to do after your Shoplazza App is approved: marketing, reviews, and support — the levers that grow installs and get an app featured on the App Store. - [Managing app reviews](https://www.shoplazza.dev/docs/app/publish-and-operate/app-success/managing-app-reviews.md): Get and handle merchant reviews of your Shoplazza App: how reviews affect ranking, how to ask for one, and how to respond to negative reviews. - [Supporting your app](https://www.shoplazza.dev/docs/app/publish-and-operate/app-success/supporting-your-app.md): Your support duties once a Shoplazza App is published: contact details in the listing, and replying to merchant inquiries within two business days. - [Marketing your app through Shoplazza community](https://www.shoplazza.dev/docs/app/publish-and-operate/app-success/marketing-in-community.md): Promote your Shoplazza App inside the Shoplazza community: forum participation, a stronger listing, merchant feedback, and word-of-mouth referrals. - [Marketing your app externally](https://www.shoplazza.dev/docs/app/publish-and-operate/app-success/external-marketing.md): Promote a published Shoplazza App outside the platform: social media, email, video tutorials, online communities, webinars, and press releases. - [Prohibited app actions](https://www.shoplazza.dev/docs/app/publish-and-operate/app-success/prohibited-actions.md): Actions that can get a Shoplazza App delisted or its API keys revoked, covering merchant experience, unsolicited marketing, and requirement violations. - [Unlist your app](https://www.shoplazza.dev/docs/app/publish-and-operate/unlist-your-app.md): The two ways a Shoplazza App gets unlisted — removed by the review team for violations, or unpublished by you — and what merchants see afterwards. ## FAQ - [Shoplazza App development FAQ](https://www.shoplazza.dev/docs/app/qa.md): Answers to common Shoplazza App development questions on API invocation, authorization, app management, and account management, with causes and fixes.