Which sales channels are on, and why an off one cannot be switched on yet
- Credentials
- OAuth access token
- Scopes
store:read- Role
- Owners and admins only. Staff get
403 forbidden.
The storefront, the API and WhatsApp. The same gates the console uses.
Access: OAuth scope store:read; owner/admin only; not write-gated.
merchantOAuth store:readAuthorizationBearer <token>OAuth 2.1 (authorization code + PKCE S256, public clients, dynamic registration) for connected AI apps. Effective power is scopes granted AND the person's role today AND the plan. orders:refund, billing:write and team:write are opt-in on the consent screen. Write implies read for marketing:read and messages:read, so a grant holding marketing:write passes a marketing:read check, and messages:send passes messages:read.
Scope: store:read
storeId*stringA store the person can reach. Any other id answers 404, never 403.
OK
application/json- response
data*curl -X GET 'https://api.shopeazy.co/v1/merchant/stores/<storeId>/channels' \ -H 'Authorization: Bearer <access_token>'{ "data": { "channels": { "storefront": { "enabled": true, "canEnable": true, "problem": null }, "api": { "enabled": true, "canEnable": true, "problem": null }, "whatsapp": { "enabled": false, "canEnable": false, "problem": { "code": "needs_whatsapp", "message": "Connect your WhatsApp number first — Channels → WhatsApp." } } } }}The shop's ad and analytics tags PATCH
Meta pixel ID (digits), Google Analytics ID (G-...), Google site verification and Google Ads (AW-... or AW-.../label). Loaded on every shop page, so anything that is not exactly an ID is refused. A key left out keeps the stored tag; null or an empty string removes it. Answers with all four as saved. Access: OAuth scope `settings:write`; owner/admin only; write-gated by the subscription.
Switch the storefront or WhatsApp channel on or off PUT
Off is always allowed. On goes through the console's go-live gates: the storefront needs a category and the current agreement (422 `needs_category`, `needs_terms`) and WhatsApp a connected number (422 `needs_whatsapp`); nothing is changed when refused. Turning the storefront off is how a shop goes dark: it stops serving its pages. `api` in the path is 422. Access: OAuth scope `settings:write`; owner/admin only; write-gated by the subscription.