发布 APIAPI

一个 POST,处处发布

创建一次帖子,列出要发布到的账号,FoPost 会为每个网络处理格式、媒体上传和投递。按权限范围划分的密钥、幂等请求,投递状态可轮询,也可通过 webhook 接收。

POST /v1/posts
curl -X POST https://api.fopost.com/v1/posts \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "9b2f6c1e-...",
    "content": [{ "text": "Shipped a new release today." }],
    "accounts": ["4a71d80b-...", "c30e9f12-..."]
  }'

curl -X POST https://api.fopost.com/v1/posts/7d3e0a52-.../publish \
  -H "X-API-Key: $API_KEY"

所有网络,同一种格式

同一个请求体即可发布到 X、LinkedIn、Instagram 及其他所有已连接账号。

按权限范围划分的密钥

拥有 publish 权限的密钥只能发帖,别无其他。撤销它,不影响其他密钥。

按账号投递

帖子上线后,每个账号都会报告自己的状态、外部 id 和永久链接。

发布

帖子写一次,发往任意一组账号

传入文本、媒体和目标账号。FoPost 会套用各网络的限制和惯例,以平台要求的格式上传媒体,并返回可追踪的帖子 id。帖子串、轮播和长文都通过同一个 content 数组传递。

阅读发布参考文档
响应
{
  "post_status": "publishing",
  "deliveries": [
    { "id": "a3c5e7f9-...", "account_id": "4a71d80b-...", "status": "queued", "external_url": null, "posted_at": null, "attempts": 0 },
    { "id": "b4d6f8a0-...", "account_id": "c30e9f12-...", "status": "queued", "external_url": null, "posted_at": null, "attempts": 0 }
  ],
  "health_warnings": []
}

内容块

有序的内容块会根据网络变成帖子串、轮播或正文。

按引用使用媒体

上传一次到媒体库,即可按 id 附加到任意数量的帖子。

幂等

发送幂等键,重试的请求绝不会重复发帖。

追踪

准确知道每条帖子发到了哪里

一条帖子会按账号拆分为多个投递。轮询 deliveries 端点或订阅 webhook,即可获得平台状态、外部 id、永久链接,以及网络拒绝内容时的错误信息。

查看 webhook 事件
一个工作区中跨所有网络的已连接账号

Deliveries 端点

GET /v1/posts/:id/deliveries 会列出每个账号及其各自状态。

Webhook 事件

投递一有结果,delivery.published 和 delivery.failed 就会立即触发。

内置重试

平台的临时错误会先按退避策略重试,之后才会标记为失败。

管理

用代码编辑、取消和删除

完整生命周期都在 API 上。在定时帖子发出前更新它、取消它,或从已发布的网络上删除帖子。当你运营多个品牌时,标签和工作区让客户工作彼此分开。

开始构建
PUT /v1/posts/:id
curl -X PUT https://api.fopost.com/v1/posts/7d3e0a52-... \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "content": [{ "text": "Updated copy." }] }'

发布前编辑

队列中的任何内容都可以修改文本、媒体或账号。

标签

按活动或客户给帖子打标签,并在每个列表端点按标签筛选。

工作区

密钥按工作区划分,一个客户永远无法访问另一个客户。

关于 发布 API 的常见问题解答

如何进行身份验证?

在控制台的设置中创建 API 密钥,然后通过 X-API-Key 请求头发送。每个密钥属于一个工作区,只拥有你授予的权限范围。

我可以发布到哪些网络?

工作区中连接的每个账号,覆盖 FoPost 支持的所有网络。所有网络的请求格式都相同。

可以附加图片和视频吗?

可以。通过 Media API 上传一次,然后在帖子中引用媒体 id。各网络的大小和格式限制会自动处理。

如果某个网络宕机怎么办?

投递会按退避策略重试。如果仍然失败,该投递会被标记为失败并附上平台错误,同时触发 delivery.failed webhook。

有速率限制吗?

有,每个密钥每分钟 100 次请求。限制和剩余次数会在响应头中返回。

有 SDK 吗?

有类型完备的 TypeScript SDK、面向 AI 客户端的 MCP 服务器,以及免费的 PHP、Laravel 和 WordPress 包。其他语言可使用 API 提供的 OpenAPI 规范。

今天就基于 发布 API 开始构建

免费开始,包含完整 API。创建密钥,几分钟内完成第一次调用。

获取 API 密钥