Admin APIMeta Marketing Insights
POST /ai/business/meta/mapping/bulk
한 Collab 에 여러 Meta 캠페인 일괄 매핑 (관리자 전용)
Collab-Meta 캠페인 일괄 매핑 (캠페인-캠페인 화면)
한 Glowb Collab 에 여러 Meta 캠페인을 동시에 매핑합니다 — 체크박스 다중 선택 UX 용.
Glowb 캠페인 한 개 ↔ Meta 캠페인 N개 매핑(1:N) 을 한 번에 처리합니다. 단일 트랜잭션이라 사전 검증 실패 시 전체 롤백, 진입 후 부분 실패는 발생하지 않습니다.
관리자(ADMIN) 전용 엔드포인트입니다.
HTTP 요청
POST /ai/business/meta/mapping/bulk
Authorization: Bearer {admin_access_token}
Content-Type: application/jsonRequest Body
{
"collabNo": 123,
"metaCampaignIds": [
"120243507818540347",
"120243512345678901",
"120243519998765432"
]
}| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
collabNo | Integer | 예 | Glowb Collab 번호 |
metaCampaignIds | String[] | 예 | 매핑할 Meta 캠페인 ID 목록 (1~100건, 입력 내 중복 금지) |
응답
성공 응답 (201 Created)
{
"status": 201,
"code": null,
"message": "벌크 매핑 처리 완료",
"data": {
"processed": 3,
"inserted": 2,
"alreadyExisted": 1,
"failedItems": []
}
}| 필드 | 타입 | 설명 |
|---|---|---|
processed | int | 입력 총 건수 |
inserted | int | 신규 생성된 매핑 수 |
alreadyExisted | int | 이미 존재해서 스킵된 매핑 수 (캠페인명만 stale 이면 POST /mapping 단건 호출로 갱신) |
failedItems | Object[] | 사전검증 실패 항목 — 트랜잭션 진입 전 차단된 경우만 채워짐 (현 구현에선 검증 실패 시 400 응답이라 항상 빈 배열) |
에러 응답 (400 Bad Request)
| 사유 | 설명 |
|---|---|
metaCampaignIds 에 중복이 있습니다 | 입력 배열에 같은 ID 반복 |
한 번에 매핑 가능한 캠페인 수는 100건 이하입니다 | 입력 100 초과 |
Collab을 찾을 수 없습니다 | 존재하지 않는 collabNo |
| 상태 코드 | 설명 |
|---|---|
400 | 검증 실패 (전체 롤백) |
403 | ADMIN 권한 없음 |
처리 흐름
- 입력 검증 (size, 중복, Collab 존재) — 실패 시 400 + 전체 롤백.
- 기존 매핑 batch 조회 (
findAllByCollab_No) — IN 쿼리 1회. - Meta 캠페인명 batch lookup (snapshot) — IN 쿼리 1회. N+1 없음.
- 신규 쌍만 INSERT, 기존 쌍은
alreadyExisted카운트.