Skip to main content

Customer Gate quickstart

What Customer Gate is

Customer Gate is a customer data, B2B onboarding, eligibility, and access-control app for Shopify merchants. It is positioned around identity, eligibility, approvals, entitlements, and access rather than generic custom forms. Merchants collect validated customer applications, run approval rules, and gate storefront, product, collection, customer-account, and checkout surfaces.

Shopify access scopes

The app requests these scopes (from apps/customer-gate/shopify.app.toml):
  • read_customers
  • write_customers
  • read_companies
  • write_companies
  • write_validations
The write_validations scope supports the checkout validation function. Embedded requests authenticate with a signed App Bridge ID token and authorize the acting staff member through a session-bound Shopify online token. Reads require customer-read permission, mutations require customer-write permission, and billing mutations are shop-owner-only.

Extensions

Customer Gate ships three extensions:
  • theme-access-gate — a theme app extension with two blocks: access-gate (Customer Gate message) and application-form (Customer Gate form).
  • customer-portal — a customer-account UI extension (customer-account.profile.block.render) for authenticated application status, login-required form submission, optional document upload, and the access decision.
  • checkout-access-validation — a checkout validation function targeting cart.validations.generate.run.

Integration points

  • Public form API — storefront applications via the /apps/customer-gate app proxy, authenticated with the X-Pcnaid-Form-Key header.
  • Customer portal API — authenticated, customer-scoped status and submission endpoints for the customer-account extension.
  • Webhooks — Shopify lifecycle and privacy webhooks at /webhooks/shopify.

Sign-in and identity

OAuth uses the Shopify App Bridge flow; the shop is derived only from the verified App Bridge token, never from a shop-domain form. Login-required forms and portal reads require a verified Shopify customer-account session token.

Where the API reference is

See the API overview for the externally reachable endpoints, the architecture overview for the runtime and data flow, and the webhooks reference for webhook topics.