Admin APIAdmin Dashboard API
POST /ai/admin/dashboard
대시보드 생성
대시보드 생성
관리자가 대시보드를 생성합니다.
HTTP 요청
POST /ai/admin/dashboard
Authorization: Bearer {access_token}
Content-Type: application/jsonRequest Body
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
businessId | String | 예 | 기업 아이디 |
title | String | 예 | 캠페인 제목 |
category | CategoryType | 아니오 | 캠페인 카테고리 |
snsType | SnsType | 아니오 | SNS 타입 |
contentFormat | SnsContentFormat | 아니오 | 콘텐츠 포맷 (릴스, 피드, 스토리 등) |
showPrice | Boolean | 아니오 | 가격 노출 여부 (기본값: true) |
listMode | String | 아니오 | 리스트 모드 (EXCLUDE, SELECT) |
charge | String | 아니오 | 예산 |
nation | String | 아니오 | 국가 |
feePolicyType | FeePolicyType | 아니오 | 수수료 정책 타입 |
feeType | FeeType | 아니오 | 수수료 유형 |
feeValue | Integer | 아니오 | 수수료 값 |
modelType | CampaignModelType | 아니오 | 캠페인 모델 타입 (STANDARD: 일반, SECONDARY_USAGE: 2차활용, PERFORMANCE: 성과형) |
deliveryType | DeliveryType | 아니오 | 배송 타입 (DELIVERY, NO_DELIVERY, VISIT_REQUIRED) |
isVisitRequired | String | 아니오 | 방문/반납 여부 (RETURN_AFTER_REVIEW 또는 null) |
managerNo | Long | 아니오 | 담당자 번호 (기존 담당자 선택 시) |
managerName | String | 아니오 | 담당자 이름 |
managerPhone | String | 아니오 | 담당자 연락처 |
managerEmail | String | 아니오 | 담당자 이메일 |
담당자 설정 방법
- 기존 담당자 선택:
managerNo를 포함하여 전송하면 해당 담당자의 정보가 업데이트됩니다. - 새 담당자 생성:
managerNo없이managerName,managerPhone,managerEmail을 전송하면 새 담당자가 생성됩니다. - 해당 기업의 첫 번째 담당자는 자동으로 기본 담당자(
isDefault: true)로 설정됩니다.
CategoryType 값
유효하지 않은 카테고리 값을 전송하면 404 INVALID_DATA 에러가 발생합니다.
| 값 | 설명 |
|---|---|
BEAUTY | 뷰티 |
FASHION | 패션 |
DAILY | 일상 |
TRAVEL | 여행 |
KIDS | 키즈 |
FOOD | 음식 |
RELATIONSHIP | 연애/결혼 |
INTERIOR | 인테리어 |
FOREIGN_CULTURE | 해외문화 |
EDUCATION_SELF_DEVELOPMENT | 교육/자기개발 |
BOOK | 도서 |
PERFORMANCE_EXHIBITION | 공연/전시 |
FINANCE_BUSINESS | 재테크/비즈니스 |
IT | IT |
PET | 반려동물 |
COOKING | 요리 |
GAME | 게임 |
SPORTS | 스포츠 |
PHOTOGRAPHY | 사진 |
MEDICINE | 의료 |
SOCIETY_POLITICS | 사회/정치 |
MOVIE_DRAMA | 영화/드라마 |
COMIC | 만화 |
HEALTH | 건강 |
CAREER | 커리어 |
MUSIC | 음악 |
ENVIRONMENT | 환경 |
GROCERY | 식료품 |
DEFAULT | 기본값 |
FeePolicyType 값
| 값 | 설명 |
|---|---|
ACTUAL_COST | 실비 |
COST_PLUS_FEE | 실비 + 수수료 |
TOTAL_AMOUNT | 총액 |
FeeType 값
| 값 | 설명 |
|---|---|
PERCENT | 퍼센트 (%) |
FIXED | 고정 금액 (원) |
요청 예시
{
"businessId": "business123",
"title": "여름 뷰티 캠페인",
"category": "BEAUTY",
"snsType": "INSTAGRAM",
"contentFormat": "REELS",
"showPrice": true,
"listMode": "SELECT",
"charge": "500000",
"nation": "KR",
"feePolicyType": "COST_PLUS_FEE",
"feeType": "PERCENT",
"feeValue": 10,
"modelType": "STANDARD",
"deliveryType": "DELIVERY",
"isVisitRequired": null,
"managerName": "김영희",
"managerPhone": "010-1234-5678",
"managerEmail": "yhkim@company.com"
}CampaignModelType 값
| 값 | 설명 |
|---|---|
STANDARD | 일반 캠페인 |
SECONDARY_USAGE | 2차활용 캠페인 |
PERFORMANCE | 성과형 캠페인 |
DeliveryType 값
| 값 | 설명 |
|---|---|
DELIVERY | 배송 |
NO_DELIVERY | 배송 없음 |
VISIT_REQUIRED | 방문 필요 |
응답
성공 응답 (201 Created)
{
"status": 201,
"code": null,
"message": "대시보드가 생성되었습니다.",
"data": 123
}에러 응답 (404 Not Found) - 유효하지 않은 카테고리
{
"status": 404,
"code": "INVALID_DATA",
"message": "유효하지 않은 카테고리입니다: INVALID_CATEGORY"
}