dimension_properties이고, 단가의 dimension_values가 그 키마다 값을 정합니다.
조합은 어떻게 나뉘나
MeterEngine은 한 달 동안 한 고객의 이벤트를 미터의 차원 키 값이 같은 것끼리 묶어 따로 집계합니다. 이 묶음을 조합이라고 부릅니다. 금액은 조합마다 그 조합의 단가로 계산합니다.dimension_properties가 ["model"]인 토큰 미터에 한 고객이 이번 달 아래 이벤트를 보냈다고 합시다.
이 고객의 사용량은
lumen-fast 1200, lumen-pro 300, 그리고 model 키가 없는 이벤트의 {"model": null} 100으로 나뉩니다.
- 차원 키가 둘 이상이면 키마다의 값이 모두 같아야 같은 조합입니다. 조합 수는 키마다 나오는 값 수의 곱만큼 늘어납니다. 모델 3개와 지역 4개를 쓰면 단가가 12개 필요합니다.
- 차원 키가 없는 미터는 조합이
{}하나뿐입니다.
단가가 적용되는 규칙
1
키 집합이 미터와 정확히 같아야 한다
단가의
dimension_values 키 집합은 미터의 dimension_properties와 정확히 같아야 합니다. 키가 빠지거나 남으면 400 invalid_price_rate로 거절됩니다. 차원 키가 없는 미터는 {}로 등록합니다.2
값이 정확히 같은 단가만 쓴다
이벤트에서 나온 조합과 값이 정확히 같은 단가만 적용합니다. 다른 조합의 단가로 대신 계산하지 않으며, 차원 키가 있는 미터에는 “나머지 모든 값” 단가를 둘 수 없습니다. 맞는 단가가 없는 조합의 사용량은 청구되지 않습니다.
3
고객 단가가 있으면 그것을 먼저 쓴다
같은 조합에 그 고객 전용 단가가 있으면 그것을, 없으면 공통 단가를 씁니다. 고객 단가는 단가 모델과 버전에서 다룹니다.
값이 같은지 판단하는 방법
차원별 단가 등록하기
미터의dimension_properties가 ["model"]일 때 모델마다 단가를 하나씩 등록합니다. 필요 권한은 admin입니다(화면과 API, 권한).
- 콘솔
- API
- 왼쪽 메뉴 ‘요금 설계’ 화면을 엽니다.
- ‘무엇을 과금하나요’ 목록에서 미터를 고릅니다.
- ‘단가 버전 등록’을 누릅니다.
- 차원 키마다 ‘
model값’에 값을 넣고 ‘model값 종류’에서 ‘문자열’, ‘숫자’, ‘불리언 (true/false)’ 가운데 이벤트와 같은 타입을 고릅니다. - 계산 방식과 단가를 넣고 ‘이 단가 버전 저장’을 누릅니다.
- 다른 모델도 같은 방법으로 하나씩 등록합니다.
단가가 빠진 조합 찾기
단가가 없는 조합의 사용량은 보내는 순간에는 오류가 나지 않습니다. 아래에서 찾습니다.
청구 예정액 조회에 필요한 권한은 read입니다.
curl
lumen-fast에만 단가 2원이 있을 때 위 고객의 응답은 아래와 같습니다. lumen-pro와 {"model": null} 조합은 라인에 없고 unpriced_usages에만 나옵니다.
200 응답
unit_size가 1입니다. 응답 필드 전체는 API 참조의 GET /v1/invoices/draft를 보세요.
차원을 정할 때 주의할 것
- 차원 키는 이벤트를 받기 전에 정합니다. 이벤트가 들어온 미터는 이름만 바꿀 수 있어 나중에 차원 키를 더하거나 뺄 수 없습니다(미터 설계).
- 단가를 가를 필요가 없는 속성은 차원 키로 두지 않습니다. 사용자 ID처럼 값이 많은 속성을 차원 키로 두면 값마다 단가가 필요하고, 단가가 없는 값은 모두 청구에서 빠집니다.
- 단가가 같은 값끼리 묶고 싶다면 연동 코드에서 묶은 값(예:
"tier": "standard")을 따로 속성으로 보내고 그 속성을 차원 키로 씁니다.
다음 단계
단가 모델과 버전
단일 단가, 구간 단가, 월 버전과 고객 단가
이벤트가 청구에 안 보일 때
증상별로 원인을 좁히는 방법