Skip to main content

渠道租户管理

本页接口使用 渠道平台 Token,统一请求头为 token: {platformToken}。POST 请求使用 Content-Type: application/json

创建租户

POST /openapi/partner/account/create

字段类型必填说明
codestring租户唯一编码,最长 64;不传或仅空白时由 AIS 生成
namestring租户名称,非空,最长 30
usernamestring管理员登录账号,最长 30;不传或空白时使用 name,须全局唯一
pwdstring管理员初始密码,传入时 6~20 字符;需要系统生成时省略字段,不传空字符串
startTimestringyyyy-MM-dd,不得早于服务端当天
endTimestringyyyy-MM-dd,严格晚于开始日期
priceLevelstring建议显式传DEFAULTBASICSTANDARDPROFESSIONALCUSTOM;省略时默认 CUSTOM
customobject条件必填priceLevel=CUSTOM 时必填
custom.pricenumber条件必填初始化金额,元,必须大于 0
custom.spaceinteger条件必填初始化空间,MB,必须大于 0
contactstring联系人,最长 30
contactTitlestring职位,最长 255
phonestring联系电话,最长 11
emailstring联系邮箱,最长 250
companyindustryremarkstring公司、行业、备注,各最长 255

套餐资源与价格按实际商务及部署配置确定。以下是请求体示例,调用时请将起止日期替换为满足当前日期要求的值:

{
"code": "partner_tenant_001",
"name": "合作客户",
"username": "partner_tenant_admin",
"startTime": "2026-09-05",
"endTime": "2027-09-05",
"priceLevel": "CUSTOM",
"custom": {
"price": 1000,
"space": 512
}
}

调用示例

curl --request POST "${BASE_URL}/openapi/partner/account/create" \
--header "token: ${PLATFORM_TOKEN}" \
--header "Content-Type: application/json" \
--data '{"code":"partner_tenant_001","name":"合作客户","username":"partner_tenant_admin","startTime":"2026-09-05","endTime":"2027-09-05","priceLevel":"CUSTOM","custom":{"price":1000,"space":512}}'

日期必须按实际调用日调整;此请求会真实开户并分配资源,不用于生产连通性探测。

响应字段

字段JSON 类型说明
codeinteger外层业务状态,8200 表示开户成功
messagestring提示信息
data.codestring租户业务编码,用作契约 tenantCode
data.namestring实际管理员登录账号,不是请求的租户展示名称
data.pwdstring初始登录密码,敏感信息,仅可信服务端保存与交付
data.appsarray[object]初始化应用,可为空,不保证固定数量
data.apps[].appidstring应用标识
data.apps[].categorystring应用类别,按交付配置
data.apps[].accessTokenstring应用访问凭据,敏感信息
data.apps[].secretstring应用密钥,敏感信息

响应示例

{
"code": 8200,
"message": "SUCCESS",
"data": {
"code": "partner_tenant_001",
"name": "partner_tenant_admin",
"pwd": "GENERATED_PASSWORD",
"apps": []
}
}

data.name 是实际管理员登录账号;data.code 是后续租户契约使用的租户编码。保存本次返回的初始密码。默认应用取决于初始化配置,apps 可能为空,不应假设总会创建两个应用;非空时应用项包括 appidsecretaccessTokencategory

创建不是覆盖更新接口。重复租户编码或管理员账号会失败;创建超时后先按编码查询确认,不应直接更换编码再次创建。

查询租户

GET /openapi/partner/account/query

Query 参数 name 必填,接受租户名称或租户编码,推荐使用编码。查询限于当前渠道身份可管理的租户。

curl --get "${BASE_URL}/openapi/partner/account/query" \
--header "token: ${PLATFORM_TOKEN}" \
--data-urlencode "name=partner_tenant_001"

响应字段

外层为普通响应。以下字段位于 data;未填写联系资料可空。此接口不返回初始化密码或应用密钥。

字段JSON 类型说明
idinteger/主/键/i/d/
codestring/租/户/编/码/
namestring/租/户/名/称/;/不/要/与/开/户/响/应/ /d/a/t/a/./n/a/m/e/ /的/管/理/员/账/号/口/径/混/淆/
contactstring/联/系/人/
phonestring/电/话/手/机/号/
startTimestring/合/同/开/始/时/间/,/格/式/以/部/署/序/列/化/配/置/为/准/
endTimestring/合/同/截/止/时/间/,/格/式/以/部/署/序/列/化/配/置/为/准/
createTimestring/创/建/时/间/,/格/式/以/部/署/序/列/化/配/置/为/准/
contactTitlestring/联/系/人/职/位/
emailstring/联/系/邮/箱/
companystring/公/司/名/称/
remarkstring/备/注/
priceLevelstring/租/户/价/格/等/级/
tokenAmountnumber/账/户/总/金/额/,/元/;/按/实/际/套/餐/及/充/值/配/置/
useTokenAmountnumber/已/使/用/金/额/,/元/
useTokenNumberinteger/已/消/耗/ /T/o/k/e/n/ /总/数/
storageinteger/总/存/储/,/字/节/
useStorageinteger/已/使/用/存/储/,/字/节/

响应示例

旧日期字段以下采用日期时间字符串示意,联调时确认部署返回格式。

{
"code": 8200,
"message": "SUCCESS",
"data": {
"id": 101,
"code": "partner_tenant_001",
"name": "合作客户",
"contact": null,
"phone": null,
"startTime": "2026-09-05T00:00:00",
"endTime": "2027-09-05T00:00:00",
"createTime": "2026-09-05T10:30:00",
"contactTitle": null,
"email": null,
"company": null,
"remark": null,
"priceLevel": "CUSTOM",
"tokenAmount": 1000,
"useTokenAmount": 0,
"useTokenNumber": 0,
"storage": 536870912,
"useStorage": 0
}
}

custom.space 的入参单位是 MB,查询返回 storage 的单位是字节,例如 512 MB 对应 536870912 字节。时间序列化以部署版本为准,不能把合同日期字段当成契约 Token 的秒级时间戳。

租户延期

POST /openapi/partner/account/delay

{
"name": "partner_tenant_001",
"endTime": "2028-09-05"
}

name 为租户名称或编码,endTime 必填且格式为 yyyy-MM-dd。服务端校验新截止日期晚于租户开始日期;若业务只允许延长,调用方还应先查询并确保新日期晚于原截止日期。

请求字段

字段类型必填说明
namestring租户名称或编码,推荐编码
endTimestring新合同截止日期,yyyy-MM-dd
curl --request POST "${BASE_URL}/openapi/partner/account/delay" \
--header "token: ${PLATFORM_TOKEN}" \
--header "Content-Type: application/json" \
--data '{"name":"partner_tenant_001","endTime":"2028-09-05"}'

响应字段与示例

字段JSON 类型说明
codeinteger8200 表示修改成功
messagestring提示信息
datastring结果字符串,不是更新后的合同对象
{"code":8200,"message":"SUCCESS","data":""}

成功后查询租户,核对 endTime。不要用响应字符串推导剩余合同天数。

充值或存储扩容

POST /openapi/partner/account/recharge

字段类型必填说明
namestring租户名称或编码
categorystringINCREMENT 金额充值;STORAGE_ADD 存储扩容
sizeinteger充值金额或空间数量,使用正整数
storageUnitstringMBGB;当前接口在金额充值时也要求提供有效单位,金额含义不受该字段影响
{
"name": "partner_tenant_001",
"category": "STORAGE_ADD",
"size": 512,
"storageUnit": "MB"
}

延期和充值成功返回 code=8200data 为结果字符串。提示随语言变化。充值无请求幂等键,网络超时后应先核对账户变化,避免重复充值。

创建完成后,按 租户用户契约组织集成 初始化租户内资源。

调用示例

curl --request POST "${BASE_URL}/openapi/partner/account/recharge" \
--header "token: ${PLATFORM_TOKEN}" \
--header "Content-Type: application/json" \
--data '{"name":"partner_tenant_001","category":"STORAGE_ADD","size":512,"storageUnit":"MB"}'

响应字段与示例

字段JSON 类型说明
codeinteger8200 表示操作成功
messagestring结果提示
datastring结果字符串,不包含订单号、余额或幂等键
{"code":8200,"message":"SUCCESS","data":""}

INCREMENT 的 size 为金额数量,按元理解;STORAGE_ADD 的 size 与 storageUnit 一起决定新增空间。充值属于有业务副作用的写操作,调用前后记录租户编码、类别、数量和查询结果,用于对账。

租户生命周期的错误处理

场景操作建议
Token 无效或过期渠道 Token 刷新;对结果未知的写请求先核对业务状态
租户编码/管理员账号重复回查目标租户,不通过更换编码绕过重复校验
CUSTOM 配置不完整补齐正数 price、space
查询不到或不属于当前渠道检查编码和渠道身份,不跨渠道重试
延期结果未知查询并核对 endTime,再决定是否再次修改
充值/扩容结果未知停止自动重试,核对账户变化;必要时联系部署方对账

HTTP 状态和业务 code 的统一处理见 错误编码。不要将管理员密码、平台 Token、应用凭据或完整开户响应写入普通业务日志。