内部协议
内部端点只在 markify-internal 网络开放,不应由业务客户端直接调用。正式契约位于仓库 contracts/。
Resource v1
| 方法 | 路径 | 调用方 | 用途 |
|---|---|---|---|
GET | /resource/v1/health/live | Compose/API | 存活检查 |
GET | /resource/v1/health/ready | Compose/API | 就绪检查 |
POST | /resource/v1/resource | API | 上传资源 |
DELETE | /resource/v1/resource/{token} | API | 删除资源 |
GET | /internal/v1/resource/{token}/metadata | API/Worker | 获取元数据 |
GET | /internal/v1/resource/{token} | API/Worker | 打开内容读取租约 |
POST | /internal/v1/resource/finalize | API | 原子锁定源资源 |
POST | /internal/v1/resource/rollback | API | 回滚资源状态 |
POST | /internal/v1/resource/consume | API | 消费源资源 |
批量状态请求:
json
{ "resourceTokens": ["<resource-token-a>", "<resource-token-b>"] }Worker v2
http
POST /worker/v2/render
Content-Type: application/jsonWorker v2 每次只渲染一个源资源。API 将公开批量请求拆分为多个调用:
json
{
"version": 1,
"resource": { "resourceToken": "<source-resource-token>" },
"layers": [],
"output": { "format": "png", "quality": 90 }
}成功响应是编码后的图片流,Content-Type 必须与 output.format 一致。
Worker v1
Worker v1 继续提供健康、能力和旧 multipart render。/worker/v1/render 已标记为 deprecated;新协议不得在 v1 上增加字段。
兼容规则
- 破坏性字段或语义变更必须创建新协议版本。
- 同一协议版本中可以增加可选响应字段,但调用方不得依赖未知字段。
- API 必须验证 Worker 响应 MIME 和内容是否为空。
- 当前内部网络没有静态共享密钥;跨主机或不可信网络部署前必须增加 mTLS、HMAC 或等价身份认证。