Agency API
Agency API
에이전시 화이트라벨 테넌트, 고객사 로그인, 셀프서비스, 관리자 API
Agency API
에이전시 화이트라벨을 위한 API입니다. 공개 테넌트 설정 조회, 고객사 로그인, 에이전시 운영자 셀프서비스, 고객사 계약 이력, 관리자 에이전시 관리 API를 포함합니다.
고객사 계정은 최소 권한 화이트리스트만 접근 가능합니다. JWT에는 agencyId 클레임이 포함됩니다.
엔드포인트 목록
| 구분 | 메서드 | 경로 | 인증 | 설명 |
|---|---|---|---|---|
| Public | GET | /ai/public/tenant-config | 불필요 | 도메인 기반 테넌트 설정 조회 |
| Auth | POST | /ai/agency/login | 불필요 | 에이전시 고객사 로그인 |
| Self-service | GET | /ai/agency/me | ROLE_AGENCY | 에이전시 내 정보 조회 |
| Self-service | PATCH | /ai/agency/me/branding | ROLE_AGENCY | 브랜딩 정보 수정 |
| Self-service | POST | /ai/agency/branding/logo | ROLE_AGENCY | 로고 파일 업로드 |
| Self-service | GET | /ai/agency/me/clients | ROLE_AGENCY | 고객사 목록 조회 |
| Self-service | POST | /ai/agency/me/clients | ROLE_AGENCY | 고객사 생성 |
| Self-service | PATCH | /ai/agency/me/clients/{id} | ROLE_AGENCY | 고객사 수정 |
| Self-service | POST | /ai/agency/me/clients/{id}/credit | ROLE_AGENCY | 고객사 크레딧 지급 |
| Self-service | GET | /ai/agency/me/clients/{id}/credit | ROLE_AGENCY | 고객사 크레딧 이력 조회 |
| Client | GET | /ai/agency/contract/history | ROLE_AGENCY_CLIENT | 고객사 계약 이력 조회 |
| Admin | GET | /ai/admin/agency | ROLE_ADMIN | 에이전시 목록 조회 |
| Admin | POST | /ai/admin/agency | ROLE_ADMIN | 에이전시 생성 |
| Admin | GET | /ai/admin/agency/{id} | ROLE_ADMIN | 에이전시 상세 조회 |
| Admin | PATCH | /ai/admin/agency/{id} | ROLE_ADMIN | 에이전시 수정 |
| Admin | DELETE | /ai/admin/agency/{id} | ROLE_ADMIN | 에이전시 비활성화 |
| Admin | GET | /ai/admin/agency/{id}/clients | ROLE_ADMIN | 에이전시 고객사 목록 조회 |
응답 형태
일반 에이전시 셀프서비스 API는 bare JSON을 반환합니다. /ai/agency/login, /ai/agency/contract/history는 기존 ApiResponse envelope를 사용합니다.
관리자 에이전시 API는 일부 응답 형태가 혼재합니다.
| API | 응답 형태 |
|---|---|
GET /ai/admin/agency | { "status": "200", "message": null, "data": ... } |
POST /ai/admin/agency | { "status": "200", "message": null, "data": ... } |
GET /ai/admin/agency/{id} | { "status": "200", "message": null, "data": ... } |
PATCH /ai/admin/agency/{id} | { "status": "200", "message": null, "data": ... } |
DELETE /ai/admin/agency/{id} | bare JSON |
GET /ai/admin/agency/{id}/clients | bare JSON |
상태 값
| 값 | 설명 |
|---|---|
active | 활성 |
inactive | 비활성 |