跳转至

Backend 接口文档

权威来源:src/backend/api/ + schemas/。本地可对照 FastAPI /docs。 响应包络:{ "code": number, "message": string, "data": T | null };成功默认 code=200。 Auth:Authorization: Bearer <token>,除非标注「公开」。

路径前缀约定:Admin 路由相对 /api/admin;其余相对 /apisub_types 自带 /api)。


1. 通用约定

说明
分页 常见 page / page_size;返回 PageResultPaginatedOut
错误 业务错误 code≠200;HTTP 401/403/404/409(如乐观锁)
文件上传 multipart/form-data;经 storage 落 OSS,返回 URL 或 object_key
副作用 下列「副作用」列标注写库表

2. Admin 认证(公开)

Method Path Auth Body 说明
POST /api/admin/auth/send-sms 公开 { phone } 发短信
POST /api/admin/auth/login 公开 { phone, code } 返回 Admin JWT

3. Admin — 产品、面料与风格

Method Path 副作用
GET/POST /api/admin/product-categories 写 categories
GET/PUT/DELETE /api/admin/product-categories/{id}
PUT /api/admin/product-categories/sort 排序
GET/POST /api/admin/product-sub-types
GET/PUT/DELETE /api/admin/product-sub-types/{id}
GET .../{id}/fabric-materials / .../suggested
POST /api/admin/product-sub-types/fabric-materials/batch 批量关联
CRUD /api/admin/fabric-types
CRUD /api/admin/fabric-materials
CRUD /api/admin/product-styles 模板风格(挂品类;主图/详情选型)
GET/PUT /api/admin/product-sub-types/{id}/comp-templates 等 scene/model 关联覆盖

Schema:schemas/admin/product.py、风格相关 schema。


4. Admin — 模板

4.1 构图 / 场景 / 模特

资源 路径前缀
构图 /api/admin/comp-templates GET/POST/PUT/DELETE
场景 /api/admin/scene-templates
模特 /api/admin/model-templates + /{id}/poses CRUD

4.2 主图 / 详情 / 复刻

路径模式(以 main 为例,detail/replica 同构):

Method Path
GET /api/admin/main-image-templates
GET /api/admin/main-image-templates/match
POST/PUT/DELETE /api/admin/main-image-templates / {id}
GET/POST /{id}/images
PUT/DELETE /{id}/images/{image_id} (+ /sort)

主图/详情 match 现网:优先 query product_category_id + style_id(品类×风格);同风格可多套。Create/Update body 写 product_category_ids / style_ids。旧 product_sub_type_id+fabric_material_id 兼容仍保留,C 端主路径不再使用。

4.3 Word / 库模板 / Prompt 测试

Method Path 说明
POST /api/admin/word/upload 上传 docx;主图/详情传 product_category_id+style_id(可选目标套)
GET/DELETE /api/admin/word/sessions / {id}
GET/DELETE /api/admin/word/prompt-items / {id}
GET/POST /api/admin/word/batch-test-* 批量测试与重试(含 stream)
POST /api/admin/library-templates/word-batch-import
POST /api/admin/library-templates/{library_type}/{template_id}/test-generate
GET /api/admin/library-templates/.../test-runs
GET /api/admin/prompt-test-runs / {run_id}
POST /api/admin/tasks/preview-prompt 预览组装
POST /api/admin/tasks/test-generate 测试生图

5. Admin — AI 模型与任务

Method Path 说明
CRUD /api/admin/ai-models 物理模型
CRUD /api/admin/ai-models/{id}/keys 私有 Key
CRUD /api/admin/ai-model-groups 模型池
POST/PUT/DELETE .../members / health 成员与健康
CRUD /api/admin/api-accounts 共享账号
POST/DELETE .../bind 绑定模型
CRUD /api/admin/model-generation-attributes 模特属性
GET /api/admin/tasks 任务列表
GET/DELETE /api/admin/tasks/{id}
POST /api/admin/tasks/{id}/cancel / retry

副作用:tasks / ai_* / prompt_test_runs。


6. Admin — 用户 / 配置 / 统计 / 存储

Method Path 说明
GET /api/admin/users / {id}
PUT /api/admin/users/{id}/status 启停
POST/DELETE /api/admin/users/{id}/admin 授予/撤销管理员
GET/POST /api/admin/users/{id}/subscriptions
GET/PUT /api/admin/users/{id}/quotas / {quota_id}
GET /api/admin/users/{id}/models 用户模特
GET/PUT /api/admin/system-configs / {config_key}
CRUD /api/admin/banners / feature-cards
GET /api/admin/operation-logs
GET /api/admin/statistics/overview\|usage\|tasks\|revenue
POST /api/admin/storage/upload 经 storage 上传

7. Admin — 计费运营

挂载于 /api/admin(billing router 无额外 prefix):

Method Path 说明
GET/POST /api/admin/plans 方案
GET/PUT /api/admin/plans/{id}
POST /api/admin/plans/reorder
GET /api/admin/orders / {id}
POST /api/admin/orders/{id}/refund 退款
GET /api/admin/withdrawals
POST /api/admin/withdrawals/{id}/approve\|reject
GET/POST /api/admin/agents
GET/PUT /api/admin/agents/{id}
GET/POST/PUT /api/admin/commission-rules
GET /api/admin/commission-records
POST /api/admin/commission-records/settle 批量结算
GET /api/admin/ledger / consumption
POST /api/admin/quota-reset
GET /api/admin/revenue-summary
POST /api/admin/commission-settlements/close 月结关账(幂等)
GET /api/admin/commission-settlements 月结批次列表settle_month
GET /api/admin/billing/recon/batches 日终对账批次biz_date
POST /api/admin/billing/recon/run 触发日终对账
POST /api/admin/billing/replay/user 单户回放(用户手机号)
POST /api/admin/billing/replay/agent 单户回放(代理手机号)

Schema:schemas/billing.pyschemas/admin/*。业务规则见 membership-agent-sales-guide.md;表结构见 data-model/billing.md


8. 用户认证(Canvas / Agent)

Method Path Auth Body / 说明
POST /api/auth/send-code 公开 { phone }
POST /api/auth/login 公开 { phone, code, as_agent? } → JWT
GET /api/auth/me User 当前用户

9. 代理门户与落地 / 结算 / 导出

9.1 Agents

Method Path Auth
POST /api/agents/register 视实现(公开注册,前端可能未挂)
GET /api/agents/me Agent
PUT /api/agents/me/commission-rate Agent;body 优惠比例 → customer_discount_rate
GET /api/agents/me/dashboard Agent
GET /api/agents/me/customers / {id} Agent
POST /api/agents/me/customers/{customer_id}/promote-sub-agent Agent;提拔客户为二级代理(设 sub_agent_share_rate
GET /api/agents/me/sub-agents Agent;二级代理列表
GET /api/agents/me/transactions Agent
GET /api/agents/me/commissions Agent

9.2 Landing

Method Path Auth 副作用
GET /api/landing/{referral_code} 公开 agent_link_clicks
POST /api/landing/{referral_code}/bind User customer_agent_bindings

9.3 Settlement

Method Path Auth
GET /api/settlement/status Agent
POST /api/settlement/scan/alipay / wechat Agent → 扫码会话
GET /api/settlement/scan/{token}/status Agent
POST /api/settlement/scan/{token}/mock-confirm Agent(开发)
POST /api/settlement/merchant-info Agent

9.4 Export(blob)

Method Path
GET /api/export/customers / transactions / commissions / summary

10. C 端计费与支付

Method Path Auth 说明
GET /api/billing/plans 公开/User 在售方案
GET /api/billing/plans/{plan_id}/quote User 新购/升级报价(含代理折扣)
POST /api/billing/orders User 创建订单
POST /api/billing/orders/{id}/prepay User 预支付参数
POST /api/billing/orders/{id}/sync-pay User 主动查单(回调丢失兜底)
GET /api/billing/orders / {id} User
GET /api/billing/quotas User 按 quota_type 的 total/used
GET /api/billing/concurrency User { concurrent_tasks }
GET /api/billing/storage User 储存用量 { storage_gb, total_bytes, used_bytes, remaining_bytes }
GET /api/billing/consumption User 扣点记录
GET /api/billing/ledger User 用户流水
GET /api/billing/login-points/today User 今日登录积分状态
POST /api/billing/login-points/claim User 领取今日登录积分
POST /api/billing/agents/register User
GET /api/billing/agents/me Agent
POST /api/billing/agents/me/withdraw Agent 提现申请
GET /api/billing/agents/me/commissions Agent
GET /api/billing/agents/me/withdrawals Agent 我的提现记录
POST /api/payment/notify/{method} 渠道 回调验签
GET /api/payment/return 公开 跳转回
POST /api/payment/mock-pay/{order_no} 开发 mock 支付成功

订单副作用:orderspayment_recordssubscriptions/usage_quotastransaction_ledgercommission_records

储存限容口径见 membership-agent-sales-guide.md:上传成功即占容;AI 生成图落 OSS 同样占容。


11. 画布 /api/canvas

Method Path Auth 说明
GET /config User 画布配置
POST /upload User 上传
POST /generate User 文生图
POST /generate-text User 文生文
GET/POST /projects User 列表/创建
GET/PUT/PATCH/DELETE /projects/{id} User 含 revision
PUT /projects/{id}/folder User 移动文件夹
GET/POST /folders User
PUT /folders/sort / {id} User
DELETE /folders/{id} User 项目归未分组
POST /assets/presign-upload User 预签名上传(预检容量)
POST /assets/confirm-upload User 预签名 PUT 成功后确认占容 { object_key, size }
POST /assets/release-storage User 画布删资产时释容 { object_key, size }
POST /assets/resolve-urls User 批量解析下载 URL
POST /assets/proxy-image User 代拉远程图
GET /runninghub/config User
POST /runninghub/run User

Schema:schemas/canvas.py。冲突:revision 不匹配 → HTTP 409。


12. C 端目录与生图 /api/user

Method Path Auth
GET /api/user/task-types User
GET /api/user/catalog/categories User
GET /api/user/catalog/sub-types User
GET /api/user/catalog/fabric-materials/{sub_type_id} User
GET /api/user/catalog/styles User
GET /api/user/catalog/hot-styles User
GET /api/user/catalog/hot-styles/{hot_style_id} User
GET /api/user/catalog/image-templates User
GET /api/user/catalog/image-template/match User
GET /api/user/catalog/image-template/{id}/images User
GET /api/user/catalog/ai-models User
GET /api/user/catalog/comp-templates 等 scene/model(+poses) / fabric-types User
POST /api/user/storage/upload User
POST /api/user/tasks/preview-prompt User
POST /api/user/tasks/generate User
POST /api/user/tasks/batch-generate User
GET /api/user/batch-jobs/{job_id} User
POST /api/user/batch-jobs/{job_id}/items/{item_index}/retry User

爆款模板:

  • GET /catalog/hot-styles:可选 category_id / product_sub_type_id 过滤启用款式
  • GET /catalog/hot-styles/{id}:详情含模板图摘要
  • batch-generate 支持 task_type=hot_template;params 需 hot_style_id + product_sub_type_id + ai_model_id + 产品参考图等,不要求 fabric_material_id;进度与 retry 与主图/详情相同

主图 / 详情(品类×风格):

  • GET /catalog/styles?category_id=:品类下启用风格
  • GET /catalog/image-templates?template_type=main|detail&product_category_id=&style_id=:同风格多套摘要(封面优先 Admin 指定,否则首图)
  • GET /catalog/image-template/match:同上参时返回首条(兼容)
  • batch-generate task_type=main_image|detail_image:params 含 product_category_idstyle_idimage_template_idmode=auto|copycustom_product/custom_material(必填)、可选 custom_othermode=copyinput_images.reference不再提交 product_sub_type_id / fabric_material_id

图现 Chat 会话归属(正文在 Hermes,backend 只存映射):

Method Path Auth
GET/POST /api/user/chat/sessions User
PATCH/DELETE /api/user/chat/sessions/{id} User
GET /api/user/chat/sessions/{id}/messages User

公开子类:

Method Path
GET /api/sub-types
GET /api/sub-types/{id}/fabric-materials

13. 用户资产与任务

Method Path Auth
GET/POST /api/user-assets / upload User
GET/PUT/DELETE /api/user-assets/{id} User
POST /api/tasks User 创建
GET /api/tasks / {id} User

14. 接口完整清单(方法 + 相对路径)

以下为从路由装饰器抽取的清单。Admin 项需加前缀 /api/admin;已含 /api/canvas 等的按表内路径理解。

Admin(前缀 /api/admin

GET/POST/PUT/DELETE  /ai-model-groups[/...]
GET/POST/PUT/DELETE  /ai-models[/.../keys]
GET/POST/PUT/DELETE  /api-accounts[/.../bind]
POST                 /auth/send-sms|/auth/login
CRUD                 /banners|/feature-cards|/comp-templates|/scene-templates
CRUD                 /model-templates[+poses]
CRUD+match+images    /main-image-templates|/detail-image-templates|/replica-image-templates
CRUD                 /fabric-types|/fabric-materials|/product-categories|/product-sub-types
子类模板关联          /product-sub-types/{id}/(comp|scene|model)-templates
CRUD                 /model-generation-attributes|/users[...]
GET/POST...          /tasks|/prompt-test-runs|/word/*|/library-templates/*
GET/PUT              /system-configs|/operation-logs|/statistics/*
POST                 /storage/upload
计费                 /plans|/orders|/withdrawals|/agents|/commission-*|/ledger|/consumption|/quota-reset|/revenue-summary

非 Admin(前缀多为 /api

/auth/*  /agents/*  /landing/*  /settlement/*  /export/*
/payment/*  /billing/*  /canvas/*  /user/*  /user-assets/*  /tasks/*
/api/sub-types/*

完整逐行列表可由 scripts/_extract_routes.py(开发辅助)再生;以代码为准


15. 联调提示

  1. Admin 前端 adminHttpClient baseURL=/api/admin
  2. Agent/Canvas httpClient baseURL=/api
  3. Vite 开发代理将 /apilocalhost:8001
  4. 密钥类字段响应中脱敏;请求勿提交真实生产密钥到文档仓库