Storeware Docs

Coming from Shopify

What each part of a Shopify app is called on Storeware, the command that turns shopify.app.toml into a manifest, and what has no match yet.

If you have built a Shopify app, you already know how a Storeware app works. It is a service at an HTTPS address, a manifest that says what it may reach, signed webhooks, pages framed in the admin, and an API token per shop. This page maps each part across.

Start with your manifest

npx @storeware/cli app import-shopify

Run it in the folder that holds shopify.app.toml. It writes storeware.app.toml beside it, with your scopes, webhook topics, app proxy, admin home and redirect URLs carried across, then lists everything it could not carry, each with the page that covers it. It never overwrites a manifest unless you pass --force. Then:

npx @storeware/cli validate
npx @storeware/cli app dev -- npm run dev

Part by part

On ShopifyOn StorewareRead
shopify.app.tomlstoreware.app.toml, stored as written with every releaseThe manifest
Access scopes[oauth] scopes, shown to the merchant before installPermissions
OAuth and token exchangeInstalls start in Storeware; your app gets a token per shop that lasts 24 hours, which the SDK refreshesInstalls and tokens
App BridgeApp Bridge version 2: toasts, title bar, save bar, modals, confirm, resource picker, navigationApp Bridge
App Bridge React@storeware/app-bridge-react, a provider and hooksApp Bridge React
Polaris@storeware/app-ui, React components styled by the admin's own variablesApp UI
Session tokens?session= on first load, then bridge.sessionToken(), read by authenticateAdminApp Bridge
Admin UI extensions (blocks and actions)Panels and actions at points in the admin, framed pages that speak App BridgeInside the admin
Admin linksYour home and up to five navigation pages in [app], and actions in a record's Apps menuInside the admin
Webhook subscriptions[webhooks] url and events, each delivery signed, never redirectedWebhooks
Compliance webhooks[privacy] url, for data requests and erasuresWebhooks
Admin APIA REST API with an OpenAPI document, the same one the admin usesAPI reference
Metafields your app owns[[metafields.definitions]] in the manifestManifest reference
Shopify FunctionsCheckout functions: discount, delivery_rates, payment_methods and cart_validation, in TypeScript, in a hosted appCheckout functions
Carrier serviceYour own delivery rates at checkout, beside the shop'sDelivery rates
Theme app extensionsBlocks in four named slots, and sections a merchant places on any pageOn the shop front
App proxy[app_proxy] url, served at /apps/<your slug> on the shop's own addressApp proxy
Flow triggers and actions[[automations.triggers]] and [[automations.actions]] in the merchant's automationsAutomations
Billing API and managed pricing[billing]: plans Storeware shows at install, or charges you ask for, including by use up to a capCharging merchants
Development storesDevelopment stores that take test paymentsDevelopment stores
shopify app devstoreware app dev, which opens a tunnel and installs your app on a development storeBuild your first app
shopify app deploystoreware app deploy, which also hosts your app for free if you askHosting on Storeware

What changes

  • Your sales. Storeware takes no share of what your app sells, at any amount. Stripe's cost to collect and pay out is passed on at cost. See Earnings and payouts.
  • API versions. There are none to move between. /api/v1 only grows, and anything retired gets at least 24 months of notice, with Deprecation and Sunset headers on the call itself. See API reference.
  • Hosting. You can keep your own server, or run your app on Storeware's edge at <your slug>.storewareapps.com, free while in beta. Checkout functions need it.
  • Functions in TypeScript. A checkout function is a pure TypeScript function in your hosted app, not WebAssembly. It runs wherever a basket is priced, so a discount it gives holds for an AI agent's checkout too.
  • Settings for free. Declare [settings] and Storeware draws the form for the merchant. See Settings.
  • Review. A release that asks for nothing new skips the review queue. See Your listing.

What has no match yet

  • Checkout UI extensions. Storeware draws its own checkout. Change what it charges and offers with checkout functions; nothing of yours is drawn inside it.
  • Cart transforms, fulfilment constraints and order routing functions. Only the four kinds above exist.
  • Point of sale and customer account extensions. Storeware has no point of sale, and no extension points in a customer's account.
  • App embed blocks and scripts on every page. Storefront blocks and sections are drawn on the server and carry no script.
  • Web pixels. There is no extension for them.
  • A GraphQL Admin API. The admin API is REST. The storefront API is GraphQL.

If something you need is missing, write to us from the contact page.

On this page