Admin API플래그 관리
캠페인 전용 비고
특정 캠페인에서만 표시되는 비고를 조회·추가·삭제합니다.
캠페인 전용 비고
그 캠페인에서만 의미가 있는 참고사항을 다룹니다. 촬영 일정, 진행 방식 희망처럼 이번 건에만 해당하는 메모입니다. 크리에이터를 따라다녀야 하는 비고는 전 캠페인 공통 비고를 쓰세요.
목록 조회
GET /ai/admin/campaign-flags/{collabNo}/{influenceNo}
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
collabNo | Integer | 예 | 캠페인 번호 |
influenceNo | Integer | 예 | 인플루언서 번호 |
응답 (200 OK)
{
"status": 200,
"code": null,
"message": "캠페인 비고 조회 성공",
"data": [
{
"id": 2104,
"text": "7월 18일 또는 7월 20일 이후 업로드 가능",
"category": "NEUTRAL",
"isPreset": false,
"presetCode": null,
"count": 1,
"scope": "CAMPAIGN",
"collabNo": 1571,
"source": "ADMIN",
"editable": true
}
]
}전역 비고와 다른 캠페인의 비고는 포함되지 않습니다.
추가
POST /ai/admin/campaign-flags/{collabNo}/{influenceNo}
Authorization: Bearer {access_token}
Content-Type: application/jsonRequest Body 는 전 캠페인 공통 비고와 같습니다.
저장되는 행에 collab_no = {collabNo} 가 붙는 점만 다릅니다.
{
"text": "나레이션 없이 진행 희망"
}이미 같은 캠페인에 같은 비고가 있으면 새로 만들지 않고 기존 것을 돌려줍니다(멱등). 같은 문구가 전역에 있어도 캠페인 행은 따로 만들어집니다 — 범위가 다르면 다른 비고입니다.
블랙리스트(presetCode: "BLACKLIST")는 이 API 로 붙일 수 없습니다.
노출 차단이라는 실제 효력이 있어 전용 API를 거쳐야 이력이 남습니다.
삭제
DELETE /ai/admin/campaign-flags/{collabNo}/{flagId}
Authorization: Bearer {access_token}Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
collabNo | Integer | 예 | 캠페인 번호. 비고가 이 캠페인 소속인지 검증합니다. |
flagId | Long | 예 | 비고 ID |
거부되는 경우
| 사유 | 메시지 |
|---|---|
| 전역 비고를 지우려 할 때 | 비고의 적용 범위가 다릅니다. 요청=CAMPAIGN, 실제=GLOBAL |
| 다른 캠페인의 비고 | 다른 캠페인의 비고입니다. 요청=1585, 실제=1540 |
| 자동 라벨 / 블랙리스트 | 전역 비고와 동일 |
collabNo 를 경로에 받는 이유는 검증 때문입니다. 비고 ID 만으로 지우면 화면에서 보고 있던
캠페인과 실제로 지워지는 대상이 어긋날 수 있습니다.
리스트 관리 벌크 저장과의 관계
리스트 관리 화면의 PATCH /ai/admin/dashboard/{campaignNo}/list 에 실리는 flags[] 도
캠페인 전용 비고를 다룹니다. 다만 동작이 다릅니다.
벌크 저장 (flags[]) | 이 API | |
|---|---|---|
| 단위 | 그 행의 비고 목록 전체를 제출 → 빠진 것은 삭제 | 단건 추가 / 단건 삭제 |
| 삭제 범위 | 해당 캠페인 소속 행만 | 해당 캠페인 소속 행만 |
| 전역 비고 | 건드리지 않음. 남은 건수를 응답 message 로 알림 | 대상 아님 (거부) |
벌크 저장은 예전에 태그 문구가 같으면 전역 행과 다른 캠페인 행까지 함께 지웠습니다. 이 화면에서 보이지도 않는 다른 캠페인의 메모가 조용히 사라지는 문제가 있어 캠페인 범위로 좁혔습니다.
에러 응답
| 상태 코드 | 설명 |
|---|---|
400 | 입력 오류 · 범위 불일치 (INVALID_ARGUMENT) |
401 | 인증 실패 |
403 | ADMIN 권한 필요 |