GET/api/v4/posts/{postId}

게시물 조회

콘텐츠, 사이트별 게시 상태, 참여도 분석을 포함한 단일 소셜 게시물 캠페인을 반환합니다.

API 키가 필요합니다. 헤더 형식과 키 교체는 인증을 참고하세요.

매개변수

경로

이름유형필수설명
postIdstring필수Base64-encoded social post ID (e.g. from the `id` field of a posts list, or the `socialPost.id` returned by POST /posts).

응답

200The post's content, publish details, and analytics.
Response
{  "data": {    "socialPostView": {      "socialPostId": "U29jaWFsUG9zdDo0NDEyMg==",      "socialPostInfo": {        "id": "U29jaWFsUG9zdDo0NDEyMg==",        "name": "Summer Hours Update",        "status": "SUCCESS",        "type": "ANNOUNCEMENT",        "createdAt": "2026-06-28",        "scheduledStartDate": "2026-06-28",        "scheduledEndDate": "2026-07-28",        "views": 128,        "clicks": 14,        "shares": 0,        "reactions": 3,        "comments": 1,        "sites": ["GOOGLE"],        "message": [          { "site": "GOOGLE", "message": "We have extended our summer hours! Open until 9pm on weekdays." }        ],        "cta": [          { "type": { "value": "LEARN_MORE", "label": "Learn more" }, "url": "https://jennyhome.example/hours", "site": "GOOGLE", "tinyUrl": "https://tiny.cc/jh-hours" }        ],        "contextInfo": null,        "mediaUrl": [          { "url": "https://cdn.listingsapi.com/posts/44122/summer.jpg", "site": "GOOGLE", "type": "IMAGE" }        ],        "publishDetails": [          { "site": "GOOGLE", "status": "PUBLISHED", "createdDate": "2026-06-28", "publishedDate": "2026-06-28", "submissionError": null }        ],        "postLinks": [          { "site": "GOOGLE", "link": "https://www.google.com/maps/place/?post=44122" }        ],        "locationIds": [1800289]      },      "publishedLocationsCount": 1,      "socialPostAnalyticsBySite": [        { "site": "GOOGLE", "views": 128, "clicks": 14, "reactions": 3, "shares": 0, "comments": 1 }      ],      "socialPostAnalyticsByLocationId": [        {          "locationId": 1800289,          "siteStats": [            { "site": "GOOGLE", "status": "PUBLISHED", "views": 128, "clicks": 14, "reactions": 3, "shares": 0, "comments": 1 }          ]        }      ]    }  }}
401Unauthenticated, missing or invalid API key.

ID로 게시물 캠페인 1개를 조회하며, 사이트별 메시지와 CTA, 첨부된 미디어, 각 사이트의 실시간 게시 상태(publishDetails), 사이트별(socialPostAnalyticsBySite) 및 사업장별(socialPostAnalyticsByLocationId)로 구분된 참여도를 포함합니다.

사용 사례: 게시 후 확인. POST /posts로 공지사항을 생성한 직후, 반환된 socialPost.id를 사용하여 socialPostInfo.status가 INPROGRESS에서 SUCCESS로 바뀔 때까지 GET /posts/{postId}를 폴링합니다. 사이트에서 게시에 실패하면 publishDetails[].submissionError에 사유가 포함되고 publishDetails[].status에 ERROR가 표시됩니다.

사용 사례: 참여도 대시보드. 단일 사업장 게시물의 경우, 해당 사업장의 전체 게시물 목록을 다시 조회하지 않고도 socialPostAnalyticsBySite를 읽어 Google과 Facebook의 조회수 및 클릭수를 비교하여 표시합니다.

참고 사항.

  • postId는 게시물 목록에서 id로, 또는 생성 응답에서 socialPost.id로 제공되는 Base64로 인코딩된 ID이며, 원시 정수가 아닙니다.
  • 여러 사업장을 대상으로 하는 일괄 캠페인을 조회하려면 GET /bulk-posts/{postId}를 사용합니다. 이 엔드포인트는 같은 구조를 반환하며 publishedLocationsCount > 1입니다.

이 예시는 API 스키마를 기반으로 작성되었습니다. 실제 시드 계정(Jenny Home)에는 게시물이 없으므로 조회할 실제 게시물 ID가 없었습니다. 알 수 없거나 유효하지 않은 ID를 사용하면 {"data":null,"errors":[{"message":"An error occurred processing your request."}]}가 반환됩니다.

Request
curl -X GET 'https://listingsapi.com/api/v4/posts/<postId>' \  -H "Authorization: API $LISTINGSAPI_KEY"