名词解释:
dspId,dspSecret。DSP入驻DCloud开放平台后,需配置希望获取开发者哪些信息,以及是否支持个人用户开户:
email,phone,realname,nickname,identity(个人为身份证号、企业为营业执照),bankInfo(开户行,开户名称,银行账号)app-android, app-ios, mp-weixin等;AndroidManifest、plist的位置{
"app-android": { // 平台
"appid": { // 该平台创建应用时,返回的字段名称
"title": "appid", // 字段在页面上的展示名称
"desc": "应用标识", // 字段描述
"androidManifest": { // 可选,如果需要在打包时将此字段配置到AndroidManifest,需要提供AndroidManifest中字段名称
"metaDataName": "dcloud_appid"
}
},
"appKey": {
"title": "",
"desc": "",
"androidManifest": {
"metaDataName": "dcloud_appkey"
}
},
"appSecret": {
"title": "",
"desc": ""
}
},
"app-ios": {
"appKey": {
"title": "",
"desc": "",
"plist": { // 可选,如果需要在打包时将此字段配置到plist,需要提供plist的参数配置路径
"keyPath": "sms:config:appKey"
}
},
},
"server": {
"masterSecret": {
"title": "",
"desc": "",
"uniConfigCenter": { // 可选。此字段需要配置到uni-config-center
"pluginId": "", // 此字段是uni-config-center的pluginId。不是插件市场的插件ID。
"keyPath": "sms:config:masterSecret" // 参数配置路径
}
}
}
}
开发者可在DCloud系统中,向DSP平台发起账号注册、修改、注销等流程。
具体流程为:
接口示例 /auth/register
请求参数
{
"dcloudOpenUid": "", // DCloud开放平台用户标识
"email": "mail@dcloud.io", // 账号绑定的邮箱
"phone": "13012345678", // 账号绑定的手机号
"userType": 1, // 用户类型:1为个人,2为企业
"name": "张三", // 用户名称。个人用户为姓名。企业用户为企业名称
"identity": "110110199001011234", // 个人用户为身份证号,企业用户为营业执照
"bankInfo": {
"bank": "招商银行北京支行", // 开户银行
"name": "张三", // 开户名
"account": "12345678" // 银行账号
}
"timestamp": 1633665031,
}
{
"errCode": 0,
"errMsg": "success"
}
接口同注册接口。
开发者通过一键登录,在DSP平台中注销。
开发者登录DCloud系统后,可一键登录DSP平台,避免二次登录,优化体验。
一键登录分为两个步骤:
接口示例 /auth/token
请求参数
{
"dcloudOpenUid": "",
"timestamp": 1633665031,
}
{
"errCode": 0,
"errMsg": "success",
"data": {
"authToken": "", // 登录凭证,应用相关接口都通过authToken鉴权
"expire": 3600 // authToken过期时间,单位为秒
}
}
https://dspdomain.com?dspId=xxx&authToken=xxx开发者可在DCloud系统中,向DSP平台发起应用注册、修改、删除流程。
接口示例 /app/create
请求参数
{
"pluginId": "",
"authToken": "",
"appName": "",
"appDesc": "",
"platforms": { // 此字段对应SDK注册时,DSP选择的平台。同时开发者在开通时可选择开通一个或多个平台
"app-android": {
"releasePackageName": "",
"debugPackageName": "",
"releaseCertSha1": "",
"debugCertSha1": "",
},
"app-ios": {
"releaseBundleId": "",
"debugBundleId": "",
},
"mp-wexin": {
"wxAppid": "",
},
"web": {
"domains": ["dcloud.io", "dcloud.net.cn"]
},
"webService": {
"ips": ["1.2.3.4","1.2.3.*"],
"domains": ["dcloud.io", "dcloud.net.cn"]
}
},
"timestamp": 1633665031,
}
{
"errCode": 0,
"errMsg": "success",
"data": {
"dspAppid": "",
"platforms": { // 此处返回的字段与SDK注册时配置的字段一致
"server": { // 客户端配套的server配置
"secret": "",
},
"app-android": {
"appid": "",
"appKey": "",
"appSecret": "",
},
"app-ios": {
"appid": "",
"appKey": "",
"appSecret": "",
},
"mp-weixin": {
},
"web": {
"appKey": "",
"jscode": ""
},
"webService": {
}
}
}
}
注意: 修改应用信息时,传递的是全量数据。如果某个平台以前开通过,在修改时没有传递,表明开发者需要删除该平台的配置。
接口示例 /app/modify
请求参数
{
"pluginId": "",
"authToken": "",
"dspAppid": "",
"appName": "",
"appDesc": "",
"platforms": { // 如果没有某个平台的参数,表示删除该平台配置
"app-android": {
"releasePackageName": "",
"debugPackageName": "",
"releaseCertSha1": "",
"debugCertSha1": "",
}
},
"timestamp": 1633665031,
}
{
"errCode": 0,
"errMsg": "success",
"data": {
"dspAppid": "",
"platforms": { // 此处返回的字段与SDK注册时配置的字段一致
"server": { // 客户端配套的server配置
"secret": "",
},
"app-android": {
"appid": "",
"appKey": "",
"appSecret": "",
}
}
}
}
接口示例 /app/delete
请求参数
{
"pluginId": "",
"authToken": "",
"dspAppid": "",
"timestamp": 1633665031,
}
{
"errCode": 0,
"errMsg": "success",
}
完整文档参考:https://ask.dcloud.net.cn/article/38005


如无特殊说明,API请求的HTTP Method均为POST
URL请求域名由DSP提供,协议:必须使用HTTPS。本文接口详述中使用的请求URL均为示例,实际上线时的URL以DSP提供的为准。
接口中描述的请求参数全部加密传输。请求参数只包含以下字段:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| dspId | int | 是 | DSP在DCloud开放平台注册账号后,DCloud返回的dspId |
| data | string | 是 | 各接口中定义的json string加密后的数据,加密数据见下文描述 |
支持HTTP标准状态码,具体如下:
| 状态码 | 名称 | 描述 |
|---|---|---|
| 200 | 成功 | 当 API 请求被正确处理,且能按设计获取结果时,返回该状态码; |
| 4xx | 接口调用方端错误 | 由接口调用方端原因造成的错误 |
| 5xx | DSP服务器端错误 | DSP API或其下层服务发生内部错误 |
接口DSP API响应的Content-Type应为application/json。
响应的JSON数据中包含三部分内容,分别为状态码、返回信息和数据,如下表所示:
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| errCode | int | 是 | 状态码: 0表示成功;其它表示错误 |
| errMsg | string | 是 | 返回信息:若有错误,此字段为详细的错误信息 |
| data | json object | 否 | 响应数据。此字段加密传输,加密前为json string。接口无需返回数据时,此字段为空。 |
所有要求加密的字段均采用AES256加密算法进行加密,加密后的数据使用base64编码。在DSP注册账号后,由DCloud开放平台提供加密的密钥dspSecret。
gCANeLWoh2CDulqLf0mVAartUFxoPqCn
{"pluginId":"1000","appName":"测试应用","appDesc":"测试应用","platforms":{"app-android":{"releasePackageName":"io.dcloud.sample","debugPackageName":"io.dcloud.sample.debug","releaseCertSha1":"E1:EF:48:A5:BE:E7:64:3E:61:A7:19:5C:FA:23:B1:30:83:29:42:7E","debugCertSha1":"83:85:A9:68:D3:C0:99:E3:20:E0:37:75:81:C5:66:F3:F3:CD:98:78"},"app-ios":{"releaseBundleId":"io.dcloud.sample","debugBundleId":"io.dcloud.sample.debug"}}}
GaySFnUw5yrvM3QPbdtqU7jCeozMPpy0vMv4Z7eaUSPjg9YYvXQw66QMOmYIBo4G862uWAX+4f5X1fJlOXWq2tr7S34hH0qftQ9rwLVKWt6mlhqfCh9GVSTsSv4vcV9HNePrmzxmMhEwDXWlWqaC2xXWd/94/Y07HuNPFR63yl3LTyIn8Y/0pACh7+rlwb44yYeQmI9MNymr7aa5d8RSWhGQ9EC3cPKV7qJjJ7fSXvILKpqIHqzeUecF3ydgIXGF4xzYZIqdgztGace4ddNEVnE7RJmz5F33RyyXMb1K1pjJKOjxZY1CMcNwZvpv4woxHzAJzmbtpHFHaXBJrP1kW3meJ9gqqriAn6Y1yNotkl6ffOVHfkR4G/d69wuOBC2l+KdcMqjnQ+6ijG/eDNzLdaSnpQjpo3+VyQunAZvxTJzxLaFV+K4ob9loxf3a/eCXjMbnybqmSMAQ1H+R2LqTHMtzh5B6bO9UInT44ad92EllKsvVgkzSFSjlPh6JfcdYHHXm/zA5bYvvkyJ9PSeH3sP2mgRXMBfGruqMjarhtPt3FIh3kPV2zTGJgs1Z139r