API

과금 스냅샷 상세 조회

작성일 2026.04.23 | 수정일 2026.04.23

GET/crm-core/v1/plans/me/billing-snapshots/:snapshotId
특정 월 과금 스냅샷의 상세 내역을 반환한다. 차원별 초과 요금 명세(overageLineItems), 사용량 스냅샷(usageSnapshot), 크레딧 차감 내역(creditDeductions), 공급가액·부가세 분리 결과가 포함된다. 영수증 상세 페이지·세무 회계용 조회에 사용한다.

Path Params

NameTypeRequiredDescription
snapshotIdstring스냅샷 ID (CRMBS1 prefix)

Response

NameTypeRequiredDescription
billingSnapshotIdstring스냅샷 ID
accountIdstring계정 ID
billingPeriodstring'YYYY-MM'
periodStartdate기간 시작
periodEnddate기간 종료
tierstring당시 티어
planIdstring당시 planId
overridesObject해당 시점의 한도 오버라이드
overagePolicystringBLOCK / METERED
paidSeatCountnumber좌석 수
unitPricePerSeatnumber1인 단가 (VAT 포함)
seatChargenumber좌석 요금
planChargenumber플랜 기본 요금
overageLineItemsArray차원별 초과 명세
overageLineItems[].dimensionstring차원 식별자
overageLineItems[].includednumber플랜 포함량
overageLineItems[].usednumber실제 사용량
overageLineItems[].overagenumber초과량
overageLineItems[].unitPricenumber단가 (KRW)
overageLineItems[].unitLabelstring단위 라벨 (, MB, , GB)
overageLineItems[].chargenumber초과 요금
totalOverageChargenumber초과 요금 합계
creditDeductionsArray크레딧 차감 내역
creditDeductions[].dimensionstring차원
creditDeductions[].creditUsednumber사용된 크레딧
creditDeductions[].chargeReductionnumber요금 감면액
totalCreditSavingsnumber크레딧 차감 합계
usageSnapshotObject차원별 사용량 맵
automationMeteringSnapshotObject자동화 세부 사용량 맵
recordCountnumber당시 레코드 수
subtotalnumber공급가액
taxAmountnumber부가세
totalChargenumber최종 청구 금액
statusstringPENDING_PAYMENT / COMPLETED / FAILED
linkedBillingLogIdstring결제 로그 FK
triggeredBystringMONTHLY_RESET / RENEWAL / EXTERNAL_API
dateCreateddate*생성 시각

Structure

코드 예제

const id = 'CRMBS1260410000000123SNP11122233';
const response = await fetch(
  https://api.solapi.com/crm-core/v1/plans/me/billing-snapshots/${id},
  { headers: { 'Authorization': 'Bearer ' + TOKEN } }
);
const snapshot = await response.json();
snapshot.overageLineItems.forEach(item => {
  console.log(${item.dimension}: ${item.overage}${item.unitLabel} 초과 → ${item.charge}원);
});
import requests

snapshot_id = 'CRMBS1260410000000123SNP11122233'
response = requests.get(
f'https://api.solapi.com/crm-core/v1/plans/me/billing-snapshots/{snapshot_id}',
headers={'Authorization': f'Bearer {TOKEN}'}
)
snapshot = response.json()

curl -X GET 'https://api.solapi.com/crm-core/v1/plans/me/billing-snapshots/CRMBS1260410000000123SNP11122233' \
  -H 'Authorization: Bearer YOUR_TOKEN'

lightbulb

**요금 구성 공식**: `subtotal = seatCharge + totalOverageCharge − totalCreditSavings`, `totalCharge = subtotal + taxAmount`. `unitPricePerSeat` 및 초과 단가는 모두 VAT 포함가로 기록되고, subtotal/taxAmount는 최종 `totalCharge`에서 VAT 역산한 결과다. 영수증 금액 불일치 방지를 위해 이 공식을 준수한다.

lightbulb

스냅샷은 기간 경과 후 불변이다. 이미 COMPLETED로 전환된 스냅샷은 수정되지 않으며, 잘못된 금액이 기록된 경우 관리자가 환불(`admin-refund`)로 대응한다. `FAILED` 스냅샷은 재결제 성공 시 `COMPLETED`로 전환된다.

lightbulb

`automationMeteringSnapshot`은 자동화 도메인 세부 사용량(`nodeExecutions`, `runTimeMs`, `trafficBytes` 등)을 별도 구조로 저장한다. 일반 UI에서는 사용하지 않고, 자동화 과금 분석 관리자 화면에서만 참조한다.