Admin APIMeta Marketing Insights
POST /ai/business/meta/mapping/bulk-pairs
(Collab, Meta 캠페인) 자유 쌍 일괄 매핑 (관리자 전용)
Collab-Meta 캠페인 쌍 일괄 매핑 (계정-캠페인 화면)
여러 (Collab, Meta 캠페인) 쌍을 한 번에 매핑합니다 — 어드민이 광고주(Business) 화면에서 여러 Collab × 여러 Meta 캠페인을 표 형태로 짝지을 때 사용.
POST /mapping/bulk 는 하나의 Collab 에 여러 Meta 캠페인을 매핑하는 반면, 이 엔드포인트는 임의의 Collab × Meta 쌍 목록 을 받습니다. 한 Business 에 속한 여러 Collab 에 각기 다른 Meta 캠페인을 연결하는 일괄 작업에 적합.
관리자(ADMIN) 전용 엔드포인트입니다.
HTTP 요청
POST /ai/business/meta/mapping/bulk-pairs
Authorization: Bearer {admin_access_token}
Content-Type: application/jsonRequest Body
{
"items": [
{ "collabNo": 123, "metaCampaignId": "120243507818540347" },
{ "collabNo": 123, "metaCampaignId": "120243512345678901" },
{ "collabNo": 456, "metaCampaignId": "120243519998765432" }
]
}| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
items | Object[] | 예 | (collabNo, metaCampaignId) 쌍 목록 (1~100건, 입력 내 중복 쌍 금지) |
items[].collabNo | Integer | 예 | Glowb Collab 번호 |
items[].metaCampaignId | String | 예 | Meta 캠페인 ID |
응답
성공 응답 (201 Created)
{
"status": 201,
"code": null,
"message": "벌크 쌍 매핑 처리 완료",
"data": {
"processed": 3,
"inserted": 2,
"alreadyExisted": 1,
"failedItems": []
}
}에러 응답 (400 Bad Request)
| 사유 | 설명 |
|---|---|
입력에 중복된 (collabNo, metaCampaignId) 쌍이 있습니다 | 같은 쌍이 두 번 등장 |
한 번에 매핑 가능한 쌍은 100건 이하입니다 | 100 초과 |
Collab을 찾을 수 없습니다 | 입력의 collab 중 하나라도 누락 |
| 상태 코드 | 설명 |
|---|---|
400 | 검증 실패 (전체 롤백) |
403 | ADMIN 권한 없음 |
처리 흐름
- 입력 검증 — null, 중복 쌍, 사이즈 상한.
- 입력의 distinct
collabNo일괄 조회 (collabRepository.findAllById) — 1회. - 해당 Collab 들의 기존 매핑 일괄 조회 (
findAllByCollab_NoIn) — IN 쿼리 1회. - 입력의 distinct
metaCampaignId캠페인명 batch lookup — IN 쿼리 1회. - 신규 쌍만 INSERT, 기존 쌍은
alreadyExisted카운트.