App Requirements
To make an App installable in the Dashboard, you must provide:
- Manifest URL - required for every App to provide its metadata.
- Register URL - required only when the manifest defines
tokenTargetUrl.
We recommend using Saleor App Template as a starting point for building your App. It provides all the necessary boilerplate needed to focus on your app's logic.
App Types​
- A full App has a backend in addition to any Dashboard UI. If the backend needs an AppToken for server-side API calls, define
tokenTargetUrl, implement the Register URL, and store the token in an Auth Persistence Layer (APL). - A frontend-only App consists of a manifest and a browser-based UI. It requires the Manifest URL, but does not require a backend,
tokenTargetUrl, a Register URL, or an APL. It can make authenticated client-side API calls with the short-lived token provided by App Bridge.
Manifest URL​
- Method:
GET - Response -
JSONwith a valid App Manifest - Suggested path:
/api/manifest
Saleor will call this endpoint to get your App metadata. It returns the App's name and description, as well as all the necessary information to register webhooks, permissions, and extensions.
Dashboard and Saleor API will use this endpoint to retrieve information needed to install the App.
To learn more about what Manifest consists of, please check the Manifest docs or explore its type.
If your App is built with Next.js, you can use a helper from @saleor/app-sdk that creates a Manifest handler with minimal config.
Register URL​
- Method:
POST - Response - status
200 - Suggested path -
/api/register
This endpoint is only required when an App needs its own AppToken for server-side API calls. A frontend-only App can omit tokenTargetUrl and skip this endpoint.
During the installation of an App, Saleor will call this endpoint if tokenTargetUrl is provided in the manifest.
When calling the "register" endpoint, Saleor will add the auth_token param to the request body and domain header. The App's job is to save the token and use it to run API calls.
While we suggest /api/register path, it can be configured in Manifest with the tokenTargetUrl field.
You can write this endpoint on your own, but we recommend using a helper provided by @saleor/app-sdk.
To use this helper, you must provide a valid Auth Persistence Layer - APL, that will handle storing token and domain pairs for your App.