THE APPS APP
Apps
Application Description
This application is used to register an app and creates a unified external API for the entire system, calling the app's API in a specified format. It formalizes the construction and communication of applications across the system.
Section Example
<apps:section xmlns:apps="https://blueprint.retailys.com/blueprint.xsd">
<app id="bookmng" version="1.0" coreVersion="0.1">
<about>
<label>Books Management</label>
<desc>This app allows you to manage book authors.</desc>
<author>Smith' Company</author>
<url>https://www.smiths-corp.com</url>
<phone>+420987654321</phone>
<email>[email protected]</email>
<emailErrors>[email protected]; [email protected]</emailErrors>
</about>
<dependencies>
<apps>
<depends on="datanest" version="0.1" />
<depends on="dashboard" version="0.1" />
</apps>
</dependencies>
<interface
base="https://veranomockappgroup8384.blob.core.windows.net/bookmng"
type="openapi">
<security>
<oauth2/>
</security>
<methods>
<ping url="/ping"/>
<enroll url="/enroll"/>
<remove url="/remove"/>
<section url="/section"/>
<response url="/response"/>
<alert url="/alert"/>
</methods>
</interface>
</app>
<gateway type="openapi" format="yaml" source="/openapi.yaml"/>
<section type="xsd" format="xml" source="/section.xsd" />
</apps:section>Elements
Element app
Describes information for app registration.
app
App registration information
Yes
id
App ID, short name, as short as possible
Yes
version
Current app version
Yes
coreVersion
Core version
Yes
Element app/about
Information about the author or supplier company.
about
Author information
Yes
label
Extended name, used for example in the menu
Yes
desc
Brief description of the app
Yes
author
App author or supplier company
Yes
url
Website URL of the author or supplier
Yes
phone
Contact phone
Yes
Contact email
Yes
emailErrors
Email for app error messages
Yes
Example:
<!-- App label -->
<about>
<label>Books Management</label>
<desc>This app allows you to manage book authors.</desc>
<author>Smith' Company</author>
<url>https://www.smiths-corp.com</url>
<phone>+420987654321</phone>
<email>[email protected]</email>
<emailErrors>[email protected]; [email protected]</emailErrors>
</about>Element app/dependencies/apps
Describes dependencies on other applications.
dependencies
Dependencies on other apps
Yes
apps
List of dependent apps
Yes
depends
Dependency on an app
No
on
ID of the dependent app
Yes
version
Version of the dependent app
Yes
Example
<!-- App dependency specification -->
<dependencies>
<apps>
<depends on="datanest" version="0.1" />
<depends on="dashboard" version="0.1" />
</apps>
</dependencies>Element app/interface
Describes the app interface, currently strictly defined.
interface
Describes how the app is integrated into the system
Yes
Element security
Defines security policies
security
Specifies the security policy
Yes
oauth2
Type of authorization, currently the only one
Yes
Element methods
Defines the app interface, which must be compatible with the recognized apps interface.
methods
Internal API methods, currently strictly defined
Yes
Mandatory methods specified in the manifest and required to be implemented by the app. In the future, possible extension of integration methods.
ping
App status test
Yes
url
Path within the app
Yes
enroll
App response on registration
Yes
url
Path within the app
Yes
remove
App removal
Yes
url
Path within the app
Yes
section
Processing sections of foreign apps during their registration
Yes
url
Path within the app
Yes
response
Response to system API call, functional command core of the app
Yes
url
Path within the app
Yes
alert
Event handling within the system
Yes
url
Path within the app
Yes
Example:
<interface
base="https://veranomockappgroup8384.blob.core.windows.net/bookmng"
type="openapi">
<!-- Security policies -->
<security>
<oauth2/>
</security>
<!-- Defines mapping of internal interface methods to app endpoints -->
<methods>
<ping url="/ping"/>
<enroll url="/enroll"/>
<remove url="/remove"/>
<section url="/section"/>
<response url="/response"/>
<alert url="/alert"/>
</methods>
</interface>Element gateway
Describes the path to the app's endpoint specification in openapi.yaml format.
gateway
Specifies the path to the external API specification of the app
Yes
type
Specification type
Yes
format
Specification format
Yes
source
Path to the specification within the app's URL
Yes
Example:
<gateway type="openapi" format="yaml" source="/openapi.yaml"/>Element section
Describes the XSD source describing the XML language of the section.
section
Description of XML elements of the app section
Yes
type
Specification type
Yes
format
Specification format
Yes
source
Path to the specification within the app's URL
Yes
Example:
<section type="xsd" format="xml"Last updated