헤드리스 체크아웃 API 문서
REST API를 통해 한국 결제 처리를 애플리케이션에 통합하세요. 결제 처리, 컴플라이언스 및 한국 시장 요구사항은 저희가 처리하는 동안 커스텀 체크아웃 경험을 구축하세요.
📋 사전 요구사항
- 대시보드에서 발급받은 API 키
- 웹훅을 위한 HTTPS 엔드포인트
- REST API에 대한 기본 이해
- 한국 사업자 등록 (실제 결제 시)
기본 URL
운영: https://api.koreacheckout.com
테스트: https://sandbox-api.koreacheckout.com
기본 통합 플로우
1. 체크아웃 세션 생성
주문 정보로 체크아웃 세션을 생성하여 시작하세요:
curl -X POST https://api.koreacheckout.com/api/checkout/create-session \
-H "x-api-key: sk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"platform": "headless",
"platformOrderId": "order_123",
"items": [
{
"name": "Sample Product",
"price": 29000,
"quantity": 1,
"productId": "prod_123"
}
],
"customer": {
"name": "홍길동",
"email": "customer@example.com",
"phone": "+82-10-1234-5678"
},
"totalAmount": 29000,
"currency": "KRW",
"returnUrl": "https://yourstore.com/success",
"cancelUrl": "https://yourstore.com/cancel",
"webhookUrl": "https://yourstore.com/webhooks/checkout"
}'
2. 고객 리다이렉트
반환된 체크아웃 URL을 사용하여 고객을 리다이렉트하세요:
// Response from session creation
{
"success": true,
"sessionId": "cs_1234567890abcdef",
"checkoutUrl": "https://checkout.koreacheckout.com/cs_1234567890abcdef",
"expiresAt": "2024-01-01T12:00:00Z"
}
// Redirect customer to checkout
window.location.href = response.checkoutUrl;
3. 웹훅 이벤트 처리
웹훅을 통해 결제 완료를 수신하세요:
// Your webhook endpoint
app.post('/webhooks/checkout', (req, res) => {
const { event, data } = req.body;
if (event === 'payment.completed') {
// Update order status in your database
updateOrderStatus(data.sessionId, 'paid');
fulfillOrder(data.platformOrderId);
}
res.status(200).send('OK');
});
워드프레스 플러그인 통합
워드프레스 플러그인은 한국 결제 수단, 주소 검색 및 커스터마이징 가능한 체크아웃 경험과 함께 WooCommerce와의 완벽한 통합을 제공합니다. 한국 이커머스 사이트를 구축하는 개발자에게 이상적입니다.
🔧 개발자 기능
- • 주문 동기화와 함께 완전한 WooCommerce 통합
- • 한국 주소 검색 (다음 우편번호 API)
- • 커스터마이징 가능한 체크아웃 폼 및 스타일링
- • 커스터마이징을 위한 WordPress 훅 및 필터
- • 한국 결제 수단 지원 (카드, 가상계좌)
- • 주문 상태 업데이트를 위한 웹훅 처리
설치 및 설정
# 1. Download plugin from your dashboard
# 2. Upload to WordPress via Plugins > Add New > Upload
# 3. Configure in WooCommerce > Korea Checkout
// Required Configuration
API URL: https://api.koreacheckout.com
API Key: sk_live_your_key_here
Order Status Mapping: Automatic
개발자 커스터마이징
// Filter checkout fields
add_filter('korea_checkout_fields', function($fields) {
// Add custom fields or modify existing ones
$fields['custom_field'] = array(
'type' => 'text',
'label' => 'Custom Field',
'required' => false
);
return $fields;
});
// Hook into payment completion
add_action('korea_checkout_payment_complete', function($order_id, $payment_data) {
// Custom logic after successful payment
$order = wc_get_order($order_id);
// Send custom emails, update inventory, etc.
do_action('custom_order_processing', $order, $payment_data);
}, 10, 2);
// Customize checkout appearance
add_filter('korea_checkout_css_vars', function($vars) {
$vars['--primary-color'] = '#your-brand-color';
$vars['--button-radius'] = '8px';
return $vars;
});
💡 워드프레스 모범 사례
- • 라이브 운영 전에 샌드박스 모드에서 테스트하세요
- • 플러그인 파일 수정 대신 워드프레스 훅을 사용하세요
- • 결제 실패에 대한 적절한 오류 처리를 구현하세요
- • API 응답 캐싱을 위해 워드프레스 트랜지언트를 사용하세요
- • 커스터마이징 시 워드프레스 코딩 표준을 따르세요
API 키
API 키는 API에 대한 모든 요청을 인증하는 데 사용됩니다. 보안을 유지하고 클라이언트 측 코드에 노출하지 마세요.
✅ 통합 API 키
- • 모든 결제 수단과 기능을 위한 단일 키
- • 자동 게이트웨이 감지 및 라우팅
- • 내장된 사기 감지 및 분석
- • 모든 이벤트를 위한 통합 웹훅 엔드포인트
⚠️ 보안 모범 사례
- • 프런트엔드 JavaScript에서 API 키를 사용하지 마세요
- • 키가 노출된 경우 즉시 재발급하세요
- • API 요청 시 항상 HTTPS를 사용하세요
🔑 API 키 형식
모든 API 키는 운영환경의 경우 sk_live_, 샌드박스 모드의 경우 sk_test_로 시작합니다
sk_live_1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
인증
API 요청은 API 키를 사용하여 인증됩니다. 모든 요청의 x-api-key 헤더에 API 키를 포함하세요.
curl -X GET https://api.koreacheckout.com/api/checkout/session/cs_123 \
-H "x-api-key: sk_live_your_key_here" \
-H "Content-Type: application/json"
🔐 보안 참고사항
- • API 키를 안전하게 보관하고 클라이언트 사이드 코드에 노출하지 마세요
- • 환경 변수를 사용하여 API 키를 저장하세요
- • 보안 강화를 위해 정기적으로 키를 회전하세요
- • 샌드박스와 운영 환경에는 서로 다른 키를 사용하세요
기본 URL 및 환경
환경에 따라 적절한 기본 URL을 선택하세요. 프로덕션에 배포하기 전에 항상 샌드박스에서 테스트하세요.
🚀 운영
https://api.koreacheckout.com
실제 결제, 라이브 한국 결제 게이트웨이
🧪 샌드박스
https://sandbox-api.koreacheckout.com
테스트 결제, 모의 응답
🔄 요청 제한
- • 운영: API 키당 분당 1000 요청
- • 샌드박스: API 키당 분당 100 요청
- • 모든 응답에 요청 제한 헤더 포함
세션 API
결제 처리를 위한 체크아웃 세션을 생성하고 관리합니다. 세션에는 구매를 완료하는 데 필요한 모든 정보가 포함되어 있습니다.
세션 생성
POST /api/checkout/create-session
curl -X POST https://api.koreacheckout.com/api/checkout/create-session \
-H "x-api-key: sk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"platform": "custom",
"platformOrderId": "order_123",
"items": [
{
"name": "Sample Product",
"price": 29000,
"quantity": 1,
"description": "Product description"
}
],
"customer": {
"name": "홍길동",
"email": "customer@example.com",
"phone": "+82-10-1234-5678"
},
"totalAmount": 29000,
"currency": "KRW",
"returnUrl": "https://yourstore.com/success",
"cancelUrl": "https://yourstore.com/cancel",
"metadata": {
"internal_order_id": "12345"
}
}'
세션 조회
GET /api/checkout/session/{{sessionId}}
curl -X GET https://api.koreacheckout.com/api/checkout/session/cs_1234567890abcdef \
-H "x-api-key: sk_live_your_key_here"
// Response
{{
"success": true,
"data": {{
"sessionId": "cs_1234567890abcdef",
"status": "completed",
"platformOrderId": "order_123",
"totalAmount": 29000,
"currency": "KRW",
"customer": {{
"name": "홍길동",
"email": "customer@example.com"
}},
"createdAt": "2024-01-01T10:00:00Z",
"expiresAt": "2024-01-02T10:00:00Z",
"completedAt": "2024-01-01T10:30:00Z"
}}
}}
세션 관리
복잡한 체크아웃 플로우, 세션 업데이트 및 만료 처리를 위한 고급 세션 관리 기능입니다.
세션 업데이트
PATCH /api/checkout/session/{{sessionId}}
{{
"customer": {{
"name": "김철수",
"email": "updated@example.com"
}},
"metadata": {{
"updated_reason": "customer_info_change"
}}
}}
세션 만료
⏰ 세션 생명주기
- • 세션은 기본적으로 24시간 후 만료됩니다
- • 사용자 정의 만료 시간 설정 가능 (최대 7일)
- • 만료된 세션은 결제에 사용할 수 없습니다
- • 세션 만료 시 웹훅이 전송됩니다
결제 통합
결제 처리는 한국 결제 게이트웨이(토스, KCP, 이니시스)를 통해 안전하게 처리됩니다. PCI 준수를 위해 카드 데이터는 저희 서버를 통과하지 않습니다.
🔒 안전한 결제 플로우
- API를 통해 체크아웃 세션 생성
- 고객을 호스팅된 체크아웃 페이지로 리다이렉트
- 고객이 결제 게이트웨이에 직접 결제 정보 입력
- 결제 게이트웨이가 안전하게 결제 처리
- 웹훅이 서버에 결제 결과 알림
- 세션 API를 통해 결제 상태 확인
결제 상태 확인
// Check if payment completed via session status
GET /api/checkout/session/{{sessionId}}
// Response when payment completed
{{
"success": true,
"data": {{
"sessionId": "cs_1234567890abcdef",
"status": "completed",
"totalAmount": 29000,
"currency": "KRW",
"paymentMethod": "card",
"gateway": "toss",
"gatewayTransactionId": "toss_tx_123456",
"completedAt": "2024-01-01T10:05:00Z"
}}
}}
환불 요청
POST /api/checkout/session/{{sessionId}}/refund
{{
"amount": 10000, // Partial refund (optional, defaults to full)
"reason": "고객 요청 환불",
"notify_customer": true
}}
// Response
{{
"refundId": "ref_1234567890abcdef",
"status": "processing",
"amount": 10000,
"reason": "고객 요청 환불",
"processedAt": "2024-01-01T11:00:00Z"
}}
결제 상태 값
- • pending - 세션 생성됨, 결제 시작 안됨
- • processing - 고객이 결제 진행 중
- • completed - 결제가 성공적으로 처리됨
- • failed - 결제 실패 또는 거절됨
- • cancelled - 고객이 결제 취소함
- • expired - 결제 전 세션 만료됨
- • refunded - 결제가 환불됨 (전액)
- • partially_refunded - 결제가 부분 환불됨
결제 처리
결제 처리, 오류 시나리오 처리 및 애플리케이션에서 안정적인 결제 처리를 보장하기 위한 모범 사례입니다.
✅ 결제 플로우 모범 사례
- • 웹훅과 API 호출을 통해 항상 결제 상태를 확인하세요
- • 결제 요청에 대한 멱등성을 구현하세요
- • 사용자 친화적인 메시지로 결제 실패를 우아하게 처리하세요
- • 환불 및 분쟁 처리를 위해 결제 ID를 저장하세요
- • 장시간 실행되는 결제에 대한 타임아웃 처리를 구현하세요
결제 상태 모니터링
// Monitor payment status after creating session
const monitorPayment = async (sessionId) => {{
try {{
const response = await fetch(`/api/checkout/session/${sessionId}`, {{
headers: {{
'x-api-key': process.env.API_KEY
}}
}});
const session = await response.json();
if (!response.ok) {{
throw new Error(session.error.message);
}}
// Handle different payment statuses
switch (session.status) {{
case 'completed':
handlePaymentSuccess(session);
break;
case 'failed':
handlePaymentFailure(session);
break;
case 'cancelled':
handlePaymentCancellation(session);
break;
case 'expired':
handleSessionExpiry(session);
break;
case 'processing':
// Continue polling
setTimeout(() => monitorPayment(sessionId), 2000);
break;
}}
return session;
}} catch (error) {{
console.error('Payment monitoring error:', error);
throw error;
}}
}};
// Webhook handler for real-time updates
app.post('/webhooks/payment', (req, res) => {{
const event = req.body;
switch (event.event) {{
case 'payment.completed':
handlePaymentSuccess(event.data);
break;
case 'payment.failed':
handlePaymentFailure(event.data);
break;
}}
res.status(200).send('OK');
}});
상점 API
상점 정보, 설정 및 구성을 관리합니다. 상점 API를 사용하면 계정 하에서 여러 상점 프로필을 생성하고 관리할 수 있습니다.
상점 생성
POST /api/shops
{{
"name": "My Korean Store",
"description": "Premium Korean products",
"website": "https://mystore.com",
"business_info": {{
"business_number": "123-45-67890",
"business_name": "My Store Co., Ltd.",
"ceo_name": "김철수",
"address": "Seoul, Gangnam-gu, Teheran-ro 123"
}},
"contact": {{
"email": "contact@mystore.com",
"phone": "+82-2-1234-5678"
}},
"settings": {{
"currency": "KRW",
"timezone": "Asia/Seoul",
"language": "ko"
}}
}}
상점 세부정보 조회
GET /api/shops/{{shopId}}
// Response
{{
"id": "shop_1234567890abcdef",
"name": "My Korean Store",
"status": "active",
"business_info": {{
"business_number": "123-45-67890",
"verified": true
}},
"payment_methods": [
"card",
"virtual_account",
"kakao_pay",
"naver_pay"
],
"created_at": "2024-01-01T00:00:00Z"
}}
상점 설정 업데이트
PATCH /api/shops/{{shopId}}
{{
"settings": {{
"webhook_url": "https://mystore.com/webhooks",
"notification_email": "admin@mystore.com",
"auto_refund_enabled": true,
"payment_timeout": 1800
}}
}}
🏪 멀티 상점 기능
- • 상점별 개별 결제 설정
- • 개별 웹훅 엔드포인트
- • 상점별 분석 및 리포팅
- • 다양한 브랜딩 및 체크아웃 테마
- • 독립적인 거래 내역
커스텀 도메인
커스텀 도메인을 사용하여 브랜딩을 강화하고 체크아웃 경험을 향상시키세요. 고객은 전체 결제 과정에서 귀하의 도메인에 머물며, 신뢰도와 전환율을 높일 수 있습니다.
🌐 커스텀 도메인 혜택
- • 브랜딩 강화 - 전체 체크아웃 과정에서 귀하의 브랜드 유지
- • 신뢰도 향상 - 고객이 신뢰할 수 있는 도메인에서 결제
- • 전환율 증가 - 일관된 사용자 경험으로 이탈률 감소
- • SEO 개선 - 모든 결제 관련 트래픽이 귀하의 도메인으로
설정 방법
1단계: 대시보드에서 도메인 추가
대시보드의 커스텀 도메인 섹션에서 도메인을 추가하고 DNS 설정을 완료하세요:
예시 도메인: checkout.yourstore.com
76.76.19.123
cname.vercel-dns.com
2단계: 도메인 인증
도메인 소유권을 확인하기 위해 TXT 레코드를 추가하세요:
# DNS TXT Record for verification
# Name: _vercel-challenge.checkout
# Value: provided-verification-code-from-dashboard
# Example:
Name: _vercel-challenge.checkout.yourstore.com
Type: TXT
Value: vc-domain-verify-abc123xyz456
3단계: API 통합 확인
도메인이 인증되면 체크아웃 세션이 자동으로 커스텀 도메인을 사용합니다:
// API Response with custom domain
{
"success": true,
"sessionId": "cs_1234567890abcdef",
"checkoutUrl": "https://checkout.yourstore.com/checkout/cs_1234567890abcdef",
"expiresAt": "2024-01-01T12:00:00Z"
}
// WordPress Plugin automatically uses custom domain
// No code changes required!
고급 설정
도메인 상태 확인
GET /api/shops/{shopId}
// Response includes custom domain status
{
"id": "shop_123",
"name": "My Store",
"custom_domain": "checkout.yourstore.com",
"domain_verification_status": "verified", // pending, verified, failed
"domain_configuration_status": "configured", // pending, configured, failed
"created_at": "2024-01-01T00:00:00Z"
}
수동 도메인 설정
PATCH /api/shops/{shopId}/custom-domain
Content-Type: application/json
x-api-key: sk_live_your_key_here
{
"domain": "checkout.yourstore.com"
}
// Response
{
"success": true,
"domain": "checkout.yourstore.com",
"verification_records": [
{
"type": "TXT",
"name": "_vercel-challenge.checkout",
"value": "vc-domain-verify-abc123xyz456"
}
]
}
⚠️ 중요 사항
- • 도메인 인증 완료까지 최대 24시간 소요될 수 있습니다
- • SSL 인증서는 자동으로 발급되고 갱신됩니다
- • 도메인이 인증되기 전까지는 기본 도메인이 사용됩니다
- • 서브도메인만 지원됩니다 (예: checkout.yourstore.com)
✅ 성공 사례
커스텀 도메인 설정 후 고객은 checkout.yourstore.com에서 결제를 완료하고, 성공/실패 페이지도 동일한 도메인에서 표시됩니다. WordPress 플러그인 사용자는 코드 수정 없이 자동으로 커스텀 도메인이 적용됩니다.
한국 주소 통합
한국 주소 입력은 프런트엔드에서 다음 우편번호 API를 통해 직접 처리됩니다. 호스팅된 체크아웃 페이지에는 이 통합이 자동으로 포함됩니다.
🏠 주소 통합 옵션
- • 호스팅된 체크아웃 - 주소 검색 자동 포함
- • 커스텀 통합 - 다음 우편번호 API 직접 사용
- • 워드프레스 플러그인 - 내장된 주소 검색 위젯
다음 우편번호 API 직접 통합
<!-- Include Daum Postcode API -->
<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
// JavaScript integration
function openAddressSearch() {
new daum.Postcode({
oncomplete: function(data) {
// data.address - 주소
// data.zonecode - 우편번호
// data.roadAddress - 도로명주소
// data.jibunAddress - 지번주소
document.getElementById('address').value = data.address;
document.getElementById('postalCode').value = data.zonecode;
// Send to your backend if needed
updateCheckoutAddress({
address: data.address,
postalCode: data.zonecode,
roadAddress: data.roadAddress
});
}
}).open();
}
// Update checkout session with address
const updateCheckoutAddress = async (addressData) => {
await fetch(`/api/checkout/session/${sessionId}/address`, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(addressData)
});
};
React 컴포넌트 예제
import React, { useEffect } from 'react';
const KoreanAddressInput = ({ onAddressSelect }) => {
useEffect(() => {
// Load Daum Postcode script
const script = document.createElement('script');
script.src = '//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js';
document.head.appendChild(script);
}, []);
const handleAddressSearch = () => {
new window.daum.Postcode({
oncomplete: function(data) {
onAddressSelect({
address: data.address,
postalCode: data.zonecode,
roadAddress: data.roadAddress
});
}
}).open();
};
return (
<div>
<input
type="text"
placeholder="주소를 검색하세요"
readOnly
onClick={handleAddressSearch}
/>
<button onClick={handleAddressSearch}>
주소 검색
</button>
</div>
);
};
📍 한국 주소 모범 사례
- • 정확한 한국 주소를 위해 항상 다음 우편번호 API를 사용하세요
- • 지번주소보다 도로명주소를 선호하세요
- • 건물/아파트 정보를 위한 상세주소 필드를 포함하세요
- • 우편번호가 5자리인지 검증하세요
- • 필요한 경우 한국어와 영어 주소 버전을 모두 저장하세요
쿠폰 시스템 API
할인 쿠폰을 프로그래밍 방식으로 관리합니다. 체크아웃 플로우에서 쿠폰 생성, 검증 및 사용량을 추적합니다.
🎫 지원되는 쿠폰 유형
- • percentage - 퍼센트 할인 (예: 10% 할인)
- • fixed_amount - 고정금액 할인 (예: ₩5,000 할인)
- • free_shipping - 무료배송 쿠폰
- • product_specific - 특정 상품 할인
쿠폰 생성
POST /api/coupons/create
curl -X POST https://api.koreacheckout.com/api/coupons/create \
-H "x-api-key: sk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"code": "WELCOME10",
"name_ko": "신규 고객 할인",
"name_en": "New Customer Discount",
"type": "percentage",
"discount_value": 10,
"valid_from": "2024-01-01T00:00:00Z",
"valid_until": "2024-12-31T23:59:59Z",
"usage_limit": 1000,
"usage_limit_per_customer": 1,
"minimum_order_amount": 50000,
"applies_to": "cart_total"
}'
세션에 쿠폰 적용
POST /api/coupons/apply
{
"sessionId": "cs_1234567890abcdef",
"couponCode": "WELCOME10"
}
// Response
{
"success": true,
"discount": {
"type": "percentage",
"value": 10,
"amount": 2900
},
"newTotal": 26100
}
통합 예제 (Node.js)
// Create a welcome coupon for new customers
const welcomeCoupon = await fetch('https://api.koreacheckout.com/api/coupons/create', {
method: 'POST',
headers: {
'x-api-key': process.env.KOREA_CHECKOUT_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
code: 'WELCOME15',
name_ko: '신규 가입 할인',
type: 'percentage',
discount_value: 15,
valid_from: new Date().toISOString(),
valid_until: new Date(Date.now() + 30*24*60*60*1000).toISOString(), // 30 days
usage_limit_per_customer: 1,
minimum_order_amount: 30000
})
});
// Apply coupon during checkout
const applyCoupon = async (sessionId, couponCode) => {
const response = await fetch('https://api.koreacheckout.com/api/coupons/apply', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
sessionId,
couponCode
})
});
return response.json();
};
💡 쿠폰 모범 사례
- • 남용을 방지하기 위해 합리적인 사용 제한을 설정하세요
- • 고액 할인에는 최소 주문 금액을 사용하세요
- • 먼저 샌드박스 모드에서 쿠폰 검증을 테스트하세요
- • 분석 API를 통해 쿠폰 성과를 추적하세요
- • 프로모션 캠페인에 명확한 만료일을 설정하세요
웹훅
결제 이벤트에 대한 실시간 알림을 받습니다. 웹훅은 이벤트가 발생할 때 서버로 전송되는 HTTP POST 요청입니다.
📡 이벤트 유형
- • payment.completed - 결제가 성공적으로 처리됨
- • payment.failed - 결제 실패 또는 거절됨
- • payment.refunded - 결제가 환불됨
- • session.expired - 체크아웃 세션 만료됨
웹훅 페이로드
{
"event": "payment.completed",
"data": {
"sessionId": "cs_1234567890abcdef",
"platformOrderId": "order_123",
"totalAmount": 29000,
"currency": "KRW",
"paymentMethod": "card",
"customer": {
"name": "홍길동",
"email": "customer@example.com"
},
"completedAt": "2024-01-01T12:00:00Z"
}
}
웹훅 처리
app.post('/webhooks/checkout', express.raw({type: 'application/json'}), (req, res) => {
const payload = req.body;
const signature = req.headers['x-korea-checkout-signature'];
// Verify webhook signature (recommended)
if (!verifySignature(payload, signature)) {
return res.status(400).send('Invalid signature');
}
const event = JSON.parse(payload);
switch (event.event) {
case 'payment.completed':
handlePaymentCompleted(event.data);
break;
case 'payment.failed':
handlePaymentFailed(event.data);
break;
default:
console.log('Unknown event type:', event.event);
}
res.status(200).send('OK');
});
한국 결제 수단
신용카드, 계좌이체, 모바일 결제를 포함한 모든 주요 한국 결제 수단을 지원합니다.
💳 신용카드
- • Visa, MasterCard, JCB
- • 한국 국내카드 (BC, 삼성, 현대)
- • 할부 결제
- • 법인카드 지원
🏦 계좌이체
- • 가상계좌
- • 실시간 계좌이체
- • 모든 주요 한국 은행
- • 자동 정산
📱 모바일 결제
KakaoPay, NaverPay, Samsung Pay 및 기타 인기 있는 한국 모바일 결제 솔루션이 통합 API를 통해 지원됩니다.
오류 처리
API는 요청의 성공 또는 실패를 나타내기 위해 기존 HTTP 응답 코드를 사용합니다. 오류 응답에는 문제를 디버깅하는 데 도움이 되는 자세한 정보가 포함됩니다.
🚨 일반적인 오류 코드
- • 400 - 잘못된 요청 (유효하지 않은 매개변수)
- • 401 - 인증되지 않음 (유효하지 않은 API 키)
- • 404 - 찾을 수 없음 (세션 또는 리소스를 찾을 수 없음)
- • 429 - 요청 제한 (너무 많은 요청)
- • 500 - 내부 서버 오류
오류 응답 형식
{
"error": {
"code": "invalid_session",
"message": "The specified session ID is invalid or has expired",
"details": {
"sessionId": "cs_invalid123",
"field": "sessionId"
}
}
}