내 요금 플랜 조회
GET/crm-core/v1/plans/me
현재 계정의 구독 플랜, 상태, 사용량, 한도, 다음 갱신일, 등록된 결제수단, 트라이얼 정보를 통합 조회한다. AccountPlan 문서가 없으면 자동으로 FREE 플랜이 생성되어 반환된다. 대시보드 요금 위젯·설정 > 요금/사용량 화면에서 사용한다.
Response
| Name | Type | Required | Description |
|---|---|---|---|
| accountPlanId | string | CRM 내부 AccountPlan ID (CRMPL1 prefix) | |
| accountId | string | 계정 ID | |
| planId | string | Cash 서비스의 planId (환경변수 매핑) | |
| tier | string | 현재 티어. FREE / STARTER / PROFESSIONAL / ENTERPRISE | |
| usage | Object | 차원별 현재 사용량 (플랫 키) | |
| limits | Object | 차원별 최종 한도 (overrides 반영) | |
| overrides | Object | 계정 별도 한도 재정의 (ENTERPRISE 협의 등) | |
| userOverageMode | string | 초과 사용 모드. ALLOW (기본) / BLOCK | |
| userOverageCapKRW | number | 월간 초과 요금 상한 (0 = 무제한) | |
| currentMonthOverageKRW | number | 이번 달 누적 초과 요금 (KRW) | |
| subscriptionStatus | string | ACTIVE / IN_TRIAL / DOWNGRADE_SCHEDULED / CANCEL_SCHEDULED / PAYMENT_FAILED_GRACE / INACTIVE | |
| subscriptionStartedAt | date | 현재 구독 사이클 시작일 | |
| subscriptionRenewsAt | date | 다음 결제·갱신 예정일 | |
| scheduledTier | string | 예약된 변경 대상 티어 | |
| scheduledChangeAt | date | 예약 변경 적용 시각 | |
| scheduledAction | string | DOWNGRADE / CANCEL / TRIAL_EXPIRE | |
| paymentMethodId | string | 등록된 결제수단 토큰 (PG 발급) | |
| paymentMethodLast4 | string | 카드 끝 4자리 | |
| paymentMethodBrand | string | 카드 브랜드 (VISA, MASTERCARD 등) | |
| paymentFailedAt | date | PAYMENT_FAILED_GRACE 진입 시각 | |
| lastBillingAmount | number | 최근 결제 금액 (VAT 포함, KRW) | |
| trialTier | string | 진행 중인 체험판 티어 | |
| trialExpiresAt | date | 체험판 만료일 | |
| trialDays | number | 체험판 총 부여 기간(일) | |
| trialOnExpiry | string | 만료 후 동작. REVERT / KEEP | |
| trialPreviousTier | string | 체험 시작 전 원래 티어 |
Structure
코드 예제
const response = await fetch('https://api.solapi.com/crm-core/v1/plans/me', {
method: 'GET',
headers: { 'Authorization': 'Bearer ' + TOKEN }
});
const plan = await response.json();
const remainingRecords = plan.limits['records.max'] - plan.usage['records.max'];
import requests
response = requests.get(
'https://api.solapi.com/crm-core/v1/plans/me',
headers={'Authorization': f'Bearer {TOKEN}'}
)
plan = response.json()
curl -X GET 'https://api.solapi.com/crm-core/v1/plans/me' \
-H 'Authorization: Bearer YOUR_TOKEN'
`limits`는 `overrides`가 반영된 **최종 한도**다. ENTERPRISE 계정이나 영업 협의로 개별 한도가 변경된 경우 `PLAN_LIMITS[tier][dimension]`과 다를 수 있다. 한도 값이 `-1`이면 무제한, `0`이면 비활성이다.
`subscriptionStatus === 'PAYMENT_FAILED_GRACE'`는 갱신 결제 실패 후 7일 유예 기간 상태다. `paymentFailedAt` 기준 7일이 경과하면 자동으로 `INACTIVE`(FREE 전환)으로 내려간다. 이 상태에서는 `POST /plans/me/retry-payment`로 사용자가 직접 재결제를 시도할 수 있다.
응답의 `usage`는 AccountPlan 문서 카운터 기반으로 성능을 위해 실시간 DB 카운트와 약간 다를 수 있다. 정확한 값이 필요하면 `POST /plans/me/sync`로 강제 동기화할 수 있다 (평소에는 자동).