SaaS APIAgency API
POST /agency/me/clients
에이전시 하위 기업 추가/삭제
하위 기업 추가/삭제
에이전시 운영자가 하위 기업 계정을 생성합니다. id는 하위 기업의 로그인 아이디이며, email과 별도로 전달해야 합니다.
기존처럼 email 값을 로그인 아이디로 사용하지 않습니다. 프론트는 id 입력값을 별도로 받아 요청 바디에 포함해야 합니다.
| 항목 | 값 |
|---|---|
| 메서드 | POST |
| 경로 | /agency/me/clients 또는 /ai/agency/me/clients |
| 인증 | 필요 |
| 권한 | ROLE_AGENCY |
요청
POST /agency/me/clients HTTP/1.1
Host: api.glowb.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"id": "client_brand_001",
"name": "고객사A",
"email": "client@example.com",
"password": "initialPassword123!"
}curl -X POST "https://api.glowb.com/agency/me/clients" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"id": "client_brand_001",
"name": "고객사A",
"email": "client@example.com",
"password": "initialPassword123!"
}'const response = await fetch('/agency/me/clients', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
id: 'client_brand_001',
name: '고객사A',
email: 'client@example.com',
password: 'initialPassword123!',
}),
});
const client = await response.json();Request Body
Prop
Type
삭제
하위 기업 계정을 실제 삭제합니다. 내부적으로 TB_BUSINESS를 먼저 삭제하고, 연결된 TB_MEMBER도 삭제합니다.
하위 기업에 캠페인, 크레딧 거래, 캠페인 예산 이력이 있으면 삭제할 수 없습니다. 캠페인이 있으면 먼저 다른 하위 기업으로 할당하고, 크레딧/예산 이력이 있으면 삭제 대신 비활성화 상태로 변경해야 합니다.
| 항목 | 값 |
|---|---|
| 메서드 | DELETE |
| 경로 | /agency/me/clients/{id} 또는 /ai/agency/me/clients/{id} |
| 인증 | 필요 |
| 권한 | ROLE_AGENCY |
DELETE /agency/me/clients/client_brand_001 HTTP/1.1
Host: api.glowb.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...삭제 성공 응답 (200 OK)
{
"id": "client_brand_001",
"name": "고객사A",
"email": "client@example.com",
"status": "active"
}응답
성공 응답 (200 OK)
{
"id": "client_brand_001",
"name": "고객사A",
"email": "client@example.com",
"status": "active",
"creditBalance": 0
}Response Body
Prop
Type