Skip to main content
Version: 3.x

The App Manifest

The App manifest is a JSON file that describes the application, including its name, version, required permissions, and how it handles the store's data.

Saleor expects the manifest to use the following format:

{
"id": "example.app.wonderful",
"version": "1.0.0",
"name": "My Wonderful App",
"about": "My Wonderful App is a wonderful App for Saleor.",

"permissions": ["MANAGE_USERS", "MANAGE_STAFF"],

"appUrl": "http://localhost:3001/app",
"configurationUrl": "htpp://localhost:3001/configuration",
"tokenTargetUrl": "http://localhost:3001/register",

"dataPrivacy": "Lorem ipsum",
"dataPrivacyUrl": "http://localhost:3001/app-data-privacy",
"homepageUrl": "http://localhost:3001/homepage",
"supportUrl": "http://localhost:3001/support",
"extensions": [
{
"label": "Create with Sample app",
"mount": "PRODUCT_OVERVIEW_CREATE",
"target": "POPUP",
"permissions": ["MANAGE_PRODUCTS"],
"url": "https://example.com/extension/"
},
{
"label": "Create with App and redirect",
"mount": "PRODUCT_OVERVIEW_CREATE",
"target": "APP_PAGE",
"permissions": ["MANAGE_PRODUCTS"],
"url": "/extension/redirect"
}
],
"webhooks": [
{
"name": "Order created",
"asyncEvents": ["ORDER_CREATED"],
"query": "subscription { event { ... on OrderCreated { order { id }}}}",
"targetUrl": "https://example.com/api/webhooks/order-created",
"isActive": false
},
{
"name": "Multiple order's events",
"asyncEvents": ["ORDER_CREATED", "ORDER_FULLY_PAID"],
"query": "subscription { event { ... on OrderCreated { order { id }} ... on OrderFullyPaid { order { id }}}}",
"targetUrl": "https://example.com/api/webhooks/order-event",
"isActive": true
}
]
}
  • id: id of application used internally by Saleor
  • version: App version
  • name: App name displayed in the dashboard
  • about: Description of the app displayed in the dashboard
  • permissions: Array of permissions requested by the app
  • appUrl: App website rendered in the dashboard
  • configurationUrl: Address to the app configuration page, which is rendered in the dashboard (deprecated in Saleor 3.5, use appUrl instead)
  • tokenTargetUrl: Endpoint used during process of app installation, see installing an app.
  • dataPrivacy: Short description of privacy policy displayed in the dashboard (deprecated in Saleor 3.5, use dataPrivacyUrl instead)
  • dataPrivacyUrl: URL to the full privacy policy
  • homepageUrl: External URL to the app homepage
  • supportUrl: External URL to the page where app users can find support
  • extensions: List of extensions that will be mounted in Saleor's dashboard. For details, please see the extension section
  • webhooks: List of webhooks that will be set. For details, please look at asynchronous webhooks, synchronous-webhooks and webhooks' subscription (be aware that subscription queries are required in manifest) sections.