Page tree
Skip to end of metadata
Go to start of metadata

1. 概述


  • 应用管理接口为企业提供管理各种App应用API,比如:Iphone,Android等企业应用。

2. 接口详情

2.1 创建APP配置

  • 创建app配置需要向服务器发起一个POST请求。

Request

URL

POST /v2/plugin/app

Header

Content-Type:"application/json"
Access-Token:"Corp调用凭证"

Content

{
    "name" : "APP名称",
    "type" : "APP类型",
    "plugin" : "插件ID",
    "enable":"是否启用"
}
字段是否必须描述
nameAPP名称
typeAPP类型,见附录
pluginAPP的插件ID,见插件ID列表
enableAPP是否启用,默认不启用

Response

Header

HTTP/1.1 200 OK

Content

  • 通用返回数据:

    {
        "id":"APP的标识ID",
        "name":"APP名称",
        "type":"APP类型",
        "plugin" : "插件ID",
        "create_time": "创建时间",
        "secret": "app密钥",
        "enable" : true/false,
        "platform_status":"app平台状态",
        "fee_type":"插件付费类型,见附录",
        "config" : {
            APP配置,不同的插件ID,配置不同,见下方说明
        }
    }
    字段是否必须描述
    idAPP标识ID
    nameAPP名称,32个字符
    typeAPP类型,见附录
    pluginAPP的插件ID,见插件ID列表
    create_time创建时间
    secretAPP密钥
    enableAPP是否启用
    platform_statusapp的平台状态,见平台应用状态
    fee_type 插件付费类型,见附录
    configAPP的配置,不同的插件ID,配置不同,见插件配置说明

2.2 获取APP详细信息

  • 获取APP详细信息需要发起GET请求。

Request

  • 请求的url与header,其中url的{app_id}为创建app配置响应的APP标识ID,后面对应的{app_id}与此一样。

URL

GET /v2/plugin/app/{app_id}

Header

Content-Type:"application/json"
Access-Token:"调用凭证"

Content

Response

Header

HTTP/1.1 200 OK

Content

  • 通用返回数据:

    {
        "id":"APP的标识ID",
        "name":"APP名称",
        "type":"APP类型",
        "plugin" : "插件ID",
        "create_time": "创建时间",
        "secret": "app密钥",
        "enable" : true/false,
        "platform_status":"app平台状态",
        "fee_type":"插件付费类型,见附录",
        "config" : {
            APP配置,不同的插件ID,配置不同,见下方说明
        }
    }
    字段是否必须描述
    idAPP标识ID
    nameAPP名称,32个字符
    typeAPP类型,见附录
    pluginAPP的插件ID,见插件ID列表
    create_time创建时间
    secretAPP密钥
    enableAPP是否启用
    platform_statusapp的平台状态,见平台应用状态
    fee_type 插件付费类型,见附录
    configAPP的配置,不同的插件ID,配置不同,见插件配置说明

2.3 获取APP列表

  • 获取APP列表需要向服务器发起GET请求。

Request

URL

GET /v2/plugin/apps

Header

Content-Type:"application/json"
Access-Token:"Corp调用凭证"

Content

Response

Header

HTTP/1.1 200 OK

Content

{
    "list":
        [
            {
               "id":"APP的标识ID",
                "name":"APP名称",
                "type":"APP类型",
                "plugin" : "插件ID",
                "create_time": "创建时间",
                "secret": "app密钥",
                "enable" : true/false,
                "platform_status":"app平台状态",
                "fee_type":"插件付费类型,见附录",
                "config" : {
                    APP配置,不同的插件ID,配置不同,见下方说明
                }
            },
        ]
}

获取的app列表可能有多个app信息,所以这是个app的数组,解析时需要按照数组方式解析。*

字段是否必须描述
idAPP标识ID
nameAPP名称,32个字符
typeAPP类型,见附录
pluginAPP的插件ID,见插件ID列表
create_time创建时间
secretAPP密钥
enableAPP是否启用
platform_statusapp的平台状态,见平台应用状态
fee_type 插件付费类型,见附录
configAPP的配置,不同的插件ID,配置不同,见插件配置说明

2.4 修改APP配置

  • 修改APP配置需要想服务器发起PUT请求。

Request

URL

PUT /v2/plugin/app/{app_id}

Header

Content-Type:"application/json"
Access-Token:"调用凭证"

Content

  • 通用配置数据:

    {
        "name":"APP名称",
        "enable" : true/false,
        "config" : {
            APP配置,不同的插件ID,配置不同,见下方说明
        }
    }
    字段是否必须描述
    nameAPP名称,32个字符
    enableAPP是否启用
    configAPP的配置,不同的插件ID,配置不同,见插件配置说明

Response

Header

HTTP/1.1 200 OK

Content

  • 通用返回数据:

    {
        "id":"APP的标识ID",
        "name":"APP名称",
        "type":"APP类型",
        "plugin" : "插件ID",
        "create_time": "创建时间",
        "secret": "app密钥",
        "enable" : true/false,
        "platform_status":"app平台状态",
        "config" : {
            APP配置,不同的插件ID,配置不同,见下方说明
        }
    }

2.5 删除APP配置

  • 当企业需要删除一个APP配置时,需要向服务器发起一个DELETE请求。

Request

URL

DELETE /v2/plugin/app/{app_id}

Header

Content-Type:"application/json"
Access-Token:"调用凭证"

Content

Response

Header

HTTP/1.1 200 OK

Content

2.6 获取平台提供的插件列表

  • 向平台获取平台提供的插件列表。***暂未提供,现阶段可以固定写死在页面里面***;

Request

URL

GET /v2/plugin/list

Header

Content-Type:"application/json"
Access-Token:"调用凭证"

Content

Response

Header

HTTP/1.1 200 OK

Content

{
    "plugins": [
        {
            "name": "消息群发",
            "type": 10,
            "plugin": "broadcast",
            "description": "让app具备消息广播,运营通知的特性",
            "pic_url": "",
            "top" : true
        },
        {
            "name": "HelpDesk",
            "type": 10,
            "plugin": "helpdesk",
            "description": "用户反馈",
            "pic_url": "",
            "top" : true        
        },
        {
            "name": "在线维保",
            "type": 10,
            "plugin": "warranty",
            "description": "在线维保",
            "pic_url": "",
            "top" : true
        },
        {
            "name": "经销商管理",
            "type": 10,
            "plugin": "dealer",
            "description": "经销商管理",
            "pic_url": "",
            "top" : true
        },
        {
            "name": "云菜谱",
            "type": 10,
            "plugin": "recipe",
            "description": "云菜谱",
            "top" : false
        },
        {
            "name": "Google nest互联",
            "type": 10,
            "plugin": "nest",
            "description": "Google nest互联",
            "top" : false
        },
        {
            "name": "支付网关",
            "type": 10,
            "plugin": "xpay",
            "description": "经销商管理",
            "top" : false
        },
        {
            "name": "iOS应用",
            "type": 1,
            "plugin": "ios",
            "description": "iOS应用"
        },
        {
            "name": "Android应用",
            "type": 2,
            "plugin": "android",
            "description": "Android应用"
        },
        {
            "name": "Web应用",
            "type": 3,
            "plugin": "web",
            "description": "Web应用"
        },  
        {
            "name": "微信应用",
            "type": 4,
            "plugin": "wechat",
            "description": "微信应用"
        }
    ]
}
字段是否必须描述
plugins平台提供的插件列表
name插件名称
typeAPP类型,见附录
类型为10的插件,为XLINK平台的固有插件;
pluginAPP的插件ID,见插件ID列表
description插件的描述
pic_url插件显示的图片地址
top是否置顶显示,默认为false

7.设置Android APP版本信息

提供给Android APP执行版本比较功能

Request

URL

POST /v2/plugin/app_android_apk/{app_id}

Header

Content-Type:"application/json"
Access-Token:"Corp调用凭证"

Content

{
    "url":"安卓APK文件的下载URL",
    "version":"APK的版本号",
    "illustration":"APK的版本说明",
    "md5":"文件md5校验值"
}   

Response

Header

HTTP/1.1 200 OK

Content

{
    "url":"安卓APK文件的下载URL",
    "version":"APK的版本号",
    "illustration":"APK的版本说明",
    "md5":"文件md5校验值"
}   
字段是否必须描述
url安卓APK文件的下载路径
version最新APK的版本号,整数
illustrationAPK的说明信息
md5文件md5校验值

8.获取Android APK最新版本

提供版本比较,和获取APK文件下载地址功能,不提供APK文件下载

Request

URL

GET /v2/plugin/app_android_apk/{app_id}/latest?corp_id={corp_id}

Header

Content-Type:"application/json"

Content

Response

Header

HTTP/1.1 200 OK

Content

{
    "url":"安卓APK文件的下载URL",
    "version":"APK的版本号",
    "illustration":"APK的版本说明",
    "md5":"文件md5校验值"
}   
字段是否必须描述
url安卓APK文件的下载路径
version最新APK的版本号,整数
illustrationAPK的说明信息
md5文件md5校验值

9. 上传SplashWnd图片

Request

URL

POST /v2/plugin/app_splashwnd_upload

Header

Content-Type:"application/json"
Access-Token:"Corp调用凭证"

Content

图片的二进制数据

Response

Header

HTTP/1.1 200 OK

Content

{
    "picture_id":"图片ID",
    "picture_size":"图片的大小",
    "picture_url":"图片下载地址",
    "create_time": "上传时间"
}   
字段是否必须描述
picture_idSplashWnd图片的id号
picture_size图片的大小,单位是Byte
picture_url图片下载地址
create_time图片的上传时间

10. 添加SplashWnd图片接口

厂商登录平台后,进入APP管理,可以添加SplashWnd图片,最多只能添加5张。

Request

URL

POST /v2/plugin/app_splashwnd

Header

Content-Type:"application/json"
Access-Token:"Corp调用凭证"

Content

{
    "app_id":"要添加图片的应用ID",
    "picture_description":"图片说明",
    "picture_id":"图片ID",
    "picture_size":"图片的大小",
    "picture_url":"图片下载地址",
    "create_time": "上传时间"
}   
字段是否必须描述
app_id要添加图片的应用ID
picture_description图片的说明信息,由厂家输入,不能超过140个字节
pictue_content图片内容

Response

Header

HTTP/1.1 200 OK

Content

{
    "picture_id":"图片ID",
    "picture_size":"图片的大小",
    "picture_url":"图片下载地址",
    "create_time": "上传时间"
}   
字段是否必须描述
picture_idSplashWnd图片的id号
picture_size图片的大小,单位是Byte
picture_url图片下载地址
create_time图片的上传时间

11. 删除SplashWnd图片接口

删除SplashWnd图片

Request

URL

DELETE /v2/plugin/app_splashwnd/{app_id}/{picture_id}

Header

Content-Type:"application/json"
Access-Token:"Corp调用凭证"

Content

Response

Header

HTTP/1.1 200 OK

Content

12. 获取SplashWnd图片列表

URL

POST /v2/plugin/app_splashwnd_list

Header

Content-Type:"application/json"

Content

{
    "corp_id":"企业的ID",
    "app_id":"应用的ID"
}   
字段是否必须描述
corp_id企业ID
app_id应用的ID

Response

Header

HTTP/1.1 200 OK

Content

{
    "count":5,
    "list":[{
        "picture_id":"图片ID",
        "picture_size":"图片的大小",
        "picture_url":"图片下载地址",
        "picture_description":"图片说明",
        "create_time": "上传时间"
    },
    ...
    ]
}
字段是否必须描述
picture_idSplashWnd图片的id号
picture_size图片的大小,单位是
picture_description图片的说明信息
picture_url图片下载地址
create_time图片的上传时间

13. 获取SplashWnd图片

URL

GET /v2/plugin/app_splashwnd/{app_id}/{picture_id}

Header

Content-Type:"application/json"

Content

Response

Header

HTTP/1.1 200 OK

Content

{
        "picture_id":"图片ID",
        "picture_size":"图片的大小",
        "picture_url":"图片下载地址",
        "picture_description":"图片说明",
        "create_time": "上传时间"
}
字段是否必须描述
picture_idSplashWnd图片的id号
picture_size图片的大小,单位是
picture_description图片的说明信息
picture_url图片下载地址
create_time图片的上传时间

14. 设置iOS APP的版本信息

  • 上传苹果应用的版本信息,将作为最新版本配置

Request

URL

POST /v2/plugin/app_ios_ipa/{app_id}

Header

Content-Type:application/json
Access-Token:"企业/Empower级别token"

Content

{
    "url":"苹果IPA文件的下载URL",
    "version":"苹果IPA的版本号",
    "illustration":"苹果IPA的版本说明",
    "md5":"文件md5校验值",
    "is_compel":"是否强制更新"
}
字段类型是否必须说明
url
string
苹果IPA文件的下载URL
version
string
苹果IPA的版本号
illustration
string
苹果IPA的版本说明
md5
string
文件md5校验值
is_compel
string
是否强制更新


Response

Header

HTTP/1.1 200 OK

Content

{
    "url":"苹果IPA文件的下载URL",
    "version":"苹果IPA的版本号",
    "illustration":"苹果IPA的版本说明",
    "md5":"文件md5校验值",
    "is_compel":"是否强制更新"
}
字段类型是否必须说明
url
string
苹果IPA文件的下载URL
version
string
苹果IPA的版本号
illustration
string
苹果IPA的版本说明
md5
string
文件md5校验值
is_compel
string
是否强制更新

14. 获取iOS APP的最新版本信息

  • 获取iOS APP最新版本配置信息

Request

URL

GET /v2/plugin/app_ios_ipa/{app_id}/latest?corp_id=xxxxx

Header

Content-Type:application/json
Access-Token:"Anybody级别token"

Response

Header

HTTP/1.1 200 OK

Content

{
    "id":"苹果IPA文件标识",
    "url":"苹果IPA文件的下载URL",
    "version":"苹果IPA的版本号",
    "illustration":"苹果IPA的版本说明",
    "md5":"文件md5校验值",
    "is_compel":"是否强制更新",
    "update_time":"版本更新时间",
    "create_time":"版本创建时间"
}
字段类型是否必须说明
idstring
苹果IPA文件标识
url
string
苹果IPA文件的下载URL
version
string
苹果IPA的版本号
illustration
string
苹果IPA的版本说明
md5
string
文件md5校验值
is_compel
string
是否强制更新
update_timestring版本更新时间
create_time
string版本创建时间

15. 获取iOS APP的版本列表信息

  • 获取iOS APP的版本列表信息

Request

URL

GET /v2/plugin/app_ios_ipa/{app_id}/history?offset=偏移量&limit=数量

Header

Content-Type:application/json
Access-Token:"企业/Empower级别token"

Response

Header

HTTP/1.1 200 OK

Content

{
	"count":"版本数量",
	"list":[
		{
			"id":"苹果IPA文件标识",
    		"url":"苹果IPA文件的下载URL",
    		"version":"苹果IPA的版本号",
    		"illustration":"苹果IPA的版本说明",
    		"md5":"文件md5校验值",
    		"is_compel":"是否强制更新",
    		"update_time":"版本更新时间",
    		"create_time":"版本创建时间"
		}
	]
}
字段类型是否必须说明
count
int版本数量
listarray版本列表
idstring
苹果IPA文件标识
url
string
苹果IPA文件的下载URL
version
string
苹果IPA的版本号
illustration
string
苹果IPA的版本说明
md5
string
文件md5校验值
is_compel
string
是否强制更新
update_timestring版本更新时间
create_time
string版本创建时间



插件配置说明

下面只列出来有差异的配置部分

  • iOS插件配置:

    {
        "type":"1",
        "plugin" : "ios",
        "config" {
            "apn":{
                "enable":"APN推送是否启用",
                "license_url":"APN密钥文件地址",
                "license_pwd":"APN密钥文件密码",
                "license_production":"APN密钥文件是否为正式发布"
            },
           "alipush":{
                "enable":"Alipush推送是否启用",
                "access_key_id":"Alipush访问key标识",
                "access_key_secret":"Alipush访问key秘钥",
                "app_key":"Alipush应用秘钥"
            }
        }
    }
    字段是否必须说明
    apn.anableAPN推送是否启用
    apn.license_urlAPN密钥文件地址
    apn.license_pwdAPN密钥文件密码
    apn.license_productionAPN密钥文件是否有正式发布,取值为true或false
    alipush.anableAlipush推送是否启用
    alipush.access_key_id
    Alipush访问key标识
    alipush.access_key_secret
    Alipush访问key秘钥
    alipush.app_key
    Alipush应用秘钥
  • Android插件配置:

    {
        "type":"2",
        "plugin" : "android",
        "config" : {
            "gcm":{
                "api_key":"安卓调用推送所需要的api key",
                "enable":"gcm推送是否启用",
                "apk_url":"apk下载连接",
                "apk_version":"apk版本",
                "apk_illustration":"apk升级说明",
                "apk_md5":"apk的md5值"
            },
           "alipush":{
                "enable":"Alipush推送是否启用",
                "access_key_id":"Alipush访问key标识",
                "access_key_secret":"Alipush访问key秘钥",
                "app_key":"Alipush应用秘钥"
            }
        }
    }
    字段是否必须说明
    gcm.api_key安卓调用推送所需要的api key
    gcm.enablegcm推送是否启用
    gcm.apk_urlapk下载连接
    gcm.apk_versionapk版本
    gcm.apk_illustrationapk升级说明
    gcm.apk_md5apk的md5值
    alipush.anableAlipush推送是否启用
    alipush.access_key_id
    Alipush访问key标识
    alipush.access_key_secret
    Alipush访问key秘钥
    alipush.app_key
    Alipush应用秘钥
  • Web插件配置:

    {
        "type":"3",
        "plugin" : "web",
        "config":{
            "url":"web指向的地址",
        }
    }
    字段是否必须说明
    urlweb指向的地址
  • 微信插件:

    {
        "type" : "10",
        "plugin" : "wechat",
        "config" : {
            "url":"托管URL地址",
            "token":"托管URL Token",
            "relay_url":"微信消息转发地址",
            "wechat":{
                "id":"公众号原始ID",
                "app_id":"微信公众号APPID",
                "app_secret" :"微信公众号APPSecret",
                "encrypt":"消息加密方式",
                "encoding_aes_key": "消息加密密钥,43位字符",
                "msg_template_ids":["template_id_1","template_id_2",....]
            }
        }
    }
    
    字段是否必须说明
    url自动生成的微信服务器托管URL
    token微信服务器托管URL使用的Token
    relay_url微信消息转发URL
    wechat.id公众号原始ID
    wechat.app_id微信公众号APPID
    wechat.app_secret微信公众号APPSecret
    wechat.encrypt消息加密方式,见下方说明
    wechat.encodeing_aes_key消息加密密钥,43位字符,根据加密方式是否启用
    wechat.msg_template_ids微信模板消息的id列表

    消息加密方式

    加密方式枚举值
    明文模式1
    兼容模式2
    安全模式3
  • 菜谱插件:

    {
        "type" : "10",
        "plugin" : "recipe",
        "config" : {
            "url":"菜谱url地址",
        }
    }
    字段是否必须说明
    url菜谱url地址
  • 维保插件:

    {
        "type" : "10",
        "plugin" : "warranty",
        "config" : {
            "url":"维保url地址",
        }
    }
    字段是否必须说明
    url维保url地址
  • Nest插件配置:

    {
        "type" : "10",
        "plugin" : "nest",
        "config" : {
            "client_id" : "在Nest官网注册开发者clientId",
            "client_secret" : "在Nest官网注册开发者clientSecret",
            "thermostat":{
                "enable":"是否启用"
            },
            "smoke":{
                "enable":"是否启用"
            }
    
        }
    }
    字段是否必须说明
    client_id在Nest官网注册开发者clientId;
    client_secret在Nest官网注册开发者clientSecret;
    thermostat.enableNest恒温器是否启用
    smoke.enable烟雾报警器是否启用
  • 消息推送配置:

    {
        "type" : "10",
        "plugin" : "broadcast",
        "config" : {
        }
    }
  • 帮助中心配置:

    {
        "type" : "10",
        "plugin" : "helpdesk",
        "config" : {
        }
    }
  • 经销商管理配置

    {
        "type" : "10",
        "plugin" : "dealer",
        "config" : {
        }
    }
  • 支付网关配置

    {
        "type" : "10",
        "plugin" : "xpay",
        "config" : {
        }
    }
  • 内容管理配置

    {
        "type" : "10",
        "plugin" : "content",
        "config" : {
            "url":"内容管理URL",
        }
    }
  • 空气质量配置

    {
        "type" : "10",
        "plugin" : "airquality",
        "config" : {
            "url":"空气质量URL",
        }
    }
  • 专家管理配置

    {
        "type" : "10",
        "plugin" : "experts",
        "config" : {
            "url":"专家管理URL",
        }
    }
  • 健康报告配置

    {
        "type" : "10",
        "plugin" : "medicalreport",
        "config" : {
            "url":"健康报告URL",
        }
    }
  • 运营管理配置

    {
        "type" : "10",
        "plugin" : "operateposition",
        "config" : {
            "url":"运营管理URL",
        }
    }
  • APP启动图片配置

    {
        "type" : "10",
        "plugin" : "splashwnd",
        "config" : {
        }
    }
  • 萤石互联

    {
        "type" : "10",
        "plugin" : "ezviz",
        "config" : {
            "app_key":"萤石平台的app_key",
            "app_secret":"萤石平台的app_secret"
        }
    }
  • Amazon Echo联动

    {
        "type" : "10",
        "plugin" : "avs",
        "config" : {
            "client_id":"厂商自定义的ID",
            "client_secret":"厂商自定义的secret",
            "scope":"亚马逊用的权限列表(最多15个,权限值之间使用,(逗号)隔开)",
            "redirect_url":"Alexa产生的Redirect URL",

         "custom_skill_configs":[{

           "skill_id":"skill id",

           "help_intent_response":"help intent的回复语",

               "cancel_intent_response":"cancel intent的回复语",

                        "stop_intent_response":“stop intent的回复语”,

           "launch_response":"launch intent的回复语"

            }]
        }
    }
  • 物联网连接器
     {
         "type" : "5",
         "plugin" : "connector",
         "config" : {
         }
     }

附录

APP类型

应用名称枚举值XLINK 模块插件说明
Iphone1iOS 程序
Android2Android 程序
Web3Web 程序
Wechat4微信程序
Connector5连接器程序
Xlink10Xlink平台
ThirdPart11合作伙伴开发模组(预留)

插件ID

插件ID描述
iosIOS应用
androidAndroid应用
webWeb应用
wechat微信应用
recipe云菜谱程序
warranty维保程序
broadcast消息推送
helpdesk用户反馈
dealer经销商管理
nestGoogle Nest网关
xpay支付网关
content内容管理
airquality空气质量
experts专家管理
medicalreport健康报告
operateposition运营管理
splashwndapp启动图片
ezviz萤石
avsAmazon Echo联动
heavybuyer大客户管理
heavybuyer_entry大客户入口
connector连接器

平台应用状态

枚举值说明
1未认证
2已认证
3预览

应用付费类型

枚举值说明
0免费
1收费

  • No labels