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",
"requiredSaleorVersion": "^3.13",
"name": "My Wonderful App",
"author": "My Wonderful Company",
"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",
"brand": {
"logo": {
"default": "http://localhost:3001/default-logo.png"
}
},
"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 Saleorversion
: App versionrequiredSaleorVersion
: Version range, in thesemver
format, which specifies Saleor version required by the app. The field will be respected starting from Saleor 3.13name
: App name displayed in the dashboardauthor
: App author name displayed in the dashboard (starting from Saleor 3.13)about
: Description of the app displayed in the dashboardpermissions
: Array of permissions requested by the appappUrl
: App website rendered in the dashboardconfigurationUrl
: Address to the app configuration page, which is rendered in the dashboard (deprecated in Saleor 3.5, useappUrl
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, usedataPrivacyUrl
instead)dataPrivacyUrl
: URL to the full privacy policyhomepageUrl
: External URL to the app homepagesupportUrl
: External URL to the page where app users can find supportbrand
: (Optional, introduced in Saleor 3.14) Contains branding information for the applogo
: Contains links to logos for the appdefault
: URL pointing to a PNG image representing the app's logo. The image should be square and should not exceed 10 megabytes in size
extensions
: List of extensions that will be mounted in Saleor's dashboard. For details, please see the extension sectionwebhooks
: 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.
Typings
App Manifest is typed in TypeScript in @saleor/app-sdk package.
Use it with
import { AppManifest } from '@saleor/app-sdk/types'
Was this page helpful?