SaaS API콘텐츠 가이드라인 API
GET /ai/guideline/{collabNo}
캠페인 콘텐츠 가이드라인 조회
가이드라인 조회
캠페인의 콘텐츠 가이드라인을 조회합니다.
| 항목 | 값 |
|---|---|
| 메서드 | GET |
| 경로 | /ai/guideline/{collabNo} |
| 인증 | 불필요 |
요청
GET /ai/guideline/123 HTTP/1.1
Host: api.glowb.comcurl -X GET "https://api.glowb.com/ai/guideline/123"const response = await fetch('/ai/guideline/123');
const result = await response.json();Path Parameters
Prop
Type
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "가이드라인 조회가 완료되었습니다.",
"data": {
"collabNo": 123,
"createdAt": "2025-01-09T12:00:00Z",
"updatedAt": "2025-01-09T14:30:00Z",
"contentTypes": ["VIDEO", "CAPTION", "HASHTAG"],
"basicInfo": {
"productUrl": "https://example.com/product",
"contentConcepts": [
{
"code": "STORY_TELLING",
"referenceUrl": "https://instagram.com/reel/xxx",
"referenceDescription": "이 영상처럼 자연스러운 썰풀기 스타일로"
},
{
"code": "CREATOR_STYLE",
"referenceUrl": null,
"referenceDescription": null
}
],
"keywords": [
{ "text": "여름선크림", "isRequired": true },
{ "text": "데일리선크림", "isRequired": false }
],
"titleExample": "여름 필수템! 촉촉한 선크림 추천"
},
"contentDetailInfo": {
"categoryCode": "BEAUTY",
"basicShots": [
{
"code": "TEXTURE_SHOT",
"appealPoint": "크리미한 제형과 빠른 흡수력을 보여주세요",
"subOption": null
},
{
"code": "COLOR_SHOT",
"appealPoint": "무보정 발색 보여주세요",
"subOption": null
},
{
"code": "USAGE_SHOT",
"appealPoint": null,
"subOption": {
"code": "BODY_EXPOSURE",
"additionalPrice": 50000
}
}
],
"additionalOptions": [
{
"code": "BEFORE_AFTER",
"additionalPrice": 50000,
"inputText": null
},
{
"code": "NARRATION",
"additionalPrice": 20000,
"inputText": "제품 특징을 강조하는 나레이션을 넣어주세요"
}
],
"etcOptions": [
{
"code": "PROMOTION_GUIDE",
"description": "현재 진행 중인 할인 이벤트를 안내해주세요"
}
]
},
"marketingInfo": {
"requiredPoints": [
"SPF50+ PA++++ 자외선 차단",
"촉촉한 수분감",
"백탁 없는 투명 발림성"
],
"optionalPoints": [
"비건 인증",
"민감성 피부 사용 가능"
],
"videoMarketingOptions": {
"promotion": {
"referenceUrl": "https://example.com/promo",
"description": "6월 한정 20% 할인 진행 중"
},
"brandAccountTag": {
"accountName": "@glowb_beauty",
"tagMethods": ["PERSON_TAG", "CAPTION_TAG"],
"saveAsDefault": true
},
"sponsorLabel": {
"accountName": "@glowb_official"
},
"collaborator": {
"accountName": "@glowb_collab",
"tagMethods": null,
"saveAsDefault": false
},
"useAutoDm": false,
"productLinkShare": {
"enabled": true,
"shareMethods": ["dm", "profileLink"],
"shareLink": "https://example.com/product/123",
"shareDuration": 2,
"shareDurationUnit": "week",
"priceIncrease": 30000
}
},
"hashtags": ["#글로브뷰티", "#여름선크림", "#데일리선크림"]
},
"detailPageInfo": {
"brandLogo": {
"imageUrl": "https://s3.../brand-logo.png",
"saveAsDefault": true
},
"thumbnailUrl": "https://s3.../thumbnail.jpg",
"detailImageUrls": [
"https://s3.../detail-1.jpg",
"https://s3.../detail-2.jpg",
"https://s3.../detail-3.jpg"
]
},
"pdfInfo": {
"generated": true,
"url": "https://s3.../guideline-123.pdf",
"generatedAt": "2025-01-09T14:30:00"
},
"extra": {
"customField": "추가 데이터"
}
}
}응답 필드 상세
최상위 필드
Prop
Type
basicInfo (기본 정보)
Prop
Type
ContentConcept 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 컨셉 코드 |
referenceUrl | string | null | 레퍼런스 링크 (CREATOR_STYLE 제외) |
referenceDescription | string | null | 참고 포인트 설명 |
컨셉 코드 목록:
CREATOR_STYLE: 평소 크리에이터 콘텐츠 스타일로STORY_TELLING: 썰풀기 컨셉MEME: 최신 밈 활용 컨셉EMOTIONAL: 감성 컨셉INFORMATIONAL: 정보 전달 컨셉GET_READY_WITH_ME: 겟레디윗미 컨셉
Keyword 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
text | string | 키워드 텍스트 |
isRequired | boolean | 필수 키워드 여부 |
contentDetailInfo (촬영/콘텐츠 상세)
Prop
Type
카테고리 코드:
BEAUTY, FASHION, TRAVEL, FINANCE_BUSINESS, RESTAURANT, COOKING, IT, HEALTH_FITNESS, PARENTING_WEDDING, INTERIOR
BasicShot 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 촬영 옵션 코드 (카테고리별로 다름) |
appealPoint | string | null | 어필 포인트 설명 (최대 100자) |
subOption | SubOption | null | 서브 옵션 |
카테고리별 촬영 옵션 코드:
| 카테고리 | 옵션 코드 |
|---|---|
| 뷰티 | TEXTURE_SHOT(제형 표현), COLOR_SHOT(발색), PACKAGE_SHOT(패키지), USAGE_SHOT(제품 사용), TIP_SHOT(사용 꿀팁), ETC(기타) |
| 패션 | MATERIAL_SHOT(소재), UNBOXING_SHOT(언박싱), STYLING_TIP_SHOT(착용 방법/꿀팁), LOOKBOOK_SHOT(룩북식 코디) |
| 여행 | PRODUCT_INTRO_SHOT(상품 소개), ACCOMMODATION_SHOT(숙소), FOOD_SHOT(음식/맛집), ACTIVITY_SHOT(액티비티), LANDMARK_SHOT(랜드마크) |
| 금융/비즈니스 | PRODUCT_INTRO_SHOT, USAGE_GUIDE_SHOT, COPYWRITING_SHOT, TIP_SHOT |
| 맛집/요리 | STORE_SHOT(매장), COOKING_SHOT(요리/서빙), TABLE_SHOT(테이블 연출), TIP_SHOT(꿀팁), MENU_DESC_SHOT(메뉴/맛 설명) |
| IT | FEATURE_DEMO_SHOT(핵심 기능 시연), SCREEN_SHOT(서비스 화면), USAGE_SCENE_SHOT(사용 장면), PRODUCT_DESC_SHOT(상품 설명) |
| 운동/건강 | INGREDIENT_SHOT(핵심 성분/기능), PACKAGE_SHOT, USAGE_SHOT, ROUTINE_SHOT(루틴) |
| 육아/결혼 | PRODUCT_INTRO_SHOT, STRENGTH_SHOT(강점 강조), PACKAGE_SHOT, TIP_SHOT |
| 인테리어 | PRODUCT_INTRO_SHOT, MULTI_ANGLE_SHOT(다각도), STRENGTH_SHOT, PACKAGE_SHOT, FULL_VIEW_SHOT(전경) |
SubOption 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 서브 옵션 코드 (BODY_EXPOSURE, FIVE_OR_MORE, SIX_OR_MORE, FOUR_OR_MORE) |
additionalPrice | integer | 추가 단가 (원) |
AdditionalOption 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 추가 옵션 코드 |
additionalPrice | integer | 추가 단가 (원) |
inputText | string | null | 추가 입력 텍스트 (사용자가 직접 입력하는 상세 내용) |
추가 옵션 코드:
NARRATION: 나레이션 삽입 (+20,000원, 영상용)BEFORE_AFTER: 비포&애프터 샷 (+50,000원)PROCEDURE: 시술 관련 샷 (+150,000원)OUTDOOR: 야외/방문 촬영 (+30,000~50,000원)BODY_EXPOSURE: 얼굴 외 신체부위 노출 (+50,000원)CHILD_USAGE: 아이가 제품을 사용하는 샷 (+50,000원)
EtcOption 객체 (블로그용):
| 필드 | 타입 | 설명 |
|---|---|---|
code | string | 기타 옵션 코드 (PROMOTION_GUIDE, CAUTION_GUIDE) |
description | string | 상세 내용 |
marketingInfo (마케팅 정보)
Prop
Type
VideoMarketingOptions 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
promotion | Promotion | null | 프로모션 정보 |
brandAccountTag | BrandAccount | null | 브랜드 계정 태그 (@계정명) |
sponsorLabel | SponsorLabel | null | 협찬 레이블 추가 (@계정명) |
collaborator | BrandAccount | null | 공동작업자 추가 (@계정명) |
useAutoDm | boolean | 자동 DM 시스템 사용 여부 (+50,000원, 2차활용 시 비권장) |
productLinkShare | ProductLinkShare | null | 제품 링크 공유 옵션 |
ProductLinkShare 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
enabled | boolean | 사용 여부 |
shareMethods | array<string> | 공유 방법 목록 (dm: DM으로 공유, profileLink: 프로필 링크로 공유) |
shareLink | string | 공유할 링크 |
shareDuration | integer | 공유 기간 (숫자) |
shareDurationUnit | string | 공유 기간 단위 (day, week, month) |
priceIncrease | integer | 추가 단가 (원) |
Promotion 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
referenceUrl | string | 레퍼런스 링크 |
description | string | 프로모션 설명 |
BrandAccount 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
accountName | string | 계정명 (@포함) |
tagMethods | array<string> | null | 태그 방법 목록 (PERSON_TAG, CAPTION_TAG) - 중복 선택 가능 |
saveAsDefault | boolean | 기본 정보로 저장 여부 |
SponsorLabel 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
accountName | string | 협찬 레이블 계정명 (@포함) |
detailPageInfo (상세페이지 정보)
Prop
Type
BrandLogo 객체:
| 필드 | 타입 | 설명 |
|---|---|---|
imageUrl | string | 로고 이미지 URL |
saveAsDefault | boolean | 기본 정보로 저장 여부 |
pdfInfo (PDF 정보)
가이드라인 완료 후에만 존재합니다.
Prop
Type
에러 응답
가이드라인을 찾을 수 없음 (404)
{
"status": 404,
"code": "GUIDELINE_NOT_FOUND",
"message": "가이드라인을 찾을 수 없습니다.",
"data": null
}