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.

Element
Attribute
Description
Required

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.

Element
Attribute
Description
Required

about

Author information

Yes

Contains
Attribute
Description
Required

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

email

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.

Element
Attribute
Description
Required

dependencies

Dependencies on other apps

Yes

Element
Attribute
Description
Required

apps

List of dependent apps

Yes

Element
Attribute
Description
Required

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.

Element
Attribute
Description
Required

interface

Describes how the app is integrated into the system

Yes

Element security

Defines security policies

Element
Attribute
Description
Required

security

Specifies the security policy

Yes

Contains
Attribute
Description
Required

oauth2

Type of authorization, currently the only one

Yes

Element methods

Defines the app interface, which must be compatible with the recognized apps interface.

Element
Attribute
Description
Required

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.

Contains
Attribute
Description
Required

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.

Element
Attribute
Description
Required

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.

Element
Attribute
Description
Required

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