渠道租户管理
本页接口使用 渠道平台 Token,统一请求头为 token: {platformToken}。POST 请求使用 Content-Type: application/json。
创建租户
POST /openapi/partner/account/create
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
code | string | 否 | 租户唯一编码,最长 64;不传或仅空白时由 AIS 生成 |
name | string | 是 | 租户名称,非空,最长 30 |
username | string | 否 | 管理员登录账号,最长 30;不传或空白时使用 name,须全局唯一 |
pwd | string | 否 | 管理员初始密码,传入时 6~20 字符;需要系统生成时省略字段,不传空字符串 |
startTime | string | 是 | yyyy-MM-dd,不得早于服务端当天 |
endTime | string | 是 | yyyy-MM-dd,严格晚于开始日期 |
priceLevel | string | 建议显式传 | DEFAULT、BASIC、STANDARD、PROFESSIONAL、CUSTOM;省略时默认 CUSTOM |
custom | object | 条件必填 | priceLevel=CUSTOM 时必填 |
custom.price | number | 条件必填 | 初始化金额,元,必须大于 0 |
custom.space | integer | 条件必填 | 初始化空间,MB,必须大于 0 |
contact | string | 否 | 联系人,最长 30 |
contactTitle | string | 否 | 职位,最长 255 |
phone | string | 否 | 联系电话,最长 11 |
email | string | 否 | 联系邮箱,最长 250 |
company、industry、remark | string | 否 | 公司、行业、备注,各最长 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 类型 | 说明 |
|---|---|---|
code | integer | 外层业务状态,8200 表示开户成功 |
message | string | 提示信息 |
data.code | string | 租户业务编码,用作契约 tenantCode |
data.name | string | 实际管理员登录账号,不是请求的租户展示名称 |
data.pwd | string | 初始登录密码,敏感信息,仅可信服务端保存与交付 |
data.apps | array[object] | 初始化应用,可为空,不保证固定数量 |
data.apps[].appid | string | 应用标识 |
data.apps[].category | string | 应用类别,按交付配置 |
data.apps[].accessToken | string | 应用访问凭据,敏感信息 |
data.apps[].secret | string | 应用密钥,敏感信息 |
响应示例
{
"code": 8200,
"message": "SUCCESS",
"data": {
"code": "partner_tenant_001",
"name": "partner_tenant_admin",
"pwd": "GENERATED_PASSWORD",
"apps": []
}
}
data.name 是实际管理员登录账号;data.code 是后续租户契约使用的租户编码。保存本次返回的初始密码。默认应用取决于初始化配置,apps 可能为空,不应假设总会创建两个应用;非空时应用项包括 appid、secret、accessToken、category。
创建不是覆盖更新接口。重复租户编码或管理员账号会失败;创建超时后先按编码查询确认,不应直接更换编码再次创建。
查询租户
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 类型 | 说明 |
|---|---|---|
id | integer | /主/键/i/d/ |
code | string | /租/户/编/码/ |
name | string | /租/户/名/称/;/不/要/与/开/户/响/应/ /d/a/t/a/./n/a/m/e/ /的/管/理/员/账/号/口/径/混/淆/ |
contact | string | /联/系/人/ |
phone | string | /电/话/手/机/号/ |
startTime | string | /合/同/开/始/时/间/,/格/式/以/部/署/序/列/化/配/置/为/准/ |
endTime | string | /合/同/截/止/时/间/,/格/式/以/部/署/序/列/化/配/置/为/准/ |
createTime | string | /创/建/时/间/,/格/式/以/部/署/序/列/化/配/置/为/准/ |
contactTitle | string | /联/系/人/职/位/ |
email | string | /联/系/邮/箱/ |
company | string | /公/司/名/称/ |
remark | string | /备/注/ |
priceLevel | string | /租/户/价/格/等/级/ |
tokenAmount | number | /账/户/总/金/额/,/元/;/按/实/际/套/餐/及/充/值/配/置/ |
useTokenAmount | number | /已/使/用/金/额/,/元/ |
useTokenNumber | integer | /已/消/耗/ /T/o/k/e/n/ /总/数/ |
storage | integer | /总/存/储/,/字/节/ |
useStorage | integer | /已/使/用/存/储/,/字/节/ |
响应示例
旧日期字段以下采用日期时间字符串示意,联调时确认部署返回格式。
{
"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。服务端校验新截止日期晚于租户开始日期;若业务只允许延长,调用方还应先查询并确保新日期晚于原截止日期。
请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 是 | 租户名称或编码,推荐编码 |
endTime | string | 是 | 新合同截止日期,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 类型 | 说明 |
|---|---|---|
code | integer | 8200 表示修改成功 |
message | string | 提示信息 |
data | string | 结果字符串,不是更新后的合同对象 |
{"code":8200,"message":"SUCCESS","data":""}
成功后查询租户,核对 endTime。不要用响应字符串推导剩余合同天数。
充值或存储扩容
POST /openapi/partner/account/recharge
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 是 | 租户名称或编码 |
category | string | 是 | INCREMENT 金额充值;STORAGE_ADD 存储扩容 |
size | integer | 是 | 充值金额或空间数量,使用正整数 |
storageUnit | string | 是 | MB 或 GB;当前接口在金额充值时也要求提供有效单位,金额含义不受该字段影响 |
{
"name": "partner_tenant_001",
"category": "STORAGE_ADD",
"size": 512,
"storageUnit": "MB"
}
延期和充值成功返回 code=8200,data 为结果字符串。提示随语言变化。充值无请求幂等键,网络超时后应先核对账户变化,避免重复充值。
调用示例
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 类型 | 说明 |
|---|---|---|
code | integer | 8200 表示操作成功 |
message | string | 结果提示 |
data | string | 结果字符串,不包含订单号、余额或幂等键 |
{"code":8200,"message":"SUCCESS","data":""}
INCREMENT 的 size 为金额数量,按元理解;STORAGE_ADD 的 size 与 storageUnit 一起决定新增空间。充值属于有业务副作用的写操作,调用前后记录租户编码、类别、数量和查询结果,用于对账。