2.6 Example App Manifest
Below is an example manifest that illustrates how an application named pim could be set up. It includes:
The
<apps:section>with the application definition, interface endpoints, and dependencies.A large
<datanest:section>enumerating entities for product management (e.g., product codes, categories, families, channels, assets, images, etc.).
<manifest xmlns="https://blueprint.retailys.com/blueprint.xsd">
<apps:section xmlns:apps="https://blueprint.retailys.com/blueprint.xsd">
<app id="pim" version="1.0" coreVersion="0.1">
<about>
<label>PIM (Product Information Management)</label>
<desc>Application for rich product data management.</desc>
<author>Retailys</author>
<url>https://pim.retailys.com</url>
<phone>+420123456789</phone>
<email>[email protected]</email>
</about>
<dependencies>
<apps>
<depends on="datanest" version="0.1"/>
<depends on="dashboard" version="0.1"/>
</apps>
</dependencies>
<interface base="https://pim.retailys.com" type="openapi">
<security>
<oauth2/>
</security>
<methods>
<ping url="/api/ping"/>
<enroll url="/api/enroll"/>
<remove url="/api/remove"/>
<section url="/api/section"/>
<response url="/api/response"/>
<alert url="/api/alert"/>
</methods>
</interface>
</app>
<gateway type="openapi" format="yaml" source="/openapi.yaml"/>
<section type="xsd" format="xml" source="/section.xsd"/>
</apps:section>
<datanest:section xmlns:datanest="https://blueprint.retailys.com/blueprint.xsd">
<entities>
<entity name="product" permissionable="true">
<label>Product</label>
<record>
<field name="name" type="string" required="true"
default="New product">
<label>Product Name</label>
</field>
<field name="sku" type="string">
<label>SKU (Primary Code)</label>
</field>
<field name="weight" type="number">
<label>Weight (kg)</label>
</field>
<field name="category" type="select" related="category">
<label>Category</label>
</field>
</record>
</entity>
<entity name="category" permissionable="true">
<label>Product Category</label>
<record>
<field name="name" type="string" required="true"
default="New category"/>
<field name="parent" type="select" related="category"/>
</record>
</entity>
</entities>
</datanest:section>
</manifest>When the Retailys core processes this manifest:
It reads
<apps:section>to understand your application’s identity, version, and how to call yourinterfacemethods.It forwards
<datanest:section>to the Datanest module to set up (or update) the required entities and fields in the database.
Last updated