GET
/api/v4/social/brands/{brandId}/posts列出品牌的帖子
返回品牌社交帖子的分页列表,包含帖子内容、发布时间安排、平台和各渠道的状态。
参数
路径
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| brandId | string | 必填 | Brand UUID whose posts should be listed. |
查询
| 名称 | 类型 | 必填 | 描述 | 默认值 |
|---|---|---|---|---|
| filters | string | 可选 | JSON-encoded filter object. Fields: `name` (substring match on the post's internal name), `platforms` (array of the platform enum), `status` (array of `DRAFT`, `PENDING`, `SCHEDULED`, `PUBLISHED`, `FAILED`, `ARCHIVED`, `REJECTED`), `startDate` and `endDate` (`YYYY-MM-DD`, filtering on the post's schedule in the brand's timezone), `socialConnectedChannelId` (one connection), `approvalState` (array of workflow states), `viewMode` (string) and `filterByUser` (boolean, defaults to false). | — |
| page | integer | 可选 | 1-based page number. Defaults to 1. | — |
| size | integer | 可选 | Rows per page. Defaults to 20. | — |
| fetchPostContent | boolean | 可选 | When `true`, each row carries its full `content` object. Leave it off for a lighter list. | — |
响应
200A page of posts plus `pageInfo` for paging.
{ "data": { "getSocialMediaPostByList": { "socialPosts": [ { "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345", "name": "Autumn collection launch", "status": "PUBLISHED", "platforms": ["INSTAGRAM", "FACEBOOK", "LINKEDIN"], "socialPlatformIds": [2, 1, 4], "socialProfileDetailsId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "createdAt": "2026-09-28T14:02:11Z", "createdBy": 40122, "author": "Dana Reyes", "approver": null, "approvalState": null, "actionOn": null, "actionBy": null, "publishedOn": "2026-10-02T13:30:04Z", "postAutomationId": null, "content": { "message": "Our autumn collection lands today. Solid oak, hand-finished, made two blocks from the shop.", "images": ["https://cdn.example.com/social/autumn-collection.jpg"], "video": [], "liveLink": "https://www.instagram.com/p/CxYz1234abc/", "boosted": false }, "connectedChannels": [ { "id": "b81d5b3c-4a90-4f6a-9c11-71e0dd2fa4a7", "platform": "INSTAGRAM", "displayName": "Jenny Home", "status": "SUCCESS", "liveLink": "https://www.instagram.com/p/CxYz1234abc/", "error": null } ] } ], "pageInfo": { "total": 64, "hasNextPage": true, "totalEngagementPosts": 41, "totalPublishedPosts": 47 } } }}401Unauthenticated, missing or invalid API key.
404No brand with that ID on this account (`SY95043`).
列出一个品牌的帖子,按从新到旧的顺序排列,支持按名称、平台、状态、审批状态和计划发布时间范围筛选。每行包含的信息足以直接显示日历或信息流,无需为每篇帖子再调用一次。
使用场景:内容日历。 使用 filters={"status":["SCHEDULED"],"startDate":"2026-10-01","endDate":"2026-10-31"} 筛选,并将每行放在其 publishedOn 对应的位置;如果帖子尚未发布,则放在您提交的计划发布时间对应的位置。为每个条目提供一个关联到 POST /social/posts/cancel 的取消操作,并通过 GET /social/posts/{postId} 打开详情视图。
使用场景:失败排查。 每晚使用 filters={"status":["FAILED"]} 逐一检查各品牌,并针对返回的行发出告警。connectedChannels[].error 会告知您哪个平台拒绝了发布以及原因;如果某个渠道报告授权已过期,则需要新的连接链接,而不是重试。
注意事项。
socialPostId是获取帖子、洞察数据和取消帖子端点接受的普通 UUID。- 筛选条件以一个 JSON 编码的字符串形式通过
filters查询参数传递,而不是作为独立参数传递。请对该字符串做 URL 编码。 - 分页基于偏移量(
page/size);pageInfo.total是匹配帖子的总数,而不是当前页的帖子数。totalPublishedPosts和totalEngagementPosts是整个品牌范围内的计数,适合用作控制台指标卡片。 - 每行仅包含帖子级别的状态。要查看解析后的确切计划发布时间和各渠道的结果,请通过
GET /social/posts/{postId}打开帖子。 startDate和endDate按帖子的计划发布时间筛选,并按品牌的时区解读,与解读scheduleDate/scheduleTime时使用的时区相同。- 在至少一个渠道成功发布之前,
publishedOn为 null。如果帖子的所有渠道均发布失败,该帖子会保留publishedOn: null,且status为FAILED。 approvalState、approver、actionOn和actionBy仅在账户启用帖子审批工作流时填充;否则保持为 null。- 仅在您需要显示帖子正文时设置
fetchPostContent=true;数据量更小的默认设置已足以满足日历需求。
Request
curl -X GET 'https://listingsapi.com/api/v4/social/brands/<brandId>/posts' \ -H "Authorization: API $LISTINGSAPI_KEY"