成员与组织维度的 Credits 用量事件、汇总,以及共享资源包、席位·月余额批次与指定周期席位·月消耗查询说明。
文档说明
本文说明如何按成员或组织维度查询 Credits 用量事件与汇总,以及如何查询组织的共享资源包、席位·月余额批次明细与指定周期席位·月消耗(仅三方渠道购买组织适用)。调用前请完成 获取 API Key,并阅读 约定与规范。
权限要求
-
使用有效的 API Key。
-
API Key 须关联到目标组织。
概述
用量查询 API 提供成员级别的 Credits 用量明细和汇总查询,支持按日期、来源、操作和模型等级过滤;同时提供组织维度的共享资源包、席位·月余额批次与指定周期席位·月消耗查询,支持按状态、周期过滤和分页。
主要功能
-
用量事件列表: 分页查询成员的聚合 Credits 用量记录
-
用量汇总: 按维度(来源或操作)汇总成员在指定时间范围内的 Credits 消耗
-
组织资源包列表: 分页查询组织名下所有共享资源包的明细,包括激活时间、有效期、初始/已用/剩余额度与状态
-
席位·月余额批次列表: 分页查询组织名下所有席位·月余额批次的明细,包括来源渠道、剩余数量、生效/到期时间与状态
-
指定周期席位·月消耗列表: 分页查询组织成员在指定周期内的席位·月消耗情况
API 列表
1. 列出用量事件
GET /v1/organizations/{organization_id}/members/{member_id}/usage-events
分页获取指定成员的聚合 Credits 用量记录。
路径参数
|
参数 |
类型 |
必填 |
说明 |
|
|
string |
是 |
组织 ID |
|
|
string |
是 |
成员 ID |
查询参数
|
参数 |
类型 |
必填 |
说明 |
|
|
string |
否 |
开始时间,支持 RFC 3339 格式或 Unix 毫秒时间戳 |
|
|
string |
否 |
结束时间,支持 RFC 3339 格式或 Unix 毫秒时间戳 |
|
|
string |
否 |
按来源过滤,逗号分隔。可选值: |
|
|
string |
否 |
按操作过滤,逗号分隔。可选值: |
|
|
string |
否 |
按模型等级过滤,逗号分隔 |
|
|
integer |
否 |
每页数量(默认 20,最大 100) |
|
|
string |
否 |
分页游标 |
成功响应 (200 OK)
{
"usages": [
{
"timestamp": 1719849600000,
"userId": "user_abc123",
"userEmail": "user@example.com",
"source": "IDE",
"operation": "Agent",
"modelTier": "Ultimate",
"credits": 0.35,
"cost": 0.35
},
{
"timestamp": 1719849500000,
"userId": "user_abc123",
"source": "CLI",
"operation": "Completion",
"credits": 0.02,
"cost": 0.02
}
],
"maxResults": 20,
"nextToken": "eyJwYWdlIjogMn0="
}
部分记录可能不返回 userEmail 或 modelTier,集成时请按可选字段处理。
响应字段说明
|
字段 |
类型 |
说明 |
|
|
array |
用量记录列表 |
|
|
int64 |
开始时间(Unix 毫秒时间戳) |
|
|
string |
用户 ID |
|
|
string |
用户邮箱(可能为空) |
|
|
string |
来源 |
|
|
string |
操作 |
|
|
string |
模型等级(可能为空) |
|
|
float64 |
消耗 Credits(保留两位小数) |
|
|
float64 |
账单折算后的成本(保留两位小数) |
|
|
int32 |
本次请求的每页数量 |
|
|
string |
下一页游标,为空表示最后一页 |
2. 获取用量汇总
GET /v1/organizations/{organization_id}/members/{member_id}/usage-summary
按指定维度汇总成员在给定时间范围内的 Credits 消耗。时间范围不得超过 7 天。
查询参数
|
参数 |
类型 |
必填 |
说明 |
|
|
string |
是 |
开始时间 |
|
|
string |
是 |
结束时间 |
|
|
string |
是 |
分组维度: |
成功响应 (200 OK)
按来源汇总:
{
"summary": {
"IDE": 12.50,
"CLI": 3.25
}
}
按操作汇总:
{
"summary": {
"Agent": 8.40,
"Completion": 5.10,
"Inline Chat": 2.25
}
}
响应字段说明
|
字段 |
类型 |
说明 |
|
|
object |
汇总结果,key 为分组名称,value 为总 Credits |
|
|
float64 |
该分组的总 Credits 消耗(保留两位小数) |
3. 列出组织用量事件
GET /v1/organizations/{organization_id}/usage-events
分页获取指定组织下所有成员的聚合 Token 用量记录。返回结构与成员用量事件接口一致。
路径参数
|
参数 |
类型 |
必填 |
说明 |
|
|
string |
是 |
组织 ID |
查询参数与「列出用量事件」一致。响应字段定义与「1. 列出成员用量事件」完全一致。
4. 列出组织共享资源包
GET /v1/organizations/{organization_id}/resource-packages
按组织维度分页返回所有共享资源包明细。
查询参数
|
参数 |
类型 |
必填 |
说明 |
|
|
string |
否 |
按状态过滤: |
|
|
string |
否 |
排序字段: |
|
|
string |
否 |
排序方向: |
|
|
integer |
否 |
每页数量(默认 20,最大 100) |
|
|
string |
否 |
分页游标 |
成功响应 (200 OK)
{
"resourcePackages": [
{
"id": "pkg-001",
"name": "Enterprise Annual Pack",
"source": "purchased",
"status": "active",
"activatedAt": "2025-01-01T00:00:00Z",
"expiresAt": "2026-01-01T00:00:00Z",
"limitValue": 3000.0,
"usedValue": 800.0,
"remainingValue": 2200.0,
"unit": "credits"
}
],
"maxResults": 20,
"nextToken": "eyJwYWdlIjogMn0="
}
响应字段说明
|
字段 |
类型 |
说明 |
|
|
array |
资源包列表 |
|
|
string |
资源包唯一 ID |
|
|
string |
资源包名称 |
|
|
string |
来源: |
|
|
string |
状态: |
|
|
string |
激活时间(可能为空) |
|
|
string |
到期时间 |
|
|
float64 |
初始总额度 |
|
|
float64 |
已消耗额度 |
|
|
float64 |
剩余额度 |
|
|
string |
额度单位 |
状态说明
|
状态 |
说明 |
进入条件 |
|
|
生效中,可消费 |
资源包激活后默认进入 |
|
|
已用尽 |
剩余额度归零 |
|
|
已过期 |
系统定时任务翻转 |
|
|
已暂停 |
管理端手动操作 |
如需做精确的「真实可用」判定,建议在客户端结合 status 与 expiresAt 联合判断:真实可用 = status == "active" AND expiresAt > now
5. 列出组织席位·月余额批次
注意: 本接口仅适用于通过三方渠道(如云市场兑换码)购买的组织。
GET /v1/organizations/{organization_id}/seat-month-batches
按组织维度分页返回席位·月余额批次明细。
查询参数
|
参数 |
类型 |
必填 |
说明 |
|
|
string |
否 |
按状态过滤: |
|
|
integer |
否 |
每页数量(默认 100,最大 500) |
|
|
string |
否 |
页码游标 |
成功响应 (200 OK)
{
"seatMonthBatches": [
{
"id": "batch-001",
"redemptionCodeId": "rc-001",
"status": "active",
"sourceChannel": "REDEMPTION_CODE",
"thirdPartyInstanceId": "inst_xxx",
"productCode": "qoder_team_seat_month",
"reportRequired": true,
"totalSeatMonths": 120.0,
"usedSeatMonths": 30.0,
"remainingSeatMonths": 90.0,
"effectiveAt": "2026-06-01T00:00:00Z",
"expiresAt": "2026-09-01T00:00:00Z",
"createdAt": "2026-06-01T00:00:00Z",
"updatedAt": "2026-06-10T00:00:00Z"
}
],
"pageSize": 100,
"nextToken": "2"
}
如何计算当前可用席位·月余额
接口不直接返回总余额。可以按以下条件筛选批次再汇总 remainingSeatMonths:
可用批次 = status == "active"
AND effectiveAt <= now
AND expiresAt > now
AND remainingSeatMonths > 0
6. 查询指定周期席位·月消耗
注意: 本接口仅适用于通过三方渠道(如云市场兑换码)购买的组织。
GET /v1/organizations/{organization_id}/seat-month-usages
按组织维度分页返回指定周期范围内的成员席位·月消耗。
计算口径
netSeatMonths = max(consumedSeatMonths - refundedSeatMonths, 0)
查询参数
|
参数 |
类型 |
必填 |
说明 |
|
|
string |
是 |
周期范围开始时间,RFC 3339 格式 |
|
|
string |
是 |
周期范围结束时间,RFC 3339 格式 |
|
|
string |
否 |
按组织成员 ID 过滤 |
|
|
string |
否 |
按用户 ID 过滤 |
|
|
integer |
否 |
每页数量(默认 100,最大 500) |
|
|
string |
否 |
页码游标 |
成功响应 (200 OK)
{
"seatMonthUsages": [
{
"memberId": "member_abc123",
"userId": "user_abc123",
"periodStart": "2026-06-01T00:00:00Z",
"periodEnd": "2026-07-01T00:00:00Z",
"consumedSeatMonths": 20.0,
"refundedSeatMonths": 5.0,
"netSeatMonths": 15.0
}
],
"pageSize": 100,
"nextToken": "2"
}
响应字段说明
|
字段 |
类型 |
说明 |
|
|
string |
组织成员 ID |
|
|
string |
用户 ID |
|
|
string |
计费周期开始时间 |
|
|
string |
计费周期结束时间 |
|
|
float64 |
原始消耗的席位·月 |
|
|
float64 |
已返还的席位·月 |
|
|
float64 |
实际净消耗的席位·月 |
使用示例
列出成员用量事件
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/members/member_abc123/usage-events?maxResults=20" \
-H "Authorization: Bearer <api_key>"
按日期范围过滤
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/members/member_abc123/usage-events?startDate=2025-06-01T00:00:00Z&endDate=2025-06-30T23:59:59Z" \
-H "Authorization: Bearer <api_key>"
列出组织用量事件
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/usage-events?maxResults=20" \
-H "Authorization: Bearer <api_key>"
按来源汇总用量
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/members/member_abc123/usage-summary?startDate=2026-03-13T00:00:00Z&endDate=2026-03-20T00:00:00Z&groupBy=source" \
-H "Authorization: Bearer <api_key>"
列出组织资源包
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/resource-packages?status=active&orderBy=expiresAt&order=asc&maxResults=20" \
-H "Authorization: Bearer <api_key>"
列出组织席位·月余额批次
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/seat-month-batches?pageSize=100" \
-H "Authorization: Bearer <api_key>"
查询指定周期内的席位·月消耗
curl -X GET "https://api.qoder.com.cn/v1/organizations/org_xxx/seat-month-usages?periodStart=2026-06-01T00:00:00Z&periodEnd=2026-07-01T00:00:00Z&pageSize=100" \
-H "Authorization: Bearer <api_key>"
错误码
|
错误码 |
HTTP 状态码 |
说明 |
|
|
400 |
请求参数无效 |
|
|
401 |
API Key 缺失或无效 |
|
|
403 |
无权限访问该组织 |
|
|
404 |
资源不存在 |
|
|
500 |
服务器内部错误 |
错误响应结构见 约定与规范 中的「错误响应」一节。