开始接入
公开演员数据可由浏览器匿名读取;身份映射与购买只能由合作方后端使用JD1签名访问,终端浏览器不访问SZKL。
- Base URL
https://www.szkl.cn/api/v1- 业务环境
- 合作方仅接受production;须审核通过并完成配置
- 响应格式
- JSON(媒体与字幕除外);错误使用稳定的
error.code - 请求追踪
- 响应头
x-request-id
- 公开宣传媒体只用于发现与展示,不构成生产素材资格或商业授权。
- JD1私钥只能保存在合作方服务端,不得进入浏览器、移动端包或日志。
- 合作方调用需完成平台审核、线下合同登记和凭证配置。
接入流程
- 线下签署B端合作合同(合作方与巨东AI之间的框架合同)。
- 在
/partners/apply提交申请:工商主体、联系人、平台显示名称与合作方服务端生成的Ed25519公钥(SPKI PEM)。 - 审核通过后配置平台,发放
credentialId与权威audience;公钥指纹可在后台核对。 - 完成合同登记、凭证和权限配置后,合作方可调用身份绑定与购买接口。
- 预存余额充值后开始业务交易。
密钥生成(在合作方服务端执行)
openssl genpkey -algorithm ed25519 -out partner-private.pem # 私钥,仅保存在服务端
openssl pkey -in partner-private.pem -pubout -out partner-public.pem # 公钥,粘贴到申请表单公钥以-----BEGIN PUBLIC KEY-----开头;不要提交私钥、SSH格式或JWK。私钥丢失平台侧无法恢复;请联系管理员停用受影响凭证并安排重新配置。
Scope
- 身份与绑定
authorization_sessions:create / authorization_sessions:read / projects:bind / identity:assert_verified_email
以管理员实际配置的权限为准- 购买与资金
purchase:create / purchase:read / funds:read
以管理员实际配置的权限为准- 样片归档
content_archive
以管理员实际配置的权限为准
公开演员API
演员目录、详情和媒体端点允许任意Origin无凭据 GET/OPTIONS,禁止携带Cookie或Authorization。公开核验端点只提供匿名 GET,不读取登录会话。媒体URL以响应中的绝对公开地址为准。
- GET匿名
/health读取服务健康与部署环境
- GET匿名
/actors搜索和分页读取公开演员
- GET匿名
/actors/{actorCode}读取演员详情和公开形象
- GET匿名
/media/{publicId}读取已发布宣传媒体
- GET匿名
/media/{publicId}/captions读取已发布字幕
- GET匿名
/verification/{token}查询公开授权核验事实
最小请求
curl -H "Accept: application/json" \
"https://www.szkl.cn/api/v1/actors?limit=24&offset=0"公开读取错误:参数无效为400 BAD_REQUEST,资源不存在为404 NOT_FOUND,依赖不可用为503 SERVICE_UNAVAILABLE,未预期异常为500 INTERNAL_ERROR。媒体还支持206部分内容、304未修改和416范围不可满足。
公开授权核验
当前核验接口仅支持历史 test/test_only 授权事实,不提供正式production授权核验。正式购买响应中的核验编号不能据此视为已经支持公开核验。
使用授权编号查询最小核验事实。非法编号、权威不存在返回 404;依赖或响应畸形返回 503;成功与错误均禁止缓存,成功响应不携带来源地址。
curl -H "Accept: application/json" \
"https://www.szkl.cn/api/v1/verification/JDT-ABCDEF0123456789ABCDEF01"合作方API
合作方接口只接受人工审核后配置的服务端凭证。合作方后端直接建立平台范围身份映射,响应不含授权URL、state、回跳或Cookie;合作网站完成自己的订单、合同和支付后,再调用购买接口取得项目买断授权;生成由合作方模型侧直接完成,不经巨东API。
- POSTJD1
/partner/authorization-sessions建立服务端身份映射;scope:authorization_sessions:create + projects:bind + identity:assert_verified_email
- GETJD1
/partner/authorization-sessions/{sessionId}查询身份映射与后续权威状态;scope:authorization_sessions:read
购买与资金
- GETJD1
/partner/purchase-options读取项目买断价目、年限系数和场景规则;scope:purchase:read
- POSTJD1
/partner/purchase-orders原子完成扣款、合同与项目买断授权;scope:purchase:create
- GETJD1
/partner/purchase-orders按外部订单号查询购买和授权事实;scope:purchase:read
- GETJD1
/partner/fund-balance读取合作平台预存余额;scope:funds:read
- GETJD1
/partner/fund-events分页读取不可变资金流水;scope:funds:read
样片归档与审核
- POSTJD1
/partner/content-archives/uploads申请样片归档直传授权(预签名PUT地址,1小时有效);scope:content_archive
- POSTJD1
/partner/content-archives/complete确认样片回传并启动异步审核(画面机审+LLM语义比对);scope:content_archive
- GETJD1
/partner/content-archives查询归档状态机、机审/LLM/人工复核结论与时间线;scope:content_archive
样片归档为授权合规审核意见与证据留存:巨东不是发行闸门,审核不通过合作方仍可自行决定发行;审核结论由状态查询接口读取,样片文件保留365天后清理,审核记录永久留存。
合作网站需要保存
- 客户映射
externalUserId ↔ sessionId,同一用户长期保持稳定- 购买映射
externalOrderId ↔ purchaseId/projectId,买断授权绑定该项目- 实名认证
- 只传已认证结果、认证时间和认证记录编号;不传身份证号、证件图片或原始材料
请求与响应示例
以下响应只摘录合作方成功响应的data字段,省略号和尖括号需替换为实际值。完整JSON包裹为{ "data": { ... }, "meta": { "request_id": "..." } };金额仅为示例,不代表当前报价。
① 建立服务端身份映射
POST /api/v1/partner/authorization-sessions
{
"externalUserId": "customer-42",
"externalProjectId": "drama-2026-001",
"contactEmail": "customer@example.com",
"emailVerified": true,
"emailVerificationMethod": "partner_account_v1",
"requestedScopes": ["projects:bind"],
"selection": { "version": 2, "mode": "editable", "actorCodes": ["ACT-781C32A7CC"] }
}
201 →
{ "status": "claimed", "accountLinked": true, "sessionId": "<uuid>",
"externalProjectId": "drama-2026-001", "selection": { ... } }响应不含授权URL、state、回跳、Cookie或token;同一externalUserId重复提交收敛到同一映射。购买时externalCustomerId必须与externalUserId完全一致。
② 购买项目买断授权
POST /api/v1/partner/purchase-orders
{
"externalOrderId": "order-2026-0001",
"externalCustomerId": "customer-42",
"subjectKind": "individual",
"subjectName": "张三",
"identityVerified": true,
"identityVerifiedAt": "2026-09-05T10:00:00+08:00",
"identityVerificationReference": "partner-verify-0001",
"customerAcceptedAt": "2026-09-05T10:05:00+08:00",
"customerPhone": "13800001234",
"acceptanceReference": "partner-accept-0001",
"signRedirectUrl": "https://partner-site.example/order/order-2026-0001/signed",
"projectName": "品牌短剧", "workType": "短剧",
"synopsis": "用于品牌故事展示的系列短剧项目。", "releaseChannels": ["合作网站"],
"scenarioId": "<purchase-options返回>",
"actorConfigurations": [
{ "actorCode": "ACT-781C32A7CC", "commercialYears": 1 }
],
"projectAuthorization": {
"version": 1,
"productionCompany": "某某影业有限公司",
"producerCompany": "某某影业有限公司",
"workKind": "series",
"episodeCount": 12,
"episodeDurationMinutes": 10,
"roles": [ { "actorCode": "ACT-781C32A7CC", "roleName": "女主角" } ]
},
"idempotencyKey": "order-2026-0001-create"
}
201 → { "purchaseId": "<uuid>", "projectId": "<uuid>", "contractNo": "...",
"licenses": [ { "actorCode": "...", "licenseId": "<uuid>", "pricingModel": "buyout_v1",
"buyoutCents": 49500, "pricePerSecondCents": 33, "commercialExpiresAt": "..." } ],
"totalCents": 49500, "balanceAfterCents": ... }单事务全有或全无:余额不足(INSUFFICIENT_FUNDS)或任一环节失败整体回滚,不产生部分扣款。买断价由服务端按演员当前每秒权威价折算(每秒单价×1500×年限系数;1年精确、2/3年向下取整到10元;当前全员0.33元/秒对应495/890/1230元/年);买断含项目内不限量生成与演员未来新增形象,同一项目需重新买断,年限1–3年。
购买字段说明(每个字段为什么需要)
字段与格式以OpenAPI schema为准;以下解释业务含义,供表单设计与向客户收集信息时参考。
- externalOrderId
- 你们的订单号:双方对账与追溯的唯一凭据,由你们系统生成。
- externalCustomerId
- 你们的客户ID:先经授权会话完成绑定,购买才能关联到真实客户。
- idempotencyKey
- 防重复扣款:建议用“订单号-create”。网络超时后同键同内容重试返回原结果,同键不同内容返回
IDEMPOTENCY_CONFLICT。 - subjectKind / subjectName
- 谁买授权(合同被授权方):个人填身份证姓名、企业填营业执照全称;必须与实名或执照完全一致,不接受简称或品牌名。
- identityVerified 三件套
- 实名在合作网站完成、认证材料留合作网站;此处只登记已认证事实、时间与凭据编号,作为合同效力与争议追溯依据。未实名(false)的请求会被拒绝。
- customerPhone
- 客户本人手机号:电子签署的参与方匹配与意愿认证短信都使用它,缺失或不匹配时客户在签署环节无法完成;个人订单必须与实名主体一致。
- customerAcceptedAt + acceptanceReference
- 客户在你们页面确认订单内容的时间与确认凭据编号,共同构成“客户同意购买”的证据;两个值都要生成保存,不能只存勾选状态。
- projectName / workType / synopsis / releaseChannels
- 合同标的与授权用途条款的素材:作品名称、类型、内容简介(10–2000字)与计划发行渠道(1–10个),写清楚对客户是保护。
- scenarioId
- 使用场景:不同场景对应不同授权条款与计价组合,必须取自purchase-options返回的scenarios,不要自行构造。
- actorConfigurations
- 逐演员买断:actorCode与commercialYears(1/2/3年)。价格由服务端按权威每秒价计算并在响应中返回快照,客户端不应自行计价;买断含项目内不限量生成与演员未来新增形象,换项目需重新买断。
- projectAuthorization.productionCompany
- 出品公司=作品的版权主体(片头“出品”署名)。它回答“作品归谁”,与subjectName回答的“谁买授权”是两件事:客户自有版权时填同一家,代理或发行时填实际版权方。合同必须同时写明两者,演员形象授权才挂在真实权利链上。
- projectAuthorization.producerCompany
- 制片公司=实际承制拍摄方;与出品为同一家时填一样,或不传该字段。
- filingNumber / releaseLicenseNumber
- 作品备案号与发行许可证号(选填):证明作品本身合规。
- projectAuthorization.workKind
- 作品形态:series(剧集,按集)/film(电影,按部),决定合同标的的规格写法与时长必填项——series必填episodeCount与episodeDurationMinutes,film必填filmDurationMinutes。短剧一律series。
- projectAuthorization.roles
- 每位所选演员在剧中饰演的角色名,必须与actorConfigurations的演员一一对应。
- projectAuthorization.version
- 资料结构版本号,当前固定填1。
- signRedirectUrl
- 签署完成跳回你们页面的HTTPS地址(可选);不传时客户停留在签署平台完成页。
③ 生成说明(生成接口已退役)
买断订单的生成在您的模型侧直接进行:不经巨东API、无需预留或结算、生成次数不限。历史按秒生成预留/结算接口已整体退役移除(全库无历史调用数据);如您的旧代码中存在对接残留,可整体删除。
- 购买写请求携带16–200字符
idempotencyKey:同键同载荷重放返回原结果(零新写);同键不同载荷返回IDEMPOTENCY_CONFLICT。 - 身份绑定不接收idempotencyKey;购买写请求才使用业务幂等键。每次HTTP请求重新生成JD1 timestamp、nonce和签名;成功使用过的nonce不可重放。
- 响应不明确(超时、断连、5xx)时:用新nonce签名GET同一业务ID查询权威状态,不要盲目重放写请求。
- 所有POST正文为严格JSON(
additionalProperties=false):未知字段、控制字符、非整数都会被拒绝;原始JSON字节参与签名。
JD1签名
每次请求使用新的时间戳和nonce。签名覆盖HTTP方法、原始查询顺序和最终发送的body字节;响应不明确时使用新nonce查询权威状态,不盲目重放写请求。
x-jd-credential: <credential-id>
x-jd-environment: production
x-jd-audience: <configured-audience>
x-jd-timestamp: <unix-seconds>
x-jd-nonce: <base64url-random-bytes>
x-jd-signature: <base64url-ed25519-signature>完整规范原文以下载的OpenAPI及合作方接入契约为准。签名允许前后300秒时钟差,成功使用过的nonce不可重放。
签名原文(固定顺序)
JD1
credential:<credential-id>
environment:production
audience:<configured-logical-audience>
timestamp:<unix-seconds>
nonce:<base64url-random-bytes>
method:<UPPERCASE-METHOD>
target:<pathname-with-original-query-order>
body-sha256:<base64url-sha256-of-raw-body-bytes>UTF-8编码,字段顺序与换行固定,所有值禁止CR/LF。target不含scheme/host,查询参数不得在签名后重排;GET使用空body摘要。
Node.js签名示例(仅服务端)
import { createHash, createPrivateKey, randomBytes, sign } from "node:crypto";
const b64u = (b) => b.toString("base64url");
const body = Buffer.from(JSON.stringify(payload));
const canonical = [
"JD1",
`credential:${credentialId}`,
`environment:${environment}`,
`audience:${audience}`,
`timestamp:${Math.floor(Date.now() / 1000)}`,
`nonce:${b64u(randomBytes(24))}`,
`method:POST`,
`target:/api/v1/partner/authorization-sessions`,
`body-sha256:${b64u(createHash("sha256").update(body).digest())}`,
].join("\n");
const signature = b64u(sign(null, Buffer.from(canonical),
createPrivateKey({ key: privateKeyPkcs8Pem, format: "pem" })));集成建议
以下为参考建议而非接入门禁;服务端的原子购买与幂等已保证账本正确性。采纳这些建议可以减少接入问题与对账分歧。
- 只在合作方服务端确认收款(支付机构服务端回调验签落库)后才调用购买接口;浏览器回跳和前端支付结果不能作为收款依据。
- 购买响应不明确(超时、断连、5xx)时,用新nonce签名GET同一
externalOrderId查询权威状态,不要盲目重放POST。 - 收到
IDEMPOTENCY_CONFLICT先GET同一订单,与首次落库的请求快照逐项核对:完全匹配且settled则直接发权益,不匹配才进入人工对账;不要换订单号或幂等键重新购买。 - 在购买成功响应到达后再向您的客户发放权益,避免出现需要回滚的客户体验。
- 买断订单的生成完全由您的系统发起与管理,巨东侧无预占、结算或时长校验义务;建议自行持久化生成任务记录(任务ID、projectId、演员、幂等键)以便内部对账与审计。
- 记录每个响应的
x-request-id;向我们反馈问题时附上它可大幅缩短排查时间。 - 瞬时
SERVICE_UNAVAILABLE可安全退避重试(如1s/2s间隔);交易请求始终用新nonce。 - 演员目录与价格是低频变化数据,可在合作端缓存(如60分钟TTL);购买与资金请求使用实时签名调用。
- 建议对购买与资金流水做日终对账抽样,与我们流水(fund-events)核对一致后再结算内部账。
错误与重试
MISSING_AUTHENTICATION / MALFORMED_AUTHENTICATION / INVALID_SIGNATURE- 认证头或签名无效。
处置:先修复签名实现,不盲重试。 STALE_REQUEST- 时间戳超出±300秒窗口。
处置:校准时钟后用新nonce重试。 REPLAY_DETECTED- nonce已被使用。
处置:使用新nonce,不复用原请求。 ENVIRONMENT_MISMATCH- 凭证与目标环境不一致。
处置:修复environment配置。 AUDIENCE_MISMATCH- 请求audience与凭证环境配置不一致。
处置:修复audience配置,原样复制后台值。 CREDENTIAL_UNAVAILABLE / PLATFORM_UNAVAILABLE / ENVIRONMENT_NOT_READY- 凭证不可用,或平台/环境门禁未开放(production需平台approved+已登记合同)。
处置:联系管理员检查状态。 PLATFORM_REGISTRATION_INCOMPLETE- 提交projectAuthorization时平台登记主体资料不完整。
处置:联系巨东补全平台登记后重试。 SCOPE_FORBIDDEN- 凭证不含所需scope。
处置:由管理员审核开通,不能客户端扩权。 RATE_LIMITED- 当前凭证超过120次/分钟。
处置:等待窗口后用新nonce重试。 SESSION_FORBIDDEN / SESSION_NOT_FOUND- 会话属于其他平台或不存在。
处置:不重试、不枚举,核对ID。 PROJECT_NOT_FOUND / ACTOR_NOT_FOUND- 项目不属于当前平台或演员不存在/未上架。
处置:核对购买返回的projectId与公开actorCode。 BAD_REQUEST- 请求字段、结构或演员编号无效。
处置:修复请求正文后用新nonce重试。 IDEMPOTENCY_CONFLICT- 同一幂等键绑定了不同规范请求。
处置:停止重试;购买先GET同一externalOrderId与首份快照核对。 CONFLICT- 对象状态已变化(会话失效或授权状态变化)。
处置:核对状态,不原样重放。 INSUFFICIENT_FUNDS- 预存余额不足。
处置:充值后用新nonce重新发起。 EXTERNAL_CUSTOMER_UNMAPPED- 外部客户尚未完成身份绑定。
处置:先完成authorization-sessions绑定。
机器可读字段、schema、scope和响应以 OpenAPI v1 为准;本文摘要不放宽认证、幂等、额度或失败关闭规则。
更新日志
按日期倒序列出已登记进 OpenAPI 的接口契约变更;机器契约以下载的 v1.yaml 为准。
2026-09-22 订单查询接口逐字段补充业务含义说明,授权到期时间字段显式标注
按合作方反馈补充人类可读文档:订单查询(GET /partner/purchase-orders)响应的每个字段新增业务含义说明,重点标注 licenses[].commercialExpiresAt=每个艺人的授权到期时间(剩余可用时限=该时间与当前时间的差),并补充购买响应、资金余额、资金流水、授权会话、内容归档等接口同类说明与授权清单示例报文;同步修正一处既有契约测试断言(必填字段对齐应排除可选字段)。
授权到期时间- GET /partner/purchase-orders 响应的 licenses[].commercialExpiresAt 为该艺人商业授权到期时间(必返);licenses[].commercialYears 为年限,剩余可用时限=到期时间与当前时间的差,无需合作方自行推算
逐字段说明覆盖- 购买请求/响应/查询、购买选项、资金余额与流水、授权会话、内容归档审核状态等接口的枚举值含义(如 licenseStatus 的 active/expired/suspended/terminated、资金事件类型与带符号金额方向)全部在文档内标注
示例报文- PlatformPurchaseLicense schema 新增完整示例(含 commercialExpiresAt 与 licenseStatus=active)
- 纯文档与描述增强:请求字段、校验规则、错误码与响应结构均无变化,已按现行契约开发的合作方无需改动
2026-09-22 API文档新增购买字段说明,购买示例补齐必填手机号
按合作方反馈补充人类可读文档:购买请求每个字段新增业务含义说明(重点区分subjectName=谁买授权与productionCompany=作品归谁、workKind作品形态决定时长字段),购买示例报文补上此前遗漏的必填customerPhone、可选signRedirectUrl与可选projectAuthorization完整样例;同步清理页面与机器契约中的内部流转措辞。
示例修正- POST /partner/purchase-orders 示例报文新增 customerPhone(必填:签署参与方匹配与意愿短信送达号码)、signRedirectUrl(可选:签署完成回跳地址)与 projectAuthorization 完整样例(选填);此前按示例开发会因缺手机号被400拒绝
新增文档小节- /api-docs 购买示例下新增“购买字段说明”:逐字段业务含义、表单设计建议与常见混淆点澄清(如出品公司与客户名称的区别)
措辞清理- OpenAPI 描述、示例与更新日志移除内部流转编号与代号;历史条目标题措辞同步清理,历史事实不变。字段、约束、错误码与响应结构均无任何变化
- 纯文档与描述修正:请求字段、校验规则、错误码与响应结构均无变化,已按现行契约开发的合作方无需改动
2026-09-21 购买签署:购买请求新增被授权方手机号,授权返回签署状态
购买环节接入法大大在线签署(项目授权书,巨东代演员签+被授权方本人签):购买请求新增必填 customerPhone;响应与查询接口返回逐演员签署状态 esignStatus 与签署短链 esignSignUrl;逐演员签署完成前授权不生效,公开核验不返回该演员。合作方引导用户在合作网站侧跳转签署,全程不经由巨东页面。
新增必填字段- POST /partner/purchase-orders 请求新增 customerPhone(中国大陆手机号):签署任务参与方匹配与意愿短信送达号码
新增可选字段- signRedirectUrl(HTTPS):签署完成后的回跳地址;不传时用户停留在法大大完成页
响应新增- licenses[].esignStatus(not_required/pending/signed/revoked);查询接口 licenses[].esignSignUrl(待签署且有活跃任务时的签署短链)
生效规则- 逐演员生效:签署完成(回调验签或服务端复核)前该演员不得使用授权,公开核验不返回该演员;拒签/超时(默认72小时)可由合作方重新发起或由巨东撤销并全额退回购买金额
查询接口新增字段- GET /partner/purchase-orders 响应新增 customerPhone 与 signRedirectUrl 回显
- 多演员订单为逐演员独立签署任务,签署短链经购买响应或查询接口获取
- 存量订单:查询行为不变(历史授权 esignStatus=not_required);存量订单同幂等键重放将返回幂等冲突,需换新幂等键重新发起
2026-09-20 新增合作方样片归档与自动化审核接口(3个端点)
买断模型下新增样片回传通道:合作方可将项目样片直传巨东私有存储并发起授权合规审核(画面机审+项目级LLM语义比对),巨东出具授权合规审核意见并永久留存证据。巨东不是发行闸门:审核不通过合作方仍可自行决定发行,审核记录构成违约追责证据。
新增端点- POST /partner/content-archives/uploads(申请直传授权)、POST /partner/content-archives/complete(确认并启动审核,202)、GET /partner/content-archives?externalArchiveId=(状态与审核摘要)
新增scope- content_archive;凭证需携带该scope方可调用三条端点
直传协议- uploads返回预签名PUT地址(1小时有效)由合作方直传视频;complete携带archiveId/byteSize/sha256确认;两步均幂等重放安全
状态机- awaiting_upload→submitted→reviewing→passed/flagged→confirmed_violation/cleared;辅态upload_expired(24h未确认)、review_failed;审核结论由GET接口读取(机审结论/LLM结论/人工复核/时间线)
保留期- 样片文件365天后自动清理(filePurged=true),审核记录永久留存
新增错误码- ARCHIVE_NOT_FOUND/ARCHIVE_EXTERNAL_ID_CONFLICT/ARCHIVE_UPLOAD_WINDOW_EXPIRED/ARCHIVE_FACT_CONFLICT/PROJECT_NOT_AUTHORIZED/ACTOR_NOT_LICENSED/UPLOAD_LIMIT_REACHED
- 在途待上传归档每环境上限10个;申报演员必须为该项目已购演员,越界拒绝(ACTOR_NOT_LICENSED)
- 不做发行拦截:审核状态仅供对账与追责,不影响既有任何接口行为
2026-09-17 按秒生成接口整体退役
项目买断模型下生成由合作方模型侧直接完成,生成预留/查询/续期/终态结算接口(6个端点)已物理移除。全库无任何历史 per_second 订单、秒数额度或生成预约数据,移除无存量影响。
移除端点- POST/GET /partner/generation-reservations 及其 {id}/extend、/success、/fail、/cancel 全部子路径
替代方式- 买断订单生成不经巨东API:模型侧直接生成、次数不限、无需预留或结算
公开核验- 核验凭证只显示授权年限;per_second 秒数展示分支已随数据源一并移除
后台- 后台业务记录的生成调用页签与MCN生成记录页签同步移除
- 接口日志(telemetry)的 operation 枚举同步移除 generation_* 值。
- 如历史上曾按旧文档开发过生成对接(实际无调用记录),相关代码可整体删除。
2026-09-17 购买切换为项目买断计价模型
新购买统一为项目买断:按演员×项目×年限一次付费,项目内不限量生成,含演员未来新增形象,同一项目需重新买断。买断价由服务端按演员当前每秒权威价折算(每秒单价×1500×年限系数;1年精确、2/3年向下取整到10元;当前全员0.33元/秒对应495/890/1230元/年)。
actorConfigurations- 购买请求仅两键:actorCode + commercialYears;generationSeconds 字段移除,携带旧字段将被拒绝
pricingModel- 购买结果与订单查询新增 pricingModel=buyout_v1;licenses 新增 buyoutCents,purchasedSeconds 仅历史 per_second 订单返回
GET /partner/purchase-options- 返回买断价目 buyoutTerms(年限系数与取整规则)与 pricingRule(含折算说明);秒数上下限字段移除
生成接口- 买断订单的生成不经巨东API,模型侧直接生成、无需预留或结算;生成预留接口仅供历史 per_second 订单的存量秒数查询使用
计价公式- buyoutCents = actorPricePerSecondCents × 1500 × priceFactor(priceFactor:1年1.0 / 2年1.8 / 3年2.5)
- 每秒单价与1500秒最低授权价仅作折算展示,不构成实际秒数额度;价格变动自动传导至买断价。
- 资金链路不变:预存余额、原子扣款、幂等键、合同快照与授权核验凭证(JDT编号)均保持原机制。
2026-09-14 演员详情新增六个选填公开字段
GET /actors/{actorCode} 的 data 新增以下字段;后台尚未录入时值为 null。宽松解析(忽略未知键)的消费方无需任何改动;严格校验或代码生成的消费方请同步更新本地 v1.yaml 副本(字段在契约中为 required)。
ethnicity- 民族;公开文本或 null
birthDate- 生日;YYYY-MM-DD 或 null
occupation- 职业;公开文本或 null
birthplace- 出生地;公开文本或 null
personalTraits- 个人特质(特长短语);公开文本或 null
zodiac- 星座;由 birthDate 按公历固定日期区间派生,birthDate 为 null 时为 null,不落库
- 字段为后台维护的选填公开事实,可原样显示或省略,不要基于缺失或取值自行推断其他演员事实。
- SZKL官网详情页当前不展示这些字段;是否在你的合作网站展示由你自行决定。
