GET/api/v4/social/brands/{brandId}/posts

Menampilkan daftar postingan suatu merek

Mengembalikan daftar postingan media sosial suatu merek dengan paginasi, beserta konten, jadwal, platform, dan status per kanalnya.

Memerlukan kunci API. Lihat Autentikasi untuk format header dan rotasi kunci.

Parameter

Path

NamaTipeWajibDeskripsi
brandIdstringwajibBrand UUID whose posts should be listed.

Query

NamaTipeWajibDeskripsiDefault
filtersstringopsionalJSON-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).—
pageintegeropsional1-based page number. Defaults to 1.—
sizeintegeropsionalRows per page. Defaults to 20.—
fetchPostContentbooleanopsionalWhen `true`, each row carries its full `content` object. Leave it off for a lighter list.—

Respons

200A page of posts plus `pageInfo` for paging.
Response
{  "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.

  • socialPostId adalah 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.total adalah jumlah total postingan yang cocok, bukan jumlah postingan di halaman ini. totalPublishedPosts dan totalEngagementPosts adalah 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}.
  • startDate dan endDate memfilter berdasarkan jadwal postingan dan dibaca dalam zona waktu merek, yaitu zona waktu yang juga digunakan untuk menafsirkan scheduleDate / scheduleTime.
  • publishedOn bernilai null hingga setidaknya satu kanal memublikasikan postingan. Postingan yang gagal di semua kanalnya tetap memiliki publishedOn: null dan status bernilai FAILED.
  • approvalState, approver, actionOn, dan actionBy hanya diisi untuk akun yang menjalankan alur kerja persetujuan postingan; jika tidak, semuanya tetap bernilai null.
  • Tetapkan fetchPostContent=true hanya saat Anda menampilkan isi postingan; pengaturan default yang lebih ringan sudah cukup untuk kalender.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/brands/<brandId>/posts' \  -H "Authorization: API $LISTINGSAPI_KEY"