GET
/api/v4/social/bulk-posts/{bulkJobId}일괄 게시물 작업 조회
일괄 소셜 게시물 작업의 상태, 집계 수치 및 행별 결과를 반환합니다.
매개변수
경로
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
| bulkJobId | string | 필수 | Job UUID, the `job.id` returned by POST /social/bulk-posts. |
응답
200The job with its counts and one entry per submitted row.
{ "data": { "getBulkSocialPostJob": { "id": "9b3f18d0-7a26-4c51-8e94-1f0d5c6b7a82", "status": "COMPLETED_WITH_ERRORS", "totalCount": 3, "processedCount": 3, "successCount": 2, "failureCount": 1, "createdAt": "2026-09-28T14:04:52Z", "updatedAt": "2026-09-28T14:05:31Z", "results": [ { "index": 0, "clientReference": "campaign-4471-slot-01", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK"], "status": "CREATED", "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345", "postStatus": "SCHEDULED", "errors": [] }, { "index": 1, "clientReference": "campaign-4471-slot-02", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK", "LINKEDIN"], "status": "CREATED", "socialPostId": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70", "postStatus": "SCHEDULED", "errors": [] }, { "index": 2, "clientReference": "campaign-4471-slot-03", "socialProfileId": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33", "platforms": ["INSTAGRAM"], "status": "FAILED", "socialPostId": null, "postStatus": null, "errors": [ { "message": "SY95045: No connected channel for INSTAGRAM on this brand", "code": "SY95045", "contextInfo": [{ "key": "platform", "value": "INSTAGRAM" }] } ] } ] } }}401Unauthenticated, missing or invalid API key.
404No job with that ID on this account (`SY95047`).
POST /social/bulk-posts로 생성한 작업의 정보를 제공합니다. status가 종료 상태 값에 도달할 때까지 폴링한 다음, results[]를 읽어 각 행의 처리 결과를 확인합니다.
사용 사례: 일괄 등록 결과를 자체 캘린더에 반영. 배치를 제출한 후 몇 초 간격으로 이 엔드포인트를 폴링합니다. status가 종료 상태가 되면 results[]를 순회하면서 각 항목의 clientReference를 자체 레코드와 대조하고, 해당 레코드에 socialPostId를 기록합니다. status: "FAILED"인 행에는 errors[]에 사유가 포함되어 있으며, 해당 행만 새 배치로 다시 전송합니다.
사용 사례: 진행률 표시줄. results[]를 전혀 순회하지 않아도 totalCount 대비 processedCount만으로 진행률 표시줄을 구현할 수 있으며, 작업이 완료되는 즉시 successCount / failureCount로 주요 결과를 확인할 수 있습니다.
작업 상태
참고 사항.
clientReference는 해당 행에서 전송한 값을 그대로 반환한 것입니다. 자체 데이터와 연결하는 가장 명확한 수단이며, 값을 전송하지 않은 경우에는 제출한 배열에서 해당 행의 0부터 시작하는 위치인index를 대신 사용합니다.- 행이
status: "CREATED"에 도달했다는 것은 게시물이 존재한다는 뜻이며, 게시되었다는 뜻은 아닙니다. 게시물 자체의 현재 상태는postStatus로 확인합니다.PUBLISH및SCHEDULE인 행도 이후 비동기 게시 파이프라인을 거치므로, 각socialPostId를GET /social/posts/{postId}에 전달하고channels[]를 읽어 실제 채널별 결과를 확인합니다. - 모든 행이 유효성 검사에 실패한 작업은 애초에 생성되지 않습니다. 일괄 생성이 대기열에 추가하기 전에 배치를 거부하기 때문입니다. 여기서
FAILED인 작업은 접수된 후 작업에 문제가 발생했다는 뜻입니다. updatedAt은 행이 처리됨에 따라 바뀌며, 작업이 종료 상태가 되면 확정됩니다.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/bulk-posts/<bulkJobId>' \ -H "Authorization: API $LISTINGSAPI_KEY"