초과 사용 현황 조회
GET/crm-core/v1/plans/me/overage
METERED 정책이 적용된 차원들의 이번 달 초과 사용 현황을 반환한다. 차원별 포함량, 사용량, 초과량, 종량 단가, 초과 요금(KRW), 사용자 설정(userOverageMode, userOverageCapKRW)이 포함된다. 요금/사용량 설정 페이지의 "초과 사용 현황" 섹션 및 결제 예상 금액 계산에 사용한다.
Response
| Name | Type | Required | Description |
|---|---|---|---|
| userOverageMode | string | 현재 모드. ALLOW (기본, 초과 허용) / BLOCK (차단) | |
| userOverageCapKRW | number | 월간 초과 요금 상한 (0 = 무제한) | |
| currentMonthOverageKRW | number | 이번 달 누적 초과 요금 | |
| totalOverageChargeKRW | number | 전체 차원의 예상 초과 요금 합계 | |
| dimensions | Array | METERED 차원별 상세 | |
| dimensions[].dimension | string | 차원 식별자 | |
| dimensions[].limit | number | 플랜 포함량 (-1 = 무제한) | |
| dimensions[].usage | number | 현재 사용량 | |
| dimensions[].overage | number | 초과량 (= max(0, usage − limit)) | |
| dimensions[].chargeKRW | number | 초과 요금 (KRW) | |
| dimensions[].unitPrice | number | 1단위당 KRW | |
| dimensions[].unitLabel | string | 단위 라벨 (건 / MB / 분 / GB) |
Structure
코드 예제
const response = await fetch('https://api.solapi.com/crm-core/v1/plans/me/overage', {
method: 'GET',
headers: { 'Authorization': 'Bearer ' + TOKEN }
});
const { totalOverageChargeKRW, dimensions } = await response.json();
dimensions
.filter(d => d.overage > 0)
.forEach(d => console.log(${d.dimension}: ${d.chargeKRW}원));
import requests
response = requests.get(
'https://api.solapi.com/crm-core/v1/plans/me/overage',
headers={'Authorization': f'Bearer {TOKEN}'}
)
data = response.json()
curl -X GET 'https://api.solapi.com/crm-core/v1/plans/me/overage' \
-H 'Authorization: Bearer YOUR_TOKEN'
`currentMonthOverageKRW`는 AccountPlan에 누적된 **실시간** 초과 요금 카운터이고, `totalOverageChargeKRW`는 차원별 `overage × unitPrice`로 즉석 재계산한 값이다. 평상시 두 값은 거의 일치하지만, 요금 단가 조정·크레딧 차감 등이 있을 때 다를 수 있다. 청구 기준은 매월 1일 생성되는 `billing-snapshots`의 `totalOverageCharge`를 따른다.
`userOverageMode === 'BLOCK'`이면 포함량 도달 즉시 `403 PlanQuotaExceeded`가 반환되어 차단된다. `ALLOW` 모드에서 `userOverageCapKRW > 0`이면 이번 달 초과 요금이 상한에 도달한 시점부터 추가 사용이 차단된다. 모드 변경은 `PUT /plans/me/overage-settings`로 수행한다.
무제한 티어(ENTERPRISE) 또는 `limit === -1`인 차원은 `overage: 0`이 항상 반환되며 응답에 여전히 포함된다. 프론트엔드에서는 `overage > 0`인 항목만 경고로 표시하고 나머지는 정상 사용 중으로 렌더링할 것을 권장.