MVNO TMS API 개요
MVNO TMS(Ticket Management System)는 MVNO 사업자를 위한 고객 상담 티켓 관리 시스템 API입니다. 멀티테넌트 아키텍처를 기반으로 CS 티켓, 고객, 회원 관리 및 대시보드 기능을 제공합니다.
Base URL
http://localhost:8000
인증 방식
모든 API 요청에는 JWT Bearer 토큰이 필요합니다. /api/auth/login 엔드포인트를 통해 토큰을 발급받으세요. Webhook 엔드포인트는 JWT 대신 API Key 인증을 사용합니다.
Authorization: Bearer <access_token> // Webhook 엔드포인트 X-API-Key: <api_key> X-Tenant-ID: <tenant_id>
공통 에러 응답 형식
모든 에러 응답은 아래의 통일된 형식을 따릅니다.
{
"error": {
"code": "UNAUTHORIZED",
"message": "인증이 필요합니다",
"details": null
}
}
에러 코드 목록
| HTTP 상태 | 에러 코드 | 설명 |
|---|---|---|
| 400 | INVALID_STATUS_TRANSITION | 허용되지 않는 상태 변경 |
| 400 | INVALID_REQUEST | 요청 데이터 검증 실패 |
| 401 | UNAUTHORIZED | 인증 실패 |
| 403 | FORBIDDEN | 권한 없음 |
| 403 | TENANT_INACTIVE | 비활성 테넌트 |
| 404 | NOT_FOUND | 리소스 없음 |
| 409 | SEAT_LIMIT_EXCEEDED | 최대 좌석 수 초과 |
| 409 | DUPLICATE_ENTRY | 중복 데이터 |
| 429 | RATE_LIMIT_EXCEEDED | 요청 속도 제한 초과 |
속도 제한 (Rate Limiting)
API 요청은 속도 제한이 적용됩니다. 제한을 초과하면 429 RATE_LIMIT_EXCEEDED 에러가 반환됩니다. 응답 헤더에서 현재 상태를 확인할 수 있습니다.
X-RateLimit-Limit: 100 X-RateLimit-Remaining: 95 X-RateLimit-Reset: 1710000000
CS 티켓 상태 플로우
INVALID_STATUS_TRANSITION 에러가 반환됩니다.
페이지네이션
목록 조회 API는 커서 기반 페이지네이션을 사용합니다. 응답에 포함된 next_cursor 값을 다음 요청의 쿼리 파라미터로 전달하세요.
{
"items": [...],
"next_cursor": "eyJpZCI6IDEwMH0",
"total": 254
}