开发者文档
确认文件上传
POST
/api/orgs/:orgId/publishing-files/:id/complete权限与前置条件
所有者、管理员或计划创建人;正文和素材仅草稿可改,状态限制以服务端为准。
支持账号中心 API Key:Authorization: Bearer <ltak_…>。中心每次实时校验,仍执行当前用户的工作区角色和业务权限。Cookie 写入仍需允许来源的 Origin 和 X-Requested-With: suren360。不能同时携带 Cookie 与 API Key。所有路径参数须使用真实 ID。
上传分三步:申请签名 → 按 uploadUrl 和 fields 直传对象存储 → 调用 complete 核验。签名和下载地址短时有效,请勿写入公开日志。发布计划不会代发到社交平台。
请求参数
orgId · 路径参数 · 必填字符串
id · 路径参数 · 必填字符串
JSON 请求体
无额外字段;联合结构请查看完整定义。
查看完整请求 JSON Schema
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}调用示例
先在统一账号中心创建 Key,并授权素人种草 360 应用,将密钥安全设置为 LINGTU_API_KEY 环境变量。 请替换部署地址与示例字段,不要将凭证粘贴到聊天或日志中。
cURL · 示例占位值需替换
curl --request POST \
'https://YOUR_DEPLOYMENT_HOST/api/orgs/YOUR_orgId/publishing-files/YOUR_id/complete' \
--header "Authorization: Bearer $LINGTU_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'响应结构
成功返回 HTTP 200 的 JSON 对象。下方为响应结构定义,不是虚构的业务数据。
| 字段 | 类型 | 必填 | 约束 |
|---|---|---|---|
group | object | 是 | {"required":["submissionCount","id","kind","position","documentName","documentText","shareToken","claimedAt","claimantName","files","submissions"],"additionalProperties":false} |
查看完整响应 JSON Schema
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"group": {
"type": "object",
"properties": {
"submissionCount": {
"type": "number"
},
"id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"video",
"image"
]
},
"position": {
"type": "number"
},
"documentName": {
"type": "string"
},
"documentText": {
"type": "string"
},
"shareToken": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"claimedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
{
"type": "null"
}
]
},
"claimantName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"files": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"mime": {
"type": "string"
},
"size": {
"type": "number"
},
"kind": {
"type": "string",
"enum": [
"video",
"image",
"document"
]
},
"status": {
"type": "string"
}
},
"required": [
"id",
"name",
"mime",
"size",
"kind",
"status"
],
"additionalProperties": false
}
},
"submissions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"platform": {
"type": "string"
},
"accountName": {
"type": "string"
},
"accountHomepage": {
"type": "string"
},
"resolution": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
}
},
"required": [
"id",
"url",
"platform",
"accountName",
"accountHomepage",
"resolution",
"createdAt"
],
"additionalProperties": false
}
}
},
"required": [
"submissionCount",
"id",
"kind",
"position",
"documentName",
"documentText",
"shareToken",
"claimedAt",
"claimantName",
"files",
"submissions"
],
"additionalProperties": false
}
},
"required": [
"group"
],
"additionalProperties": false
}