/api/v4/social/brands/{brandId}/postsMenampilkan daftar postingan suatu merek
Mengembalikan daftar postingan media sosial suatu merek dengan paginasi, beserta konten, jadwal, platform, dan status per kanalnya.
Parameter
Path
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| brandId | string | wajib | Brand UUID whose posts should be listed. |
Query
| Nama | Tipe | Wajib | Deskripsi | Default |
|---|---|---|---|---|
| filters | string | opsional | 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 | opsional | 1-based page number. Defaults to 1. | — |
| size | integer | opsional | Rows per page. Defaults to 20. | — |
| fetchPostContent | boolean | opsional | When `true`, each row carries its full `content` object. Leave it off for a lighter list. | — |
Respons
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`).
Menampilkan daftar postingan satu merek, dari yang terbaru, dengan filter untuk nama, platform, status, status persetujuan, dan rentang jadwal. Setiap baris memuat informasi yang cukup untuk menampilkan kalender atau linimasa tanpa panggilan kedua untuk setiap postingan.
Kasus penggunaan: kalender konten. Filter dengan filters={"status":["SCHEDULED"],"startDate":"2026-10-01","endDate":"2026-10-31"} dan tempatkan setiap baris pada publishedOn atau, untuk postingan yang belum dipublikasikan, pada jadwal yang Anda kirimkan. Berikan tindakan pembatalan pada setiap entri yang terhubung ke POST /social/posts/cancel, dan buka tampilan detail dengan GET /social/posts/{postId}.
Kasus penggunaan: pemeriksaan kegagalan. Jalankan pemeriksaan setiap malam dengan filters={"status":["FAILED"]} untuk setiap merek dan kirimkan peringatan untuk baris yang dikembalikan. connectedChannels[].error memberi tahu Anda platform mana yang menolak dan alasannya; kanal yang melaporkan otorisasi kedaluwarsa memerlukan tautan koneksi baru, bukan percobaan ulang.
Catatan.
socialPostIdadalah UUID biasa yang diterima oleh get, insights, dan cancel.- Filter dikirim sebagai satu string yang dikodekan dalam JSON di parameter kueri
filters, bukan sebagai parameter terpisah. Terapkan pengodean URL pada string tersebut. - Paginasi berbasis offset (
page/size);pageInfo.totaladalah jumlah total postingan yang cocok, bukan jumlah postingan di halaman ini.totalPublishedPostsdantotalEngagementPostsadalah penghitung untuk seluruh merek, yang berguna sebagai kartu dasbor. - Baris tersebut hanya memuat status tingkat postingan. Untuk waktu jadwal yang telah ditentukan dan hasil per kanal, buka postingan dengan
GET /social/posts/{postId}. startDatedanendDatememfilter berdasarkan jadwal postingan dan dibaca dalam zona waktu merek, yaitu zona waktu yang juga digunakan untuk menafsirkanscheduleDate/scheduleTime.publishedOnbernilai null hingga setidaknya satu kanal memublikasikan postingan. Postingan yang gagal di semua kanalnya tetap memilikipublishedOn: nulldanstatusbernilaiFAILED.approvalState,approver,actionOn, danactionByhanya diisi untuk akun yang menjalankan alur kerja persetujuan postingan; jika tidak, semuanya tetap bernilai null.- Tetapkan
fetchPostContent=truehanya saat Anda menampilkan isi postingan; pengaturan default yang lebih ringan sudah cukup untuk kalender.
curl -X GET 'https://listingsapi.com/api/v4/social/brands/<brandId>/posts' \ -H "Authorization: API $LISTINGSAPI_KEY"