鉴权与幂等
- 组织级 API Key,放在
Authorization: Bearer <api_key>。Key 只能看到本组织的数据。 - 所有
POST都必须带Idempotency-Key头。同键 + 同请求体 ⇒ 返回首次的结果, 响应头Idempotent-Replayed: true,不重复冻结。同键 + 不同请求体 ⇒409 IDEMPOTENCY_KEY_REUSED。 幂等键在组织内唯一,至少保留 24 小时。
apiKey · http · bearer
组织级 API Key(可在控制台创建、吊销)。吊销后立即失效(401)。
编号
全部是本渠道的不透明字符串编号(off_ 媒体条目 · qt_ 报价 · ord_ 订单 · itm_ 订单条目)。
编号在其生命周期内不变;不要解析编号的内容。
金额
金额一律以人民币计,Amount = {value, currency}:value 是非负整数,单位是分(不用小数);
currency 恒为 CNY。本 API 不做现金收付;余额充值在控制台完成。
文档与示例中的金额(如 100 分)都是示例值,不代表任何实际价格;实际价格以公开价目与报价为准。
公开价目
GET /public/price-list 不需要 API Key,限流,带缓存头;只给媒体条目编号、内容类型、档位、零售价与当前能否下单。
公开价目与报价取自同一价源:同一时刻,价目里的零售价就是报价会给的价。
媒体条目的公开零售价见 公开价目(打开时实时读取,不需要 API Key)。
跨域
本 API 不开 CORS(任何响应都不带 Access-Control-Allow-* 头)。开发者门户页面与 API 同源,用相对路径取数。
服务地址
https://cngeo.top/v1
v1 限制
以下是 v1 服务端当前的执行限制。契约(OpenAPI)本身不变,这些限制在契约允许的范围内另外生效;后续版本放开时会在这里更新。
1. 文章类内容暂不支持配图与正文内嵌图片
ArticleContent 在契约里允许 image_urls,但 v1 会拒绝带配图的文章:
请求里带了 image_urls 时返回 422 CONTENT_REJECTED,
error.details 里对应项的 field 为 content.image_urls。
请去掉 image_urls 后重新提交;该请求不冻结任何金额。
文章正文 body 里暂不支持内嵌图片:Markdown 图片 、引用式图片 ![说明][ref](配 [ref]: https://…)、
HTML <img …> 都会在下单时被拒,同样返回 422 CONTENT_REJECTED,error.details 里对应项的 field 为 content.body。
普通链接 [文字](https://…) 与正文里直接写的网址不受影响,照常发出。
2. 标题长度上限
按内容类型区分。「契约上限」是 schema 里 title.maxLength 的值;「v1 实际上限」可能更严,以本表为准。
| 内容类型 | schema | 契约上限(字符) | v1 实际上限(字符) |
|---|---|---|---|
article | ArticleContent | 120 | 45 |
imagenote | ImageNoteContent | 60 | 45 |
svideo | ShortVideoContent | 60 | 45 |
3. 派发超时
下单后 24 小时内仍未能派发的条目,按失败处理并全额退回:条目的
status 为 failed,
failure.code 为 TIMED_OUT,
charge.state 为 released(冻结金额原额释放)。
4. 内容触发发布端复核提示
提交的内容触发发布端的复核提示时,该条目按失败处理并全额退回:
status 为 failed,
failure.code 为 CONTENT_NOT_ACCEPTED,
charge.state 为 released(冻结金额原额释放)。