연관된 가이드
사전 준비 작업
현재 V1 API를 통해 사용량 템플릿을 생성할 수 없기 때문에 사용량 가격 플랜은 포탈에서 생성해야 합니다.
레코드와 쿼타
사용량 기록은 고객이 얼마의 유닛을 사용 했는지를 나타내는 ‘레코드’와 고객에게 할당된 최대 사용 유닛을 뜻하는 ‘쿼타’로 이루어져 있습니다. 레코드와 쿼타는 등록 시간과 증감 유닛수를 가지고 있는 시계열(Time series) 자료형입니다. 레코드와 쿼타의 변화량을 사용량 기록 API 를 통해 등록하면 스텝페이에서는 각 값의 시간에 따른 누적 합(accumulated sum)을 관리하며 요금 산정 및 사용량 제한에 사용됩니다. 아래 표는 쿼타-레코드 기록의 예시입니다.| 시간 | 쿼타 | 쿼타 누적 합 | 레코드 | 레코드 누적 합 |
|---|---|---|---|---|
| t0 | +5 | 5 | 0 | 0 |
| t1 | 0 | 5 | +2 | 2 |
| t3 | -2 | 3 | +1 | 3 |
| … | … | … | … | … |
- 레코드 누적 합은 쿼타 누적 합보다 항상 작거나 같아야합니다.
- 모든 쿼타를 다 채웠다면 추가 레코드를 기록하기 위해서는 반드시 쿼타를 증가시켜야 합니다.
- 쿼타는 선불 청구 방식에서는 필수값이지만 후불 청구 방식에서는 연동 시스템에 따라 사용하거나 기록하지 않을 수 있습니다.
- 반대로 후불 청구방식에서 레코드는 필수 요소이지만 쿼타는 선택적으로 사용 가능합니다.
- 쿼타를 지정하지 않은 후불 청구 방식의 경우 쿼타는 무한대로 간주됩니다.
사용량
사용량 기반 과금 플랜과 계정수 기반 과금 플랜은 모두 레코드와 쿼타에 기반해 결제해야 할 금액을 산정한다는 점에서 공통점이 있지만 그 동작 방식에서 몇가지 차이점이 있습니다. 사용량 기반 과금 플랜은 API 호출 횟수, 네트워크 트래픽과 같은 측정할 수 있는 양에 따라 결제 금액을 산정하는 과금 모델입니다. 사용량 기반 과금 플랜에서는 기록한 레코드 혹은 쿼타의 누적 합(cumulative sum)이 곧 사용량 유닛이 됩니다. 사용 유닛 구간에 따른 단위 사용량 당 금액에 기반하여 결제 금액이 산정됩니다. 사용량 과금은 기본적으로 구간을 나누어 특정 구간에 과금 템플릿을 적용하게 됩니다. 이 템플릿을 사용량 테이블이라고도 합니다. 스텝페이에서 지원하는 사용량 템플릿은 크게 두 가지가 있습니다.- 구간별 고정 요금 템플릿
- 구간별 건당 과금 템플릿
사용량 과금 템플릿
구간별 고정 요금 템플릿
구간별 고정 요금 템플릿이란, 사용 유닛에 대해 정해진 구간 별로 고정 금액을 청구하는 방식입니다. 이 요금제는 정해진 사용 유닛 구간에 해당하는 고정 요금을 지불하게 됩니다. 특정 구간을 넘어서면 다음 구간의 요금과 합산되어 누적된 금액이 결제됩니다.
예를 들어, API 호출 구간에 대해 고정 사용량 요금제를 아래와 같이 만들 수 있습니다.
1,000유닛을 사용한 경우, 0원이 결제됩니다.1,500유닛을 사용한 경우, 20,000원이 결제됩니다.12,000유닛을 사용한 경우, 40,000원이 결제됩니다.150,000유닛을 사용한 경우, 80,000원이 결제됩니다.
구간별 건당 과금 템플릿
구간별 건당 과금 템플릿이란, 사용 유닛의 구간에 대해 건당 금액을 청구하는 방식입니다. 이 요금제는 정해진 구간에 대해 건당 요금을 부과하게 됩니다. 전체 사용 건수가 특정 구간을 넘어서면 다음 구간의 요금으로 건당 요금이 부과됩니다.
예를 들어, API 사용량을 건당 사용량 요금제로 만들면 아래와 같이 만들 수 있습니다.
1,000유닛을 사용한 경우, 총 0원이 결제됩니다.1,500유닛을 사용한 경우, (0원 _ 1,000건) + (10원 _ 500건)을 합산하여 총 5,000원이 결제 됩니다.12,000유닛을 사용한 경우, (0원 _ 1,000건) + (10원 _ 9,000건) + (5원 * 2,000건)을 합산하여 총 100,000원이 결제됩니다.150,000유닛을 사용한 경우, (0원 _ 1,000건 + 10원 _ 9,000건 + 5원 _ 40,000건 + 2원 _ 50,000건 + 1원 * 50,000건)을 합산하여 총 440,000원이 결제됩니다.
사용량/계정수 API
| 기능 | Method | Endpoint |
|---|---|---|
| 사용량/계정 기록 | POST | /v1/usages |
| 사용량 정산 | GET | /v1/subscriptions//calculate |