bundle-offers-app/shopify.app.toml
metatroncubeswdev 365e45406a Bundle Offers Shopify app: discount function, admin, storefront, deploy stack
Rust discount function (one automatic discount evaluating all offers in priority
order, parity with the Odoo engine), React Router admin with Polaris, theme app
extension and app proxy pages, webhooks incl. GDPR, managed-pricing limits, and
a Docker Compose stack (Postgres + Caddy HTTPS) for a single VPS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:35:58 -04:00

55 lines
1.5 KiB
TOML

# Bundle Offers — Shopify app configuration.
# Run `npm run config:link` once to connect this folder to your app in the Partner Dashboard (fills client_id).
client_id = ""
name = "Bundle Offers"
application_url = "https://example.com"
embedded = true
[build]
automatically_update_urls_on_dev = true
include_config_on_deploy = true
[access_scopes]
# Brief §15 + write_app_proxy (required by Shopify for the app proxy). read_orders: analytics. write_files: offer images.
scopes = "read_products,write_discounts,read_discounts,read_orders,write_files,read_themes,write_app_proxy"
[auth]
redirect_urls = ["https://example.com/auth/callback"]
[app_proxy]
# Storefront: https://{shop}/apps/bundles and /apps/bundles/{handle}
url = "/proxy"
subpath = "bundles"
prefix = "apps"
[webhooks]
api_version = "2026-10"
[[webhooks.subscriptions]]
uri = "/webhooks/app/uninstalled"
topics = ["app/uninstalled"]
[[webhooks.subscriptions]]
topics = ["app/scopes_update"]
uri = "/webhooks/app/scopes_update"
[[webhooks.subscriptions]]
topics = ["app_subscriptions/update"]
uri = "/webhooks/app/subscriptions_update"
[[webhooks.subscriptions]]
topics = ["orders/create"]
uri = "/webhooks/orders/create"
[[webhooks.subscriptions]]
topics = ["products/update", "products/delete", "collections/delete"]
uri = "/webhooks/catalog"
# Mandatory compliance topics for public apps
[[webhooks.subscriptions]]
uri = "/webhooks/compliance"
compliance_topics = ["customers/data_request", "customers/redact", "shop/redact"]
[pos]
embedded = false