Interface design

The document describes the interface design details for the appstore-be module, with a total of six parts, which correspond to app management, packet management, comment management, application push, warehouse management, and message center.

1.Application

The app is app store’s basic publishing unit.

1.1 Get list application list

According to application list of the input parameter.

URI: /mec/appstore/v1/apps
METHOD: GET

Request parameters:

name

describe

IN

compulsory choice

name

application name

request param

yes

provider

Application provider

request param

yes

type

Type of application

request param

yes

affinity

Architecture

request param

yes

userId

Application creator

request param

yes

Response examples:

200 OK
[
  {
    "appId": "string",
    "iconUrl": "string",
    "name": "string",
    "provider": "string",
    "type": "string",
    "shortDesc": "string",
    "createTime": "string",
    "details": "string",
    "downloadCount": 0,
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "score": 0,
    "userId": "string",
    "userName": "string",
    "status": "string",
    "showType": "string",
    "deployMode": "string",
    "hotApp": false
  }
]

1.2 Access to application list

Obtaining application details according to application ID.

URI: /mec/appstore/v1/apps/{appId}
METHOD: GET

name

describe

IN

compulsory choice

appId

app id

path

yes

Response examples:

200 OK
  {
    "appId": "string",
    "iconUrl": "string",
    "name": "string",
    "provider": "string",
    "type": "string",
    "shortDesc": "string",
    "createTime": "string",
    "details": "string",
    "downloadCount": 0,
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "score": 0,
    "userId": "string",
    "userName": "string"
    "status": "string",
    "showType": "string",
    "deployMode": "string",
    "hotApp": false
  }

1.3 Registration applications

Register for the application.

URI: /mec/appstore/v1/apps
METHOD: POST

name

describe

IN

compulsory choice

userId

User ID

request param

yes

userName

User name

request param

yes

file

Application package

request body form

yes

icon

Application icon document

request body form

yes

demoVideo

Application of video files

request body form

no

type

Type of application

request body form

yes

shortDesc

Description of application

request body form

yes

affinity

Architecture

request body form

yes

industry

Application to industry

request body form

yes

testTaskId

Test Task id

request body form

no

showType

Display Type: public, inner-public, private

request body form

no

Response examples:

200 OK
  {
    "appName": "string",
    "appId": "string",
    "packageId": "string",
    "provider": "string",
    "version": "string"
  }

1.4 Delete application

application is deleted according to the application ID.

URI: /mec/appstore/v1/apps/{appId}
METHOD: DELETE

name

describe

IN

compulsory choice

userId

User ID

request param

yes

userName

application name

request param

yes

appId

Application ID

path

yes

Response examples:

200 OK
  "delete App success."

1.5 Get the app icon

Obtaining the application icon according to the application ID.

URI: /mec/appstore/v1/apps/{appId}/icon
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

Response examples:

200 OK
  binary output.

1.6 Sharding upload app

Shards upload the application package.

URI: /mec/appstore/v1/apps/upload
METHOD: POST

name

describe

IN

compulsory choice

id

Sub-ID

request body form

no

chunkNumber

Current document block number

request body form

yes

chunkSize

block size

request body form

no

currentChunkSize

Current blocking size

request body form

no

totalSize

Total size

request body form

no

identifier

Document means

request body form

yes

filename

file name

request body form

no

relativePath

File Relative Path

request body form

no

totalChunks

Total blocks

request body form

no

type

Document type

request body form

no

file

Papers

request body form

yes

Response examples:

200 OK
  {
    "upload package block success"
  }

1.7 Combined application package

Application packages.

URI: /mec/appstore/v1/apps/merge
METHOD: GET

name

describe

IN

compulsory choice

fileName

file name

request param

yes

guid

Document ID

request param

yes

Response examples:

200 OK
  {
    "file address"
  }

1.8 Registration of virtual machines

Sign up for virtual machine applications.

URI: /mec/appstore/v1/apps/vm-register
METHOD: POST

name

describe

IN

compulsory choice

userId

User ID

request param

yes

userName

application name

request param

yes

fileAddress

Application packet file relative path

request body form

yes

icon

Application icon document

request body form

yes

demoVideo

Application of video files

request body form

no

type

Type of application

request body form

yes

shortDesc

Description of application

request body form

yes

affinity

Architecture

request body form

yes

industry

Application to industry

request body form

yes

testTaskId

Test Task id

request body form

no

showType

Display Type: public, inner-public, private

request body form

no

Response examples:

200 OK
  {
    "appName": "string",
    "appId": "string",
    "packageId": "string",
    "provider": "string",
    "version": "string"
  }

1.9 Get the app video

Obtaining the application video according to the application ID.

URI: /mec/appstore/v1/apps/{appId}/demoVideo
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

Response examples:

200 OK
  binary output.

1.10 Get the app video

Change whether the application is a popular application according to the application ID.

URI: /mec/appstore/v2/apps/hotapps
METHOD: PUT

name

describe

IN

compulsory choice

appId

Application ID

path

yes

Response examples:

200 OK
  set hot apps success.

1.11 Access to applications

According to application list of the input parameter.

URI: /mec/appstore/v2/apps/action/query
METHOD: POST

Request parameters:

name

describe

IN

compulsory choice

QueryAppReqDto

Query application conditions

request body

yes

QueryAppReqDto

Field name

describe

Field Type

compulsory choice

types

Type of application

List

no

showType

Type of application

List

no

affinity

Architecture

List

no

industry

Application to industry

List

no

workloadType

Type of application

List

no

userId

User Id

String

no

queryCtrl

Query conditions

QueryAppCtrlDto

yes

QueryAppCtrlDto

Field name

describe

Field Type

compulsory choice

limit

Paging query The number of queries per page [1,500]

int

yes

offset

Paging query start page, starting from 0

int

yes

sortItem

Query sort field

String

no

sortType

Query sorting method ascending/descending

String

no

status

Get the working status of the application.

List

no

appName

application name

String

no

Response examples:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "iconUrl": "string",
            "name": "string",
            "provider": "string",
            "type": "string",
            "shortDesc": "string",
            "showType": "string",
            "createTime": "string",
            "details": "string",
            "downloadCount": int,
            "affinity": "string",
            "industry": "string",
            "contact": "string",
            "score": 5.0,
            "userId": "string",
            "userName": "string",
            "status": "string",
            "deployMode": "string",
            "hotApp": false,
            "exprienceAble": false
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 9
}

1.12 Access to applications

Obtaining application details according to application ID.

URI: /mec/appstore/v2/apps/{appId}
METHOD: GET

name

describe

IN

compulsory choice

appId

app id

path

yes

Response examples:

200 OK
  {
    "data":  {
        "appId": "string",
        "iconUrl": "string",
        "name": "string",
        "provider": "string",
        "type": "string",
        "shortDesc": "string",
        "showType": "string",
        "createTime": "string",
        "details": "string",
        "downloadCount": int,
        "affinity": "string",
        "industry": "string",
        "contact": "string",
        "score": 5.0,
        "userId": "string",
        "userName": "string",
        "status": "string",
        "deployMode": "string",
        "hotApp": false
    },
    "retCode": 0,
    "params": "[string]",
    "message": "string"
}

1.13 Registration applications

Register for the application.

URI: /mec/appstore/v2/apps
METHOD: POST

name

describe

IN

compulsory choice

userId

User ID

request param

yes

userName

application name

request param

yes

file

Application package

request body form

yes

icon

Application icon document

request body form

yes

demoVideo

Application of video files

request body form

no

type

Type of application

request body form

yes

shortDesc

Description of application

request body form

yes

affinity

Architecture

request body form

yes

industry

Application to industry

request body form

yes

testTaskId

Test Task id

request body form

no

showType

Display Type: public, inner-public, private

request body form

no

Response examples:

200 OK
  {
    "data": {
        "appName": "string",
        "appId": "string",
        "packageId": "string",
        "provider": "string",
        "version": "string"
    },
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

2.Application

The application package belongs to the application, each application comprises at least one application package.

2.1 Access to application packages

Get the list of applications by applying ID.

URI: /mec/appstore/v1/apps/{appId}/packages
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

userId

User ID

request param

yes

access_token

Request token

request header

yes

Response examples:

200 OK
[
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }
]

2.2 Access to applications

The application package is obtained by applying ID and application packet ID.

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

Response examples:

200 OK
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }

2.3 Delete the application package

Delete the application package by application ID and application package ID.

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}
METHOD: DELETE

name

describe

IN

compulsory choice

userId

User Id

request param

yes

userName

User name

request param

yes

appId

Application ID

path

yes

packageId

Application package ID

path

yes

Response examples:

200 OK
   delete package success.

2.4 Download the application package

Download the application package via the application ID and the application package ID.

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/download
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

Response examples:

200 OK
  binary output.

2.5 Access to document content

Obtaining the file content in the application package by application ID, application packet ID and file path.

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/files
METHOD: POST

name

describe

IN

compulsory choice

packageId

package id

path

yes

filePath

file path

request body

yes

appId

Application ID

path

yes

Response examples:

200 OK
  file content output.

2.6 Application publishing

The application is published by application ID and application packet ID.

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/publish
METHOD: POST

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

isFree

Is it free

request body

no

price

App pricing information

request body

no

Response examples:

200 OK
  Publish Success.

2.7 Application test

Test the application by application ID and application package ID.

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/test
METHOD: POST

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

access_token

Request token

request header

yes

Response examples:

200 OK
  {
  "atpTaskId": "string",
  "status": "string"
  }

2.8 Get App Package List

Get the list of applications by applying ID.

URI: /mec/appstore/v1/packages
METHOD: GET

name

describe

IN

compulsory choice

ueserId

User Id

request param

yes

access_token

Request token

request header

yes

Response examples:

200 OK
[
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }
]

2.9 Modify Application

Modify the application through the application ID and application package ID.

URI: /mec/appstore/v1/apps/{appId}/package/{packageId}
METHOD: PUT

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

industry

Application to industry

request body form

no

type

Type of application

request body form

no

icon

Application icon document

request body form

no

video

Application of video files

request body form

no

affinity

Architecture

request body form

no

shortDesc

Description of application

request body form

no

showType

Type of application

request body form

no

Response examples:

200 OK
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }

2.10 Application release-v2

The application is published by application ID and application packet ID.

URI: /mec/appstore/v2/apps/{appId}/packages/{packageId}/action/publish
METHOD: POST

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

isFree

Is it free

request body

no

price

App pricing information

request body

no

Response examples:

200 OK
  Publish Success.
  {
    "data": "Publish Success",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

2.11 Get application package list by application ID-v2

Get the list of applications by applying ID.

URI: /mec/appstore/v2/apps/{appId}/packages
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

userId

User ID

request param

yes

access_token

Request token

request header

yes

limit

Pagination to query the number of queries per page, it is recommended to set a larger value to query all application packages of the application at one time

request param

yes

offset

Paging query start page, starting from 0

request param

yes

Response examples:

200 OK
[
  {
    "packageId": "string",
    "userName": "string",
    "status": "string",
    "shortDesc": "string",
    "provider": "string",
    "testTaskId": "string",
    "size": "string",
    "format": "string",
    "createTime": "string",
    "name": "string",
    "version": "string",
    "type": "string",
    "details": "string",
    "affinity": "string",
    "industry": "string",
    "contact": "string",
    "appId": "string",
    "userId": "string",
    "showType": "string",
    "deployMode": "string"
  }
]

2.12 Get application package-v2

The application package is obtained by applying ID and application packet ID.

URI: /mec/appstore/v2/apps/{appId}/packages/{packageId}
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

Response examples:

200 OK
  {
    "data":
    {
        "packageId": "string",
        "userName": "string",
        "status": "string",
        "shortDesc": "string",
        "provider": "string",
        "testTaskId": "string",
        "size": "string",
        "format": "string",
        "createTime": "string",
        "name": "string",
        "version": "string",
        "type": "string",
        "details": "string",
        "affinity": "string",
        "industry": "string",
        "contact": "string",
        "appId": "string",
        "userId": "string",
        "showType": "string",
        "deployMode": "string"
    },
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

2.13 Get application package list-v2

Get the list of applications by applying ID.

URI: /mec/appstore/v2/packages/action/query
METHOD: POST

Request parameters:

name

describe

IN

compulsory choice

QueryAppCtrlDto

Query application conditions

request body

yes

access_token

Request token

request header

yes

QueryAppCtrlDto

Field name

describe

Field Type

compulsory choice

limit

Paging query The number of queries per page [1,500]

int

yes

offset

Paging query start page, starting from 0

int

yes

sortItem

Query sort field

String

no

sortType

Query sorting method ascending/descending

String

no

status

Get the working status of the application.

List

no

appName

application name

String

no

Response examples:

200 OK
{
    "results": [
        {
            "packageId": "string",
            "size": "string",
            "format": "string",
            "createTime": "string",
            "name": "string",
            "version": "string",
            "type": "string",
            "details": "string",
            "affinity": "string",
            "industry": "string",
            "contact": "string",
            "appId": "string",
            "userId": "string",
            "userName": "string",
            "status": "string",
            "shortDesc": "string",
            "showType": "string",
            "testTaskId": "string",
            "provider": "string",
            "demoVideoName": "string",
            "deployMode": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 12
}

2.14 Get application package list-v2

Get the list of applications by applying ID.

URI: /mec/appstore/v2/packages
METHOD: GET

name

describe

IN

compulsory choice

offset

Paging query start page, starting from 0

request param

yes

limit

Paging query The number of queries per page [1,500]

request param

yes

startTime

应用创建时间的起始时间

request param

no

endTime

应用创建时间的终止时间

request param

no

Response examples:

200 OK
{
    "results": [
        {
            "packageId": "string",
            "size": "string",
            "format": "string",
            "createTime": "string",
            "name": "string",
            "version": "string",
            "type": "string",
            "details": "string",
            "affinity": "string",
            "industry": "string",
            "contact": "string",
            "appId": "string",
            "userId": "string",
            "userName": "string",
            "status": "string",
            "shortDesc": "string",
            "showType": "string",
            "testTaskId": "string",
            "provider": "string",
            "demoVideoName": "string",
            "deployMode": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 12
}

2.15 Download the application package

Download the application package via the application ID and the application package ID.

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/icon
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

packageId

Application package ID

path

yes

Response examples:

200 OK
  binary output.

2.16 应用下架

通过应用ID和应用包ID下架应用。

URI: /mec/appstore/v1/apps/{appId}/packages/{packageId}/action/unpublish
METHOD: POST
名称 描述 IN 必选
appId 应用ID path yes
packageId 应用包ID path yes
userId 用户Id request param yes
userName 用户名 request param yes

Response examples:

200 OK
  Unpublish Success.

3.Comments

Users can comment on apps.

3.1 List of acquisition comments

Get a list of comments that apply based on the application ID.

URI: /mec/appstore/v1/apps/{appId}/comments
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

Response examples:

200 OK
[
  {
    "commentId": 0,
    "user": {
      "userId": "string",
      "userName": "string",
      "permissions": [
        {
          "platform": "string",
          "role": "string",
          "pageIds": [
            "string"
          ]
        }
      ],
      "company": "string",
      "gender": "string",
      "telephone": "string"
    },
    "appId": "string",
    "body": "string",
    "score": 0,
    "commentTime": "string"
  }
]

3.2 Submit comments

Users submit application scores and comments based on the application ID.

URI: /mec/appstore/v1/apps/{appId}/comments
METHOD: POST

name

describe

IN

compulsory choice

userId

User ID

request param

yes

userName

application name

request param

yes

appId

Application ID

path

yes

entity

Comment content and scoring

request body

yes

Example of entity request body:

{
  "body": "string",
  "score": 0
}

Response examples:

200 OK
 "comments success."

3.3 Get comment list-v2

Get a list of comments that apply based on the application ID.

URI: /mec/appstore/v2/apps/{appId}/comments
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

path

yes

offset

Paging query start page, starting from 0

request param

yes

limit

Paging query The number of queries per page [1,500]

request param

yes

Response examples:

200 OK
{
    "results": [
        {
            "commentId": 0,
            "user": {
                "userId": "string",
                "userName": "string",
                "permissions": [
                    {
                        "platform": "string",
                        "role": "string",
                        "pageIds": [
                            "string"
                        ]
                    }
                ],
                "company": "string",
                "gender": "string",
                "telephone": "string"
            },
            "appId": "string",
            "body": "string",
            "score": 0,
            "commentTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 1
}

4.Application push

Users can push applications to carriers or third parties.

4.1 Query the list of pushable applications

Query the list of apps that can be pushed.

URI: /mec/appstore/v1/packages/pushable
METHOD: GET

Response examples:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

4.2 Get pushes app

Get the push app based on packageId.

URI: /mec/appstore/v1/packages/{packageId}/pushable
METHOD: GET

name

describe

IN

compulsory choice

packageId

Application package ID

path

yes

Response examples:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

4.3 Push application package

Push the application based on the packageId.

URI: /mec/appstore/v1/packages/{packageId}/action/push
METHOD: POST

name

describe

IN

compulsory choice

packageId

Application package ID

path

yes

dto

List of operators

request param

yes

Response examples:

200 OK
  [true, false, true]

4.4 Download push app

Download the push app based on the packageId.

URI: /mec/appstore/v1/packages/{packageId}/action/download-package
METHOD: GET

name

describe

IN

compulsory choice

packageId

Application package ID

path

yes

Response examples:

200 OK
  binary output.

4.5 Download push app icon

Download the push app icon based on the packageId.

URI: /mec/appstore/v1/packages/{packageId}/action/download-icon
METHOD: GET

name

describe

IN

compulsory choice

packageId

Application package ID

path

yes

Response examples:

200 OK
  binary output.

4.6 Query the list of pushable applications-v2

Query the list of apps that can be pushed.

URI: /mec/appstore/v2/packages/pushable
METHOD: GET

name

describe

IN

compulsory choice

limit

Paging query The number of queries per page [1,500]

request param

yes

offset

Paging query start page, starting from 0

request param

yes

sortItem

Query sort field

request param

no

sortType

Query sorting method ascending/descending

request param

no

appName

application name

request param

no

Response examples:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "name": "string",
            "provider": "string",
            "version": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "latestPushTime": "string",
            "pushTimes": 2,
            "sourcePlatform": "string",
            "targetPlatform": "string",
            "affinity": "string",
            "shortDesc": "string",
            "industry": "string",
            "type": "string",
            "createTime": "string",
            "deployMode": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 9
}

5.Warehouse management

Pruning the application warehouse.

5.1 Add to warehouse

Add an external application warehouse.

URI: /mec/appstore/v1/appstores
METHOD: POST

name

describe

IN

compulsory choice

appStoreName

Warehouse Name

request param

yes

appStoreVersion

Warehouse Version

request param

yes

company

Company Name

request param

yes

url

Access address

request param

yes

schema

Access agreements

request param

no

appPushIntf

Push mode

request param

no

appdTransId

Translator id

request param

yes

description

describe

request param

no

Response examples:

200 OK
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }

5.2 Delete warehouse

Deletes an external application warehouse.

URI: /mec/appstore/v1/appstores/{appStoreId}
METHOD: DELETE

name

describe

IN

compulsory choice

appStoreId

Warehouse id

path

yes

Response examples:

200 OK
  delete success

5.3 Modification of warehouse

Modify the external application warehouse.

URI: /mec/appstore/v1/appstores/{appStoreId}
METHOD: PUT

name

describe

IN

compulsory choice

appStoreId

Warehouse Name

path

yes

appStoreName

Warehouse Name

request param

yes

appStoreVersion

Warehouse Version

request param

yes

company

Company Name

request param

yes

url

Access address

request param

yes

schema

Access agreements

request param

no

appPushIntf

Push mode

request param

no

appdTransId

Translator id

request param

yes

description

describe

request param

no

Response examples:

200 OK
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }

5.4 Query warehouse list

Query the list of external application warehouses.

URI: /mec/appstore/v1/appstores
METHOD: GET

name

describe

IN

compulsory choice

appStoreName

Warehouse Name

request param

yes

company

Company Name

request param

yes

Response examples:

200 OK
[
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }
]

5.5 Query warehouse

Query the external application warehouse.

URI: /mec/appstore/v1/appstores/{appStoreId}
METHOD: GET

name

describe

IN

compulsory choice

appStoreId

Warehouse Name

path

yes

Response examples:

200 OK
  {
    "appStoreId": "string",
    "appStoreName": "string",
    "appStoreVersion": "string",
    "company": "string",
    "url": "string",
    "schema": "string",
    "appPushIntf": "string",
    "appdTransId": "string",
    "description": "string",
    "addedTime": "string",
    "modifiedTime": "string"
  }

5.6 List of warehouse queries

Query the list of external application warehouses.

URI: /mec/appstore/v2/appstores
METHOD: GET

name

describe

IN

compulsory choice

appStoreName

Warehouse Name

request param

yes

company

Company Name

request param

yes

limit

Paging query The number of queries per page [1,500]

request param

yes

offset

Paging query start page, starting from 0

request param

yes

Response examples:

200 OK
{
    "results": [
        {
            "appStoreId": "string",
            "appStoreName": "string",
            "appStoreVersion": "string",
            "company": "string",
            "url": "string",
            "schema": "string",
            "appPushIntf": "string",
            "appdTransId": "string",
            "description": "string",
            "addedTime": "string",
            "modifiedTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 2
}

6.Information

The message includes information such as application push, download, notification and so on.

6.1 Add message

Add a message.

URI: /mec/appstore/v1/messages
METHOD: POST

name

describe

IN

compulsory choice

basicInfo

Basic information

request param

yes

sourceAppStore

Source AppStore

request param

yes

targetAppStore

Target AppStore

request param

yes

atpTestStatus

ATP Test Results

request param

yes

atpTestTaskId

ATP Test Task Id

request param

yes

atpTestReportUrl

ATP Test Report

request param

yes

packageDownloadUrl

App Download Address

request param

yes

iconDownloadUrl

Application Icon Download Address

request param

yes

Response examples:

200 OK
  add a message success

6.2 Get all the information

Obtaining information according to the message type.

URI: /mec/appstore/v1/messages
METHOD: GET

name

describe

IN

compulsory choice

messageType

Message Type

request param

no

Response examples:

200 OK
[
  {
    "messageId": "string",
    "basicInfo": {
      "name": "string",
      "provider": "string",
      "version": "string",
      "affinity": "string",
      "shortDesc": "string",
      "industry": "string",
      "type": "string"
    },
    "messageType": "string",
    "sourceAppStore": "string",
    "targetAppStore": "string",
    "time": "string",
    "description": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "iconDownloadUrl": "string",
    "readed": true
  }
]

6.3 Access to information

Get the message according to message id.

URI: /mec/appstore/v1/messages/{messageId}
METHOD: GET

name

describe

IN

compulsory choice

messageId

Message id

request param

yes

Response examples:

200 OK
  {
    "messageId": "string",
    "basicInfo": {
      "name": "string",
      "provider": "string",
      "version": "string",
      "affinity": "string",
      "shortDesc": "string",
      "industry": "string",
      "type": "string"
    },
    "messageType": "string",
    "sourceAppStore": "string",
    "targetAppStore": "string",
    "time": "string",
    "description": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "iconDownloadUrl": "string",
    "readed": true
  }

6.4 Delete message

Deletes a message according to message id.

URI: /mec/appstore/v1/messages/{messageId}
METHOD: DELETE

name

describe

IN

compulsory choice

messageId

Message id

request param

yes

Response examples:

200 OK
  delete success

6.5 Receiving information

Download the app-related information according to message id.

URI: /mec/appstore/v1/messages/{messageId}/action/download
METHOD: GET

name

describe

IN

compulsory choice

messageId

Message id

request param

yes

request

Request body

request param

yes

Response examples:

200 OK
  success

6.6 Update Status

Update the message status according to message id.

URI: /mec/appstore/v1/messages/{messageId}/action/readed
METHOD: PUT

name

describe

IN

compulsory choice

messageId

Message id

request param

yes

Response examples:

200 OK
  success

6.7 Add Message-v2

Add a message.

URI: /mec/appstore/v2/messages
METHOD: POST

name

describe

IN

compulsory choice

basicInfo

Basic information

request param

yes

sourceAppStore

Source AppStore

request param

yes

targetAppStore

Target AppStore

request param

yes

atpTestStatus

ATP Test Results

request param

yes

atpTestTaskId

ATP Test Task Id

request param

yes

atpTestReportUrl

ATP Test Report

request param

yes

packageDownloadUrl

App Download Address

request param

yes

iconDownloadUrl

Application Icon Download Address

request param

yes

Response examples:

200 OK
  {
    "data": "add a message success",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
  }

6.8 Get all messages-v2

Get messages in pages according to query conditions.

URI: /mec/appstore/v2/messages/action/query
METHOD: POST

Request parameters:

name

describe

IN

compulsory choice

QueryMessageReqDto

Query conditions

request body

yes

QueryMessageReqDto

Field name

describe

Field Type

compulsory choice

messageType

Message Type

String

no

limit

Paging query The number of queries per page [1,500]

int

yes

offset

Paging query start page, starting from 0

int

yes

sortItem

Query sort field

String

no

sortType

Query sorting method ascending/descending

String

no

appName

application name

String

no

timeFlag

Message time mark, enumerated values are: today, within a week, within a month and earlier

enum

no

allMessage

6.2 Get all the information

boolean

yes

readable

When not getting all messages, get read/unread messages

boolean

yes

Response examples:

200 OK
{
    "results": [
        {
            "messageId": "string",
            "basicInfo": {
                "name": "string",
                "provider": "string",
                "version": "string",
                "affinity": "string",
                "shortDesc": "string",
                "industry": "string",
                "type": "string"
            },
            "messageType": "string",
            "sourceAppStore": "string",
            "targetAppStore": "string",
            "time": "string",
            "description": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "iconDownloadUrl": "string",
            "readed": true
        }
    ],
    "limit": 8,
    "offset": 0,
    "total": 2
}

7.Application pulling

Users can pull applications from operators or third-party warehouses.

7.1 Inquivable application list

Query the list of applications that can be pulled.

URI: /mec/appstore/v1/packages/pullable
METHOD: GET

Response examples:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

7.2 Get external application warehouse to pull application list

Obtaining an external warehouse according to the platfromId to pull the application list.

URI: /mec/appstore/v1/packages/{platformId}/pullable
METHOD: GET

name

describe

IN

compulsory choice

platformId

External application warehouse ID

path

yes

Response examples:

200 OK
[
  {
    "appId": "string",
    "packageId": "string",
    "name": "string",
    "provider": "string",
    "version": "string",
    "atpTestStatus": "string",
    "atpTestTaskId": "string",
    "atpTestReportUrl": "string",
    "latestPushTime": "string",
    "pushTimes": "string",
    "targetPlatform": "string",
    "affinity": "string",
    "shortDesc": "string",
    "industry": "string",
    "type": "string",
    "createTime": "string"
  }
]

7.3 Lafetch application package

According to the packageId pull application package.

URI: /mec/appstore/v1/packages/{packageId}/action/pull
METHOD: POST

name

describe

IN

compulsory choice

packageId

Application package ID

path

yes

PullAppReqDto

Pull request

request body

yes

PullAppReqDto:

Field name

describe

Message Type

compulsory choice

sourceStoreId

Warehouse id

string

yes

sourceStoreName

Warehouse Name

string

yes

name

application name

string

yes

provider

Application provider

string

yes

version

App version

string

yes

atpTestStatus

Get the working status of the application.

string

yes

affinity

Architecture

string

yes

shortDesc

Description of application

string

yes

showType

Type of application

string

yes

industry

Application to industry

string

yes

type

Type of application

string

yes

userId

User ID

string

yes

userName

User name

string

yes

Response examples:

200 OK
  true

7.4 Paging query to pull application list-v2

Paging to query the list of applications that can be pulled.

URI: /mec/appstore/v2/packages/pullable
METHOD: GET

name

describe

IN

compulsory choice

limit

Paging query The number of queries per page [1,500]

request param

yes

offset

Paging query start page, starting from 0

request param

yes

sortItem

Query sort field

request param

no

sortType

Query sorting method ascending/descending

request param

no

appName

application name

request param

no

Response examples:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "name": "string",
            "provider": "string",
            "version": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "latestPushTime": "string",
            "pushTimes": "string",
            "targetPlatform": "string",
            "affinity": "string",
            "shortDesc": "string",
            "industry": "string",
            "type": "string",
            "createTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 2
}

7.5 Get the list of applications that can be pulled from the external application repository-v2

Obtaining an external warehouse according to the platfromId to pull the application list.

URI: /mec/appstore/v2/packages/{platfromId}/pullable
METHOD: GET

name

describe

IN

compulsory choice

platformId

External application warehouse ID

path

yes

limit

Paging query The number of queries per page [1,500]

request param

yes

offset

Paging query start page, starting from 0

request param

yes

sortItem

Query sort field

request param

no

sortType

Query sorting method ascending/descending

request param

no

appName

application name

request param

no

Response examples:

200 OK
{
    "results": [
        {
            "appId": "string",
            "packageId": "string",
            "name": "string",
            "provider": "string",
            "version": "string",
            "atpTestStatus": "string",
            "atpTestTaskId": "string",
            "atpTestReportUrl": "string",
            "latestPushTime": "string",
            "pushTimes": "string",
            "targetPlatform": "string",
            "affinity": "string",
            "shortDesc": "string",
            "industry": "string",
            "type": "string",
            "createTime": "string"
        }
    ],
    "limit": 1,
    "offset": 0,
    "total": 2
}

8.Sandbox Management

Manage the sandbox environment.

8.1 Query the sandbox environment list

Query the list of sandbox environments.

URI: /mec/appstore/v1/system/hosts
METHOD: GET

name

describe

IN

compulsory choice

userId

User ID

request param

no

name

Manage the sandbox environment.

request param

no

ip

Manage the sandbox environment.

request param

no

Response examples:

200 OK
[
  {
    "hostId": "string",
    "name": "string",
    "address": "string",
    "architecture": "string",
    "status": "NORMAL",
    "lcmIp": "string",
    "mecHost": "string",
    "protocol": "string",
    "port": 0,
    "os": "string",
    "parameter":"string",
    "portRangeMin": 0,
    "portRangeMax": 0
  }
]

8.2 Query the sandbox environment

Query the sandbox environment based on hostId.

URI: /mec/appstore/v1/system/hosts/{hostId}
METHOD: GET

name

describe

IN

compulsory choice

hostId

Manage the sandbox environment.

path

yes

Response examples:

200 OK

 {
   "hostId": "string",
   "name": "string",
   "address": "string",
   "architecture": "string",
   "status": "NORMAL",
   "lcmIp": "string",
   "mecHost": "string",
   "protocol": "string",
   "port": 0,
   "os": "string",
   "parameter":"string",
   "portRangeMin": 0,
   "portRangeMax": 0
 }

8.3 Add a sandbox environment

Add a sandbox environment.

URI: /mec/appstore/v1/system/hosts
METHOD: POST

name

describe

IN

compulsory choice

MepHost

Sandbox management request structure

request body

yes

MepHost
{
  "name": "string",
  "address": "string",
  "architecture": "string",
  "status": "NORMAL",
  "lcmIp": "string",
  "mecHost": "string",
  "protocol": "string",
  "port": 0,
  "os": "string",
  "parameter":"string",
  "portRangeMin": 0,
  "portRangeMax": 0
}

Response examples:

200 OK
true

8.4 Delete sandbox environment

Delete the sandbox environment based on hostId.

URI: /mec/appstore/v1/system/hosts/{hostId}
METHOD: DELETE

name

describe

IN

compulsory choice

hostId

Manage the sandbox environment.

path

yes

Response examples:

200 OK
true

8.5 Modify the sandbox environment

Modify the sandbox environment based on hostId.

URI: /mec/appstore/v1/system/hosts/{hostId}
METHOD: PUT

name

describe

IN

compulsory choice

hostId

Manage the sandbox environment.

path

yes

MepHost

Sandbox management request structure

request body

yes

MepHost
{
  "hostId": "string",
  "name": "string",
  "address": "string",
:se  "architecture": "string",
  "status": "NORMAL",
  "lcmIp": "string",
  "mecHost": "string",
  "protocol": "string",
  "port": 0,
  "os": "string",
  "parameter":"string",
  "portRangeMin": 0,
  "portRangeMax": 0
}

Response examples:

200 OK
true

8.6 Upload sandbox environment configuration file

Upload the sandbox environment configuration file.

URI: /mec/appstore/v1/system/host/files
METHOD: POST

name

describe

IN

compulsory choice

uploadFile

Papers

request body form

yes

userId

User ID

request param

yes

Response examples:

200 OK
{
  "fileId": "string",
  "fileName": "string",
  "url": "string",
  "userId": "string",
  "uploadDate": "2020-09-14T09:03:17.084Z",
  "filePath": "string",
  "temp": false
}

9.App online experience

You can experience the application online

9.1 Instantiate the application

Instantiate the application and start applying the online experience.

URI: /mec/appstore/v1/experience/deploy
METHOD: GET

name

describe

IN

compulsory choice

appId

Application ID

request param

no

packageId

Application package ID

request param

no

userId

User ID

request param

no

name

Manage the sandbox environment.

request param

no

ip

Manage the sandbox environment.

request param

no

Response examples:

200 OK
{
    "data": "[{"serviceName":"testApp","serviceName":"30258","mecHost":"127.0.0.1"}]",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
}

9.2 Release resources

The experience is complete and resources are released.

URI: /mec/appstore/v1/experience/clean
METHOD: POST

name

describe

IN

compulsory choice

packageId

Application package ID

request param

yes

userId

User ID

request param

no

name

Manage the sandbox environment.

request param

no

ip

Manage the sandbox environment.

request param

no

Response examples:

200 OK
true

9.3 Access to applications

Get the working status of the application.

URI: /mec/appstore/v1/experience/container/workStatus
METHOD: POST

name

describe

IN

compulsory choice

packageId

Application package ID

request param

no

userId

User ID

request param

no

name

Manage the sandbox environment.

request param

no

ip

Manage the sandbox environment.

request param

no

Response examples:

200 OK
{
    "data": "[{"serviceName":"testApp","serviceName":"30258","mecHost":"127.0.0.1"}]",
    "retCode": 0,
    "params": "[string]",
    "message": "string"
}

10. 应用变现

The application can be priced when the application is released, and the application can be monetized.

10.1 Order application

Create Order.

URI: /mec/appstore/v1/orders
METHOD: POST

name

describe

IN

compulsory choice

appId

APPID

request body

Yes

appPackageId

APP package ID

request body

Yes

appName

application name

request body

Yes

mecHostIp

Edge Node IP

request body

Yes

mecHostCity

edge node location

request body

Yes

Response examples:

response 200 OK
{
  "data": {
      "orderId": "",
      "orderNum": "",
  },
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}

10.2 Unsubscribe from apps

Unsubscribe the order.

URI: /mec/appstore/v1/orders/{orderId}/deactivation
METHOD: POST

name

describe

IN

compulsory choice

orderId

Order ID

path param

Yes

Response examples:

response 200 OK
{
  "data": null,
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}

10.3 Activate order

Activate the order.

URI: /mec/appstore/v1/orders/{orderId}/activation
METHOD: POST

name

describe

IN

compulsory choice

orderId

Order ID

path param

Yes

Response examples:

response 200 OK
{
  "data": null,
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}

10.4 Query order list

Get a list of orders.

URI: /mec/appstore/v1/orders/list
METHOD: POST

name

describe

IN

compulsory choice

appId

Application ID

request body

no

orderNum

order number

request body

no

status

Order Status

request body

no

orderTimeBegin

The start time of the order time range

request body

no

orderTimeEnd

The end time of the order time range

request body

no

QueryCtrlDto

Query conditions

request body

Yes

QueryCtrlDto

Field name

describe

Field Type

compulsory choice

limit

Paging query The number of queries per page [1,500]

int

yes

offset

Paging query start page, starting from 0

int

yes

sortItem

Query sort field

String

no

sortType

Query sorting method ascending/descending

String

no

Response examples:

response 200 OK
{
  "results": [
    {
      "orderId": "",
      "orderNum": "",
      "userId": "",
      "userName": "",
      "appId": "",
      "appName": "",
      "orderTime": "",
      "operateTime": "",
      "status": "",
      "mecHostIp": "",
      "mecHostCity": "",
      "detail": ""
    },
    {...}
  ],
  "offset": 0,
  "limit": 20,
  "total": 100
}

10.5 Query the list of edge nodes

Get edge node information.

URI: /mec/appstore/v1/mechosts?appId={appId}&packageId={packageId}
METHOD: GET

name

describe

IN

compulsory choice

appId

application Id

request param

no

packageId

application package Id

request param

no

Response examples:

response 200 OK
{
  "data": [
      {
          "mechostIp": "",
          "mechostName": "",
          "mechostCity": "",
          "vim": "",
          "affinity": ""
      }
  ],
  "retCode": 0,
  "params": ["", ""],
  "message": ""
}