SaaS API광고주 캠페인 초안
PATCH /ai/business/collab/{campaignNo}/manager
캠페인 담당자 변경 (광고주 직접)
캠페인 담당자 변경 (광고주 직접)
로그인한 기업 사용자가 본인 소유의 캠페인에 대해 담당자를 변경합니다(N:M, 동등).
managers[] 로 캠페인 담당자를 전체 교체합니다. 각 항목은 managerNo 가 있으면 기존 담당자 재사용(정보 갱신 가능), 없으면 name/phone/email 로 신규 생성합니다.
본인 소유가 아닌 managerNo 가 포함되면 403 입니다. 응답은 변경 후 담당자 전체 목록을 반환합니다.
캠페인에 연결된 담당자는 모두 동등합니다(대표 개념 없음).
{
"managers": [
{ "managerNo": 42 },
{ "name": "김담당", "phone": "01011112222", "email": "kim@example.com" }
]
}| 항목 | 값 |
|---|---|
| 메서드 | PATCH |
| 경로 | /ai/business/collab/{campaignNo}/manager |
| 인증 | 필요 (ROLE_BUSINESS) |
| Content-Type | application/json |
요청
PATCH /ai/business/collab/2309/manager HTTP/1.1
Host: api.glowb.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"managers": [
{ "managerNo": 42 },
{ "name": "김담당", "phone": "01011112222", "email": "kim@example.com" }
]
}curl -X PATCH "https://api.glowb.com/ai/business/collab/2309/manager" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"managers": [
{ "managerNo": 42 },
{ "name": "김담당", "phone": "01011112222", "email": "kim@example.com" }
]
}'const response = await fetch(`/ai/business/collab/${campaignNo}/manager`, {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
managers: [
{ managerNo: 42 }, // 기존 담당자 재사용
{ name: '김담당', phone: '01011112222', email: 'kim@example.com' }, // 신규 생성
],
}),
});
const { data: managers } = await response.json();Path Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
campaignNo | long | 담당자를 변경할 캠페인 번호 |
Request Body
Prop
Type
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "담당자가 변경되었습니다.",
"data": [
{ "managerNo": 42, "name": "홍길동", "phone": "01000000000", "email": "manager@example.com", "isDefault": true },
{ "managerNo": 43, "name": "김담당", "phone": "01011112222", "email": "kim@example.com", "isDefault": false }
]
}Response Body
data 는 변경 후 캠페인 담당자 전체 목록(배열). 각 항목:
Prop
Type
에러 응답
| 상태 코드 | 설명 |
|---|---|
401 | 인증 실패 |
403 | 본인 소유 캠페인이 아닌 경우, 또는 타 기업 담당자 managerNo 제공 시 |
404 | 기업 정보 또는 캠페인을 찾을 수 없음 |