App manifest
Edit on GitHubApp manifest represents a set of JSON files that contain all the necessary information to register an application in the Application Tenant Registry Service (ATRS) and to display information about the application in the Application Catalog (AppCatalog).
For the manifest, make sure to follow these conditions:
- For each locale, a separate manifest file must be created. The file name must be the same as the locale name, for example, en_US.json.
- The default directory for all the manifest files (all locales) is
/config/app/manifest
.
Manifest example
{
"name": "App name",
"provider": "App provider",
"descriptionShort": "App short description",
"description": "App long description",
"developedBy": "Spryker Systems GmbH",
"url": "https://www.app-url.com",
"isAvailable": true,
"business_models": [
"B2B",
"B2C"
],
"categories": [
"PAYMENT"
],
"pages": {
"Overview": [
{
"title": "Advantages",
"type": "list",
"data": [
"Advantage 1",
"Advantage 2"
]
},
{
"title": "Features",
"type": "list",
"data": [
"Feature 1",
"Feature 2"
]
}
]
},
"assets": [
{
"type": "icon",
"url": "/assets/images/app_name/logo.svg"
},
{
"type": "image",
"url": "/assets/images/app_name/gallery/app_picture_1.jpeg"
},
{
"type": "image",
"url": "/assets/images/app_name/gallery/app_picture_1.png"
}
],
"labels": [
"Gold Partner"
],
"resources": [
{
"title": "User Guide",
"url": "https://link-to-user-guide.com",
"type": "internal-documentation"
},
{
"title": "Homepage",
"url": "https://www.app-name.com/DE-de",
"type": "homepage"
}
],
"dialogs": {
"onSave": {
"type": "confirmation",
"title": "Confirmation dialog title",
"content": "Confirmation dialog content",
"buttons": {
"ok": "Save",
"cancel": "Cancel"
}
}
},
"dependencies": [
{
"name": "foo/bar",
"version": "^1.0.0",
"compatibleBusinessModels": [
"B2B",
"B2C",
"B2B_MARKETPLACE",
"B2C_MARKETPLACE"
]
}
]
}
Manifest file parts
NAME | DESCRIPTION | EXAMPLE |
---|---|---|
name | The app’s name. | “name”: “Payone” |
provider | App provider’s name (not visible in the App Catalog). | “provider”: “Payone” |
descriptionShort | Short description displayed on the application tile in the application catalog page and at the top of the application detail page. | “descriptionShort”: “A single payment platform to accept payments anywhere on any device.” |
description | Full description of the app. New line symbols and HTML tags are not allowed. | “description”: “BS PAYONE GmbH is headquartered in Frankfurt am Main and is one of the leading omnichannel-payment providers in Europe. In addition to providing customer support to numerous Savings Banks (Sparkasse) the full-service payment service provider also provides cashless payment transaction services to more than 255,000 customers from stationary trade to the automated and holistic processing of e-commerce and mobile payments.” |
developedBy | Optional. Provides information about who developed the App. | “developedBy”: “Spryker Systems GmbH” |
url | URL to a homepage of the application provider (not visible in the AppCatalog). | “url”: “https://www.payone.com/DE-en” |
isAvailable | Shows if the application is currently available. Possible values:
|
“isAvailable”: true |
businessModels | An array of suite types that are compatible with the application. Possible values:
|
See businessModels example under this table. |
categories | An array of categories that the application belongs to. Possible values:
|
See categories example under this table. |
pages | Adds additional content to the application detail page. This part contains an object with a page type and its blocks. Possible page types (object keys):
|
See pages example under this table. |
assets | An array of objects represented as application assets. Each object has the following keys:
|
See assets example under this table. |
labels | An array of strings. Displays label icons on the application detail page according to the label. Possible values:
|
See labels example under this table. |
resources | An array of objects represented as application resources (links, documents). The resource object has the following keys:
|
See the following example of resources under this table. The "fileType": "markdown" is still supported; however, we recommend to use spryker-docs instead. The url is a full URL to Spryker documentation. |
dialogs | Optional. An object represented as application dialogs. Each property (key) represents an event happening in the App Catalog. Two events are supported—onSave and onDisconnect . Each value is an object and has the following keys:
|
See dialogs example under this table. |
businessModels example
"business_models": [
"B2B",
"B2C"
]
categories example
"categories": [
"PAYMENT"
]
pages example
"pages": {
"Overview": [
{
"title": "Advantages",
"type": "list",
"data": [
"One solution, one partner, one contract. Simple & efficient. Technical processing and financial services from a single source.",
"International payment processing. Access to international and local payment methods.",
"Automatic debtor management. Effective accounting support through transaction allocation and reconciliation.",
"Credit entries independent of payment type. Fast returns management. With automated refunds.",
"Short time to market thanks to plug'n pay 1-click checkout and seamless integration. For an increasing conversion rate."
]
},
{
"title": "Available Payment Methods (Credit Card)",
"type": "list",
"data": [
"Authorization",
"Preauthorization and Capture",
"3DS",
"PCI DSS Compliance via SAQ A"
]
},
{
"title": "Available Payment Methods (PayPal)",
"type": "text",
"data": "Preauthorization and Capture"
}]
}
assets example
"assets": [
{
"type": "icon",
"url": "/assets/images/payone/logo.svg"
},
{
"type": "image",
"url": "/assets/images/payone/gallery/Payone_2.jpeg"
},
{
"type": "image",
"url": "/assets/images/payone/gallery/Payone_3.png"
}
]
labels example
"labels": [
"Gold Partner"
]
resources example
"resources": [
{
"title": "User Guide",
"url": "https://docs.spryker.com/docs/acp/user/intro-to-acp/acp-overview.html",
"type": "internal-documentation",
"fileType": "spryker-docs"
},
{
"title": "Homepage",
"url": "https://www.payone.com/DE-en",
"type": "homepage"
}
]
dialogs example
"dialogs": {
"onSave": {
"type": "confirmation",
"title": "Confirmation dialog title",
"content": "Confirmation dialog content",
"buttons": {
"ok": "Save",
"cancel": "Cancel"
}
}
}
dependencies example
"dependencies": [
{
"name": "foo/bar",
"version": "^1.0.0",
"compatibleBusinessModels": [
"B2B",
"B2C",
"B2B_MARKETPLACE",
"B2C_MARKETPLACE"
]
}
]
Here is how these parts are integrated in the application tile:
Here is how dialogs
are integrated in the application detail page using an example of the onSave
dialog.
Here is how these parts are integrated on the application detail page:
What’s next
Thank you!
For submitting the form