/api/v4/social/brands/{brandId}/postsBir markanın gönderilerini listeleme
Bir markanın sosyal medya gönderilerini içerikleri, zamanlamaları, platformları ve kanal bazında durumlarıyla sayfalanmış liste olarak döndürür.
Parametreler
Yol
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| brandId | string | zorunlu | Brand UUID whose posts should be listed. |
Sorgu
| Ad | Tür | Zorunlu | Açıklama | Varsayılan |
|---|---|---|---|---|
| filters | string | isteğe bağlı | 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 | isteğe bağlı | 1-based page number. Defaults to 1. | — |
| size | integer | isteğe bağlı | Rows per page. Defaults to 20. | — |
| fetchPostContent | boolean | isteğe bağlı | When `true`, each row carries its full `content` object. Leave it off for a lighter list. | — |
Yanıtlar
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`).
Bir markanın gönderilerini ad, platform, durum, onay durumu ve planlanan zaman aralığına göre filtreleyerek en yeniden başlayarak listeler. Her satır, gönderi başına ikinci bir çağrı yapmadan bir takvim veya akış oluşturmak için yeterli bilgi içerir.
Kullanım senaryosu: içerik takvimi. filters={"status":["SCHEDULED"],"startDate":"2026-10-01","endDate":"2026-10-31"} ile filtreleyin ve her satırı publishedOn zamanına veya henüz yayımlanmamış bir gönderi için gönderdiğiniz planlanan zamana yerleştirin. Her öğeye POST /social/posts/cancel ile bağlantılı bir iptal eylemi ekleyin ve ayrıntı görünümünü GET /social/posts/{postId} ile açın.
Kullanım senaryosu: başarısızlık taraması. Her gece her marka için filters={"status":["FAILED"]} ile bir tarama çalıştırın ve dönen satırlar için uyarı oluşturun. connectedChannels[].error, hangi platformun gönderiyi reddettiğini ve nedenini belirtir; yetkilendirme süresinin dolduğunu bildiren bir kanal için yeniden deneme değil, yeni bir bağlantı kurma bağlantısı gerekir.
Notlar.
socialPostId, get, insights ve cancel tarafından kabul edilen düz UUID değeridir.- Filtreler, ayrı parametreler olarak değil,
filterssorgu parametresinde JSON olarak kodlanmış tek bir dize olarak iletilir. Bu dizeye URL kodlaması uygulayın. - Sayfalama, ofset tabanlıdır (
page/size);pageInfo.total, bu sayfanın boyutu değil, eşleşen gönderilerin toplam sayısıdır.totalPublishedPostsvetotalEngagementPosts, marka genelindeki sayaçlardır ve kontrol panelinde kutucuklar olarak kullanılabilir. - Satır yalnızca gönderi düzeyindeki durumu içerir. Kesinleştirilmiş planlanan zamanı ve kanal başına sonucu görmek için gönderiyi
GET /social/posts/{postId}ile açın. startDateveendDate, gönderinin planlanan zamanına göre filtreleme yapar vescheduleDate/scheduleTimeile aynı şekilde markanın saat diliminde yorumlanır.publishedOn, en az bir kanalda yayımlanana kadar null değerindedir. Tüm kanalları başarısız olan bir gönderi,publishedOn: nulldeğerini korur vestatusdeğeriFAILEDolarak kalır.approvalState,approver,actionOnveactionByyalnızca gönderi onay iş akışını kullanan hesaplar için doldurulur; aksi durumda null olarak kalırlar.fetchPostContent=truedeğerini yalnızca gönderi gövdelerini görüntülerken ayarlayın; daha hafif olan varsayılan seçenek bir takvim için yeterlidir.
curl -X GET 'https://listingsapi.com/api/v4/social/brands/<brandId>/posts' \ -H "Authorization: API $LISTINGSAPI_KEY"