캠페인 추가금 상태 조회
캠페인의 추가금 항목, 글로우비 특별가/기존가 비율, 동적 비율 및 미리보기 가격을 반환합니다.
캠페인 추가금 상태 조회
캠페인 별로 저장된 글로우비 특별가/기존가 비율, 등록된 추가금 항목 행(가이드라인에서 생성된 것), 모달에서 직접 추가한 기타 수수료(miscFees), 체크된 PERCENT 항목 합산이 반영된 동적 글특가 비율, 그리고 150,000원 베이스 기준 계산 미리보기를 한 번에 반환합니다.
HTTP 요청
GET /ai/admin/dashboard/{campaignNo}/addon-fee-state
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
campaignNo | Long | 예 | 캠페인 번호 |
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "추가금 상태 조회 성공",
"data": {
"currentPriceRate": 15,
"quotePriceRate": 50,
"dynamicCurrentRate": 25,
"addonFees": [
{
"code": "BEFORE_AFTER",
"label": "비포&애프터 샷",
"valueType": "PERCENT",
"value": 10,
"isIncluded": true
},
{
"code": "OUTDOOR",
"label": "야외/방문 촬영",
"valueType": "AMOUNT",
"value": 100000,
"isIncluded": false
}
],
"miscFees": [
{
"valueType": "PERCENT",
"value": -15
},
{
"valueType": "AMOUNT",
"value": 50000
}
],
"preview": {
"proposedPrice": 150000,
"currentPrice": 187500,
"quotePrice": 281250
}
}
}응답 필드
| 필드 | 타입 | 설명 |
|---|---|---|
currentPriceRate | Double | Collab에 저장된 글로우비 특별가 디폴트 비율 (%) |
quotePriceRate | Double | Collab에 저장된 기존가 비율 (%) |
dynamicCurrentRate | Double | currentPriceRate + Σ(included && PERCENT 항목 value). 기타 수수료 PERCENT 행도 포함됨(항상 included). 실제 가격 계산에 사용되는 동적 비율 |
addonFees[] | Array | 캠페인에 등록된 추가금 항목 행 (가이드라인 출처, MISC 제외) |
addonFees[].code | String | AddonFeeType enum 코드 |
addonFees[].label | String | 한글 라벨 |
addonFees[].valueType | String | AMOUNT / PERCENT |
addonFees[].value | Number | 저장된 값. PERCENT면 % 값, AMOUNT면 원 단위. EXTRA_SCENE 의 경우 20 × (총장면수 − 7) 로 동적 계산되어 저장된 값 (예: 9장면 → 40) |
addonFees[].isIncluded | Boolean | 가격 계산에 포함 여부 (모달 합산 체크박스 상태) |
miscFees[] | Array | 기타 수수료 행. 가이드라인 출처가 아니라 모달에서 직접 추가. 항상 가격에 포함되며 합산 토글이 없음 |
miscFees[].valueType | String | AMOUNT(원) / PERCENT(%) |
miscFees[].value | Number | 값. PERCENT면 % 값, AMOUNT면 원 단위. 음수(할인) 가능 (예: -15, -50000) |
preview.proposedPrice | Long | 미리보기 베이스 (150,000원 고정) |
preview.currentPrice | Long | proposedPrice × (1 + dynamicCurrentRate / 100) + amountSum |
preview.quotePrice | Long | currentPrice × (1 + quotePriceRate / 100) + amountSum |
여기서 amountSum = Σ(included && AMOUNT 항목 value) 이며, 가이드라인 추가금의 AMOUNT 행과 기타 수수료 AMOUNT 행을 모두 포함합니다(음수 가능).
addonFees는 이 캠페인에 실제로 등록된 행(가이드라인 출처)만 반환하며 MISC(기타 수수료)는 제외됩니다. 전체 AddonFeeType 후보를 보려면 GET /ai/admin/addon-fee/options를 사용하세요.
기타 수수료(miscFees) 는 가이드라인 sync 대상이 아니라 이 모달에서만 직접 추가/삭제합니다. PERCENT/AMOUNT 모두 가능하고 음수(할인) 를 허용하며(예: -15%, -50,000원), is_included는 항상 true로 가격에 반영됩니다. 저장은 quote-price-with-addons의 miscFees로 전체 대체(replace)됩니다.
EXTRA_SCENE row 해석: 이 항목은 admin이 수동으로 추가하는 것이 아니라 가이드라인 V4 저장 시 자동 sync 됩니다. value 가 동적 값(20 × 초과장면수)이며, 가이드라인 수정으로 장면 수가 7 이하가 되면 row 도 자동 삭제됩니다. 자세한 규칙은 addon-fee/options 참고.
에러 응답
| 상태 코드 | 설명 |
|---|---|
400 | 존재하지 않는 캠페인입니다: {campaignNo} |
401 | 인증 실패 |
403 | ADMIN 권한 필요 |