SaaS API피드백 관리자 승인 (v4)
피드백 관리자 승인 (v4)
기업 피드백을 관리자가 승인/거절한 뒤 크리에이터에게 전달하는 워크플로우 API
피드백 관리자 승인 워크플로우 (v4)
기업(브랜드)이 작성한 콘텐츠 검수 피드백을, 관리자(Glow.B) 승인을 거친 뒤에만 크리에이터에게 전달하는 기능입니다.
적용 조건: 캠페인의 adminFeedbackApprovalEnabled = true 일 때만 이 게이트가 동작합니다.
OFF인 캠페인은 기존처럼 피드백이 바로 크리에이터에게 전달됩니다(기존 bulk-feedback API 사용).
전체 흐름 (상태 머신)
기업: 피드백 작성·제출 (submit)
→ 검수 라운드 adminApprovalStatus = PENDING ※크리에이터에게 안 나감
관리자: 목록 조회(list) → 피드백 건별 승인/거절(decide)
├ 전부 APPROVED → APPROVED → 크리에이터로 릴리즈
└ 하나라도 REJECTED → CHANGES_REQUESTED
기업: 거절된 건마다 응답(respond)
├ 수용(ACCEPTED) → 그 피드백 그대로 진행(릴리즈 대상)
└ 수정(REVISED) → 내용 갱신 + 재심사(PENDING)로 복귀
→ 모든 피드백이 (APPROVED 또는 REJECTED+ACCEPTED) 되면 → 크리에이터로 릴리즈릴리즈 = 전부-아니면-전무: 라운드의 정식 피드백이 모두 해소(cleared) 돼야 크리에이터에게 나갑니다. 하나라도 미해소면 보류.
cleared판정:adminDecision == APPROVED또는 (adminDecision == REJECTED그리고businessResponse == ACCEPTED)
릴리즈 분기 (승인 vs 재제출)
게이트를 통과해 릴리즈될 때, 제출 당시의 의도에 따라 결과가 갈립니다.
| 제출 방식 | 게이트 | 릴리즈 결과 | 제출물 상태 |
|---|---|---|---|
| 피드백 없이 승인 (approve) | 미경유(즉시) | 검수 라운드 APPROVED + 승인 후속 처리 | 전체 제출물 APPROVED |
피드백 포함 승인 (submit + approveWithFeedback:true) | 경유 | 전부 cleared → APPROVED(승인) | 전체 제출물 APPROVED |
재제출 요청 (submit 기본) | 경유 | 전부 cleared → REJECTED(재제출 요청) | 피드백 달린 제출물만 REJECTED |
- 피드백 포함 승인은 생성된 피드백을 즉시
resolved처리하고 검수 라운드에approvedWithFeedback = true(승인 의도)를 기억합니다. 게이트는 그대로 거치며, 통과 시 재제출이 아니라 승인으로 릴리즈됩니다. - 정식 제출(submit)은 매번 요청의
approveWithFeedback값으로 의도를 갱신합니다(직전 승인 의도가 남아있지 않음).
상태/Enum 레퍼런스
| Enum | 값 | 의미 |
|---|---|---|
adminApprovalStatus (검수 라운드) | NONE | 게이트 비대상(토글 OFF) 또는 제출 전 |
PENDING | 관리자 검토 대기 | |
CHANGES_REQUESTED | 일부 거절 → 기업 수용/수정 대기 | |
APPROVED | 전부 해소 → 릴리즈 완료 | |
adminDecision (피드백) | PENDING / APPROVED / REJECTED | 관리자 건별 판단 |
businessResponse (피드백) | NONE / ACCEPTED / REVISED | 거절건에 대한 기업 응답 |
feedbackType (피드백) | FREE | 자유 피드백 |
GUIDELINE_UNREFLECTED | 가이드라인 내(미반영) | |
GUIDELINE_EXTRA | 가이드라인 외 | |
billingType (피드백) | FREE / PAID | 무료/유료 검수 (실제 과금은 관리자 정산 판단) |
actor (히스토리) | BUSINESS / ADMIN | 행위 주체 |
action (히스토리) | SUBMIT / APPROVE / REJECT / ACCEPT / REVISE / COMMENT | 행위 (COMMENT = 관리자 라운드 코멘트) |
공통 응답 래퍼는 ApiResponse (status, code, message, data).
API 목록
기업측 API (/ai/v4/feedback)
| API | 설명 |
|---|---|
| 피드백 제출 | POST /ai/v4/feedback/review/{reviewId}/submit |
| 피드백 없이 승인 | POST /ai/v4/feedback/review/{reviewId}/approve |
| 거절건 응답 (수용/수정) | POST /ai/v4/feedback/review/{reviewId}/respond |
| 상태 조회 | GET /ai/v4/feedback/review/{reviewId} |
| 히스토리 조회 | GET /ai/v4/feedback/review/{reviewId}/history |
관리자측 API (/ai/admin/feedback-approvals)
| API | 설명 |
|---|---|
| 검토 대기 목록 | GET /ai/admin/feedback-approvals |
| 건별 승인/거절 | POST /ai/admin/feedback-approvals/{reviewId}/decide |
| 캠페인 게이트 on/off | POST /ai/admin/feedback-approvals/campaign/{collabNo} |
| 라운드 상세 | GET /ai/admin/feedback-approvals/{reviewId} |
| 라운드 히스토리 | GET /ai/admin/feedback-approvals/{reviewId}/history |