SaaS API제출물 내보내기
GET /ai/business/contents/export
제출물·AI검수·피드백을 엑셀 / 구글시트 / PDF로 내보내기 (광고주·에이전시)
제출물 내보내기 (광고주 · 에이전시)
캠페인의 크리에이터 제출물을 파일로 내려받습니다. 자기 캠페인, 에이전시라면 자기 고객사 캠페인에 한합니다.
HTTP 요청
GET /ai/business/contents/export
Authorization: Bearer {access_token}Query Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
collabNo | int | 예 | — | 캠페인 번호 |
applicationId | long | 아니오 | 전체 | 지정하면 그 인플루언서 한 명만 |
rounds | string | 아니오 | 전체 | 검수 회차. 1, 2, 1,2 |
format | string | 아니오 | xlsx | xlsx · sheet · pdf |
sheetSplit | string | 아니오 | creator | creator · creator-round |
includeImages | boolean | 아니오 | true | 이미지를 파일에 삽입할지 |
sheetSplit
| 값 | 결과 |
|---|---|
creator | 크리에이터당 시트 하나. 그 안에 1차·2차를 위아래로 배치 |
creator-round | 크리에이터 × 회차마다 시트. 홍길동-1차, 홍길동-2차 |
시트명은 엑셀 제약을 자동으로 맞춥니다 — 31자 초과 시 절단, [ ] : * ? / \ 는 밑줄로 치환,
동명이인은 _2 접미를 붙입니다.
응답
xlsx · pdf — 파일 바이트
200 OK
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Content-Disposition: attachment; filename*=UTF-8''%EC%97%AC%EB%A6%84%20%EC%BA%A0%ED%8E%98%EC%9D%B8_...xlsx파일명 규칙:
- 캠페인 전체 —
{캠페인명}_제출물검수_{YYYYMMDD}.xlsx - 인플루언서 개별 —
{캠페인명}_{크리에이터명}_제출물검수_{YYYYMMDD}.pdf
한글 파일명은 RFC 5987(filename*=UTF-8'')로 인코딩됩니다.
sheet — 구글 스프레드시트 URL
{
"status": 200,
"code": null,
"message": "구글 시트 생성이 완료되었습니다.",
"data": {
"spreadsheetId": "1AbCdEfGhIjKlMnOpQrStUvWxYz",
"url": "https://docs.google.com/spreadsheets/d/1AbCdEfGhIjKlMnOpQrStUvWxYz/edit"
}
}구글 시트는 링크를 아는 사람 누구나 열람할 수 있게 공유됩니다.
생성 30일 뒤 정리 스케줄러가 자동 삭제합니다. 오래된 링크가 영원히 사는 것을 막기 위한 것으로, 용량 문제가 아니라 보안 조치입니다.
에러 응답
| 상태 | code | 상황 |
|---|---|---|
400 | — | format 이 xlsx·sheet·pdf 가 아님 |
400 | — | rounds 가 숫자가 아니거나 1·2 밖의 값 |
400 | — | 인플루언서 200명 초과 |
403 | UNAUTHORIZED_ACCESS | 접근 권한 없는 캠페인 |
404 | CAMPAIGN_NOT_FOUND | 존재하지 않는 캠페인 |
502 | GOOGLE_SHEET_EXPORT_FAILED | 구글 시트 생성·공유 실패 |
502 는 format=sheet 에서만 발생합니다. 구글 연동이 막혀도 xlsx 와 pdf 는 정상 동작합니다.
부분 실패는 파일 생성을 막지 않습니다.
| 상황 | 처리 |
|---|---|
| AI 결과 조회 실패 | 해당 칸에 조회 실패 표기, 나머지 정상 |
| AI 결과 없음 | — 표기 |
| 이미지 다운로드 실패 | 링크 텍스트로 폴백 |
| 본문 파싱 실패 | 빈 본문으로 처리 |
| 대상 0명 | 요약 시트만 있는 파일 + 안내 행 |
예시
캠페인 전체를 엑셀로:
curl -X GET "https://test.glowb.io/ai/business/contents/export?collabNo=1234&format=xlsx" \
-H "Authorization: Bearer $TOKEN" \
-o export.xlsx2차 검수만 PDF로:
curl -X GET "https://test.glowb.io/ai/business/contents/export?collabNo=1234&rounds=2&format=pdf" \
-H "Authorization: Bearer $TOKEN" \
-o export.pdf인플루언서 한 명을 회차별 시트로 나눠 구글 시트로:
curl -X GET "https://test.glowb.io/ai/business/contents/export?collabNo=1234&applicationId=5678&format=sheet&sheetSplit=creator-round" \
-H "Authorization: Bearer $TOKEN"