API

내 요금 플랜 조회

작성일 2026.04.23 | 수정일 2026.04.29

GET/crm-core/v1/plans/me

현재 로그인 계정의 요금 플랜·사용량·한도·구독 lifecycle 정보를 한 번에 반환합니다. 활성 체험판이 있을 때만 trial* 필드가 포함됩니다.

Response

NameTypeRequiredDescription
accountPlanIdstring*계정 플랜 ID
accountIdstring*계정 ID
planIdstring*Cash 서비스 플랜 ID
tierstring*현재 티어 — FREE | STARTER | PROFESSIONAL | ENTERPRISE
usageobject*차원별 현재 사용량 (key=차원명, value=숫자)
limitsobject*차원별 적용 한도 (overrides 적용 후)
overridesobject*관리자 수동 한도 재정의 값
userOverageModestring*초과 사용 모드 — ALLOW | BLOCK
userOverageCapKRWnumber*월간 초과 사용 한도 (원)
currentMonthOverageKRWnumber*이번 달 누적 초과 요금 (원)
subscriptionStatusstring*구독 상태 — INACTIVE | ACTIVE | TRIAL | PAYMENT_FAILED_GRACE 등
subscriptionStartedAtdate | null구독 시작 시각
subscriptionRenewsAtdate | null다음 갱신 예정 시각
scheduledTierstring | null예약된 티어 (다운그레이드/해지 예약 시)
scheduledChangeAtdate | null예약 변경 적용 시각
scheduledActionstring | null예약 액션 — DOWNGRADE | CANCEL
paymentMethodIdstring | null결제 수단 ID (스냅샷)
paymentMethodLast4string | null카드 끝 4자리
paymentMethodBrandstring | null카드 브랜드
paymentFailedAtdate | null결제 실패 시각 (PAYMENT_FAILED_GRACE 상태일 때)
lastBillingAmountnumber*마지막 결제 금액 (원, VAT 포함)
trialTierstring체험 중인 티어 (활성 트라이얼만 노출)
trialExpiresAtdate체험 만료 시각 (활성 트라이얼만)
trialDaysnumber체험 기간 (일)
trialOnExpirystring체험 만료 후 적용 액션
trialPreviousTierstring체험 시작 직전 티어

Structure

코드 예제

const crypto = require('crypto');

const apiKey = 'NCSXXXXXXXXXXXXX';
const apiSecret = 'YOUR_API_SECRET';
const dateTime = new Date().toISOString();
const salt = crypto.randomBytes(16).toString('hex');
const signature = crypto.createHmac('sha256', apiSecret).update(dateTime + salt).digest('hex');
const authHeader = HMAC-SHA256 apiKey=${apiKey}, date=${dateTime}, salt=${salt}, signature=${signature};

const response = await fetch('https://api.solapi.com/crm-core/v1/plans/me', {
method: 'GET',
headers: { 'Authorization': authHeader, 'Content-Type': 'application/json' }
});
const data = await response.json();

import hmac, hashlib, secrets, requests
from datetime import datetime, timezone

api_key = 'NCSXXXXXXXXXXXXX'
api_secret = 'YOUR_API_SECRET'
date_time = datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
salt = secrets.token_hex(16)
signature = hmac.new(api_secret.encode(), (date_time + salt).encode(), hashlib.sha256).hexdigest()
auth_header = f'HMAC-SHA256 apiKey={api_key}, date={date_time}, salt={salt}, signature={signature}'

response = requests.get('https://api.solapi.com/crm-core/v1/plans/me', headers={
'Authorization': auth_header,
'Content-Type': 'application/json'
})
data = response.json()

API_KEY="NCSXXXXXXXXXXXXX"
API_SECRET="YOUR_API_SECRET"
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
SALT=$(openssl rand -hex 16)
SIGNATURE=$(echo -n "${DATE}${SALT}" | openssl dgst -sha256 -hmac "${API_SECRET}" | awk '{print $NF}')
AUTH="HMAC-SHA256 apiKey=${API_KEY}, date=${DATE}, salt=${SALT}, signature=${SIGNATURE}"

curl -X GET 'https://api.solapi.com/crm-core/v1/plans/me' \
-H "Authorization: ${AUTH}" \
-H "Content-Type: application/json"

lightbulb

체험판이 활성일 때만 `trialTier`/`trialExpiresAt`/`trialDays`/`trialOnExpiry`/`trialPreviousTier`가 응답에 포함됩니다. 만료된 체험은 자동으로 제외됩니다.

lightbulb

**401 응답**: `{ "errorCode": "Unauthorized", "errorMessage": "권한이 없습니다." }`