变更日志
NU Signal Partners API 的重要变更。版本固定在路径中(/v1);条目追踪 openapi/partner-api.yaml 的修订。
0.6.0
- 安全申请领取——新申请返回引用和一次性状态令牌。获批后,合作伙伴以原子方式领取一个有效 72 小时的 bootstrap 令牌。公开申请需要明确的隐私同意。
- 商业条款协议轴——使用类型、MG/RS、固定费用、API 与数据授权费、范围及合同快照固定在每个 deal 上,结算直接使用这些条款。
- 只读 Partner Portal——通过绝不存储原始 API 密钥的签名会话查看目录、deal 和 Production 结算。
- 加强环境隔离——金融结算 API 需要 Production 密钥;Sandbox 调用返回
production_key_required。
0.5.0
- 类型安全的 JS/TS SDK——
packages/sdk-js为所有 Partner API 路由提供具体请求与响应类型,包括公开申请和首个密钥 bootstrap。一致性测试会阻止缺失或过时的方法。 - 精确的 OpenAPI 响应约定——成功/错误封装及
required/nullable定义与实际响应一致;协议与结算详情始终提供updated_at水位标记。 - 会话吊销一致性——活动会话返回
revoked;已结束会话保留真实最终状态。allowed_ips仅适用于令牌签发,不绑定观众媒体 IP。 - 退款符号标准化——
REFUND.revenue_amount在账本中始终标准化为负数,并一致地从结算净收入中扣减。
0.4.0
- 托管 WebView 播放——
POST /playback/tokens现在除manifest外还返回托管webview_url。无需播放器集成即可在 WebView 或 iframe 中打开;二者绑定同一会话(播放 API)。 - 观众偏好——可选非 PII 的
preferences用于个性化 WebView 并存入会话(由GET /playback/sessions/{id}返回)。Schema 严格;含@或空格的值会以validation_failed(422)拒绝。 - 公开申请去重——24 小时内用相同联系邮箱重新提交
POST /partner-applications,不会创建新行,而是以200和deduped: true返回现有申请。
0.3.0
- 加强完整性保护——已知 Prisma 错误映射为清晰的 4xx 响应:
P2002→conflict(409)、P2003→validation_failed、P2025→resource_not_found(错误代码)。 - 请求大小上限——事件 payload 限制为 4 KB,请求字符串字段具有明确长度限制。
- 公开路由速率限制——未身份验证的
POST /partner-applications和POST /v1/api-keys/bootstrap按客户端 IP 限制为 20/min。 - 幂等冲突——使用处理中
X-NU-Request-Id重试创建播放令牌或授权请求时,返回conflict(409),不会重复写入。已完成请求重放原始响应。
0.2.0
- 标准错误封装——所有错误均使用固定代码集返回
{ "error": { code, message, request_id, details? } }(错误代码)。 - 请求头——正式规定
Authorization、X-NU-Partner-Id和可选X-NU-Request-Id(身份验证)。 - 事件分类——用于推导结算资格的规范
EventType值(事件 API)。 - 结算异议与调整——
POST /settlements/{id}/dispute及扩展的结算费用和分成字段(结算 API)。 - 游标分页——列表端点接受
cursor,并与 page/limit 一同返回next_cursor(目录 API)。
0.1.0 — 初始 Sandbox API
初始 MVP 框架:面向隔离 Sandbox 环境的目录、授权、播放和事件 API。