千夜网 · 体培通 · 开发者文档
体培通三方知识库对接 API
把你的教材、视频集合、教练培训课程**一次提交、多表落地**到体培通: KB 文章、教案模板、视频库、教练课程同步入库。
1. 鉴权
所有 endpoint 通过 HTTP Header 鉴权:
X-Knowledge-Integration-Key: <your_api_key>
X-Tenant-Id: 1 # 可选;若你的 Key 已绑定租户可省略联系商务 partners@1001n.cn 申请 Key; Key 落库为 SHA-256 hash,明文仅展示一次。
2. Endpoint 速查
| 方法 | 路径 | 用途 | 最大批量 |
|---|---|---|---|
| POST | /api/v1/qx/tpt/integration/v1/lesson-pack | 教案包:KB 文章 + 教案 + 视频三表落库 | 500 / 批 |
| POST | /api/v1/qx/tpt/integration/v1/video-pack | 纯视频批量入库 | 500 / 批 |
| POST | /api/v1/qx/tpt/integration/v1/coach-course-pack | 教练通道 + N 课程 | 500 课程 / 批 |
| POST | /api/v1/qx/tpt/integration/v1/bulk-articles | 纯文章批量入库 | 500 / 批 |
| GET | /api/v1/qx/tpt/integration/v1/status?batch_no= | 查询批次状态 | — |
| GET | /api/v1/qx/tpt/integration/v1/partner/me | 查询当前 Key 配额 | — |
3. 教案包(lesson-pack)
一次提交多个教案,每个教案会同步落到 KB 文章 + 教案模板 + 视频库三张表。
请求示例
POST /api/v1/qx/tpt/integration/v1/lesson-pack
X-Knowledge-Integration-Key: ckp_xxx
Content-Type: application/json
{
"batch_no": "AC-2026Q2-FOOTBALL-U12",
"items": [
{
"external_id": "ac-2026-001",
"title": "U12 1v1 突破:左路 step-over",
"category_id": 1,
"corner_focus": ["technical"],
"age_range": [10, 14],
"duration_min": 60,
"rpe_target": 6,
"body_md": "# 教练说明\n...",
"drills": { "warmup":[...], "main":[...], "cooldown":[...] },
"evaluation_schema": { ... },
"equipment": ["cone", "ball"],
"videos": [
{"external_id":"ac-vid-1","kind":"demo","cos_url":"https://...","duration_sec":120}
],
"tags": ["method:coerver","sport:football"]
}
]
}响应
{
"code": 200,
"data": {
"batch_no": "AC-2026Q2-FOOTBALL-U12",
"status": "success",
"success": 1,
"failed": 0,
"result_map": {
"ac-2026-001": {
"article_id": 9831,
"lesson_template_id": 552,
"video_ids": [3120]
}
}
}
}4. 视频包(video-pack)
纯视频批量入库,可选关联 corner 标签便于后续按四角检索。
POST /api/v1/qx/tpt/integration/v1/video-pack
{ "batch_no": "AC-VID-2026Q2", "items": [
{ "external_id":"v1","kind":"demo","title":"...","cos_url":"...","corner_focus":["technical"] }
] }5. 教练培训课程包(coach-course-pack)
一次提交 1 个 进阶通道 + N 个课程,自动绑定。
POST /api/v1/qx/tpt/integration/v1/coach-course-pack
{
"batch_no": "AC-COACH-2026Q2",
"track": {
"code": "academy-coerver-l2",
"name": "Coerver L2 高级控球",
"sport": "football",
"level": "L2"
},
"courses": [
{ "external_id":"c1","title":"控球大师 · 8 字绕桩","difficulty":"intermediate","credits":2,"duration_min":45 },
{ "external_id":"c2","title":"1v1 防守反应","difficulty":"intermediate","credits":2 }
]
}6. 幂等性与状态查询
- 幂等:
(partner_id, batch_no)是唯一键。重复 POST 同batch_no直接返回首次结果,不会重复入库。 - 原子性:单批 ≤ 500 条。批次内部失败逐项标错,整体不回滚(结果中
failed字段会标明数量)。 - 状态查询:
GET /api/v1/qx/tpt/integration/v1/status?batch_no=xxx
7. 命名空间与标签
所有写入的内容会自动附加以下标签便于审计与版权追踪:
tags: [
"partner:<your_partner_code>",
"purchased_pack:<batch_no>",
// ...你传入的自定义标签
]8. 配额与速率
默认配额(可按合作协议调整):
- 每月文章配额:10,000 条
- 每月视频配额:5,000 条
- 每分钟速率:60 次
超出时返回 HTTP 429 quota exceeded。
可通过 GET /api/v1/qx/tpt/integration/v1/partner/me 查询当前用量。
9. 错误码
| HTTP | 含义 | 应对 |
|---|---|---|
| 401 | Key 缺失/无效/过期/禁用 | 联系商务确认 Key 状态 |
| 400 | batch_no 缺失 / items 超限 / schema 错误 | 按响应 detail 修正 |
| 429 | 配额或速率超限 | 退避后重试,或申请提额 |
| 500 | 服务端异常 | 查询 status 接口确认实际入库结果 |
需要协助接入?
联系商务 partners@1001n.cn