开发者文档

创建发布计划

POST/api/orgs/:orgId/publishing-plans

权限与前置条件

当前有效工作区成员;关联项目必须属于当前工作区。

支持账号中心 API Key:Authorization: Bearer <ltak_…>。中心每次实时校验,仍执行当前用户的工作区角色和业务权限。Cookie 写入仍需允许来源的 Origin 和 X-Requested-With: suren360。不能同时携带 Cookie 与 API Key。所有路径参数须使用真实 ID。

上传分三步:申请签名 → 按 uploadUrl 和 fields 直传对象存储 → 调用 complete 核验。签名和下载地址短时有效,请勿写入公开日志。发布计划不会代发到社交平台。

请求参数

orgId · 路径参数 · 必填字符串

JSON 请求体

字段类型必填约束
projectIdstring是{"minLength":1,"maxLength":32}
deadlinestring是{"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))$"}
notesstring否{"default":"","maxLength":2000}
videoCountinteger是{"minimum":0,"maximum":100}
imageTextCountinteger是{"minimum":0,"maximum":100}
查看完整请求 JSON Schema
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    },
    "deadline": {
      "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))$"
    },
    "notes": {
      "default": "",
      "type": "string",
      "maxLength": 2000
    },
    "videoCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "imageTextCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "projectId",
    "deadline",
    "videoCount",
    "imageTextCount"
  ],
  "additionalProperties": false
}

调用示例

先在统一账号中心创建 Key,并授权素人种草 360 应用,将密钥安全设置为 LINGTU_API_KEY 环境变量。 请替换部署地址与示例字段,不要将凭证粘贴到聊天或日志中。

cURL · 示例占位值需替换
curl --request POST \
  'https://YOUR_DEPLOYMENT_HOST/api/orgs/YOUR_orgId/publishing-plans' \
  --header "Authorization: Bearer $LINGTU_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "projectId": "替换为实际值",
  "deadline": "2026-11-01T15:59:00.000Z",
  "videoCount": 0,
  "imageTextCount": 0
}'

响应结构

成功返回 HTTP 200 的 JSON 对象。下方为响应结构定义,不是虚构的业务数据。

字段类型必填约束
planobject是{"required":["id","projectId","project","deadline","notes","status","publishedAt","createdAt","canEdit","groups"],"additionalProperties":false}
查看完整响应 JSON Schema
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "plan": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "projectId": {
          "type": "string"
        },
        "project": {
          "type": "string"
        },
        "deadline": {
          "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))$"
        },
        "notes": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "publishedAt": {
          "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"
            }
          ]
        },
        "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))$"
        },
        "canEdit": {
          "type": "boolean"
        },
        "groups": {
          "type": "array",
          "items": {
            "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": [
        "id",
        "projectId",
        "project",
        "deadline",
        "notes",
        "status",
        "publishedAt",
        "createdAt",
        "canEdit",
        "groups"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "plan"
  ],
  "additionalProperties": false
}
查看错误码与重试规则