사이드 메뉴
커뮤니케이션
API 제공
어드민 API
API 쿼터 설정
이 문서는 API 플랫폼 연동 시 쿼터 설정 방법에 대해 안내합니다.
API 플랫폼 연동으로 서비스하는 API는 남용 및 스팸 방지 등 목적으로 쿼터를 적용할 수 있습니다. 카카오 API 플랫폼 연동 방식에 따라 요청 처리 이전 단계에서 아래와 같이 쿼터 확인이 이뤄집니다.
| 타입 | 설명 |
|---|---|
| KAPI 액티브 연동 DAPI | 카카오 API 플랫폼이 요청을 받아 처리하기 전 내부적으로 쿼터 확인 |
| KAPI 패시브 연동 | API 제공자가 요청을 받아 처리하기 전 패시브 연동 API를 호출해 카카오 API 플랫폼에 쿼터 확인 요청 |
참고: 쿼터 초과 시 응답 예제
KAPI Active 연동 또는 DAPI의 쿼터 초과 시 API 사용자는 아래와 같은 응답을 받습니다.
// HTTP/1.1 400 Bad Request{"code": -10,"msg": "API limit has been exceeded."}
KAPI 패시브 연동 방식의 경우, API 제공자가 요청 처리 전 패시브 연동 API를 호출했을 때 쿼터 초과 상태라면 아래와 같은 응답을 받습니다. 이 경우, API 제공자가 API 사용자에게 쿼터 초과로 요청이 실패했다고 응답해야 합니다.
// HTTP/1.1 400 Bad Request{"code": -10,"msg": "API limit has been exceeded.","rule_id": 1,"rule_name": "[API Total] 일반 앱에 대해 개발자당 한달 총 사용량","rule_desc": "user, push, payment, SHOPPING, STORE, GIFT, SMB, MOMENT, newtone, translation, pose, QR, internal checkquota, 카카오톡 공유 전달 제외. 개발자 계정 또는 앱으로 제외. 예) 8678(개인화플러그인 개발자)"}
각 쿼터는 크게 아래 세 가지 설정의 조합으로 이뤄져 있습니다.
쿼터는 기간별로 설정할 수 있습니다. 기간 단위는 크게 아래와 같이 세 종류로 구분하며, 서비스의 필요에 따라 특정 기간에 대한 반복 쿼터도 설정 가능합니다.
| 타입 | 설명 |
|---|---|
| 일간 쿼터 | 일간 누적 API 호출 수를 제한하는 쿼터입니다. |
| 월간 쿼터 | 월간 누적 API 호출 수를 제한하는 쿼터입니다. |
| 초당 쿼터 | 초당 API 호출 수를 제한하는 Burst 쿼터입니다.요청이 빈번하게 발생되어 서비스에 부하를 줄 우려가 있을 경우 사용합니다. |
요청 건수 또는 데이터 처리량을 기준으로 쿼터를 설정할 수 있습니다. 카카오톡 공유를 예시로 들면 아래와 같이 제공량이 설정되어 있습니다.
| API | 쿼터 |
|---|---|
| 카카오톡 공유 | 일 30,000건 |
참고: 데이터 처리량 기준 쿼터 사용 안내
데이터 처리량을 기준으로 하는 쿼터는 모든 연동 방식에 지원되며, 각 요청에 대해 쿼터 잔량을 확인하거나 지정량만큼 쿼터를 소모시킬 수 있습니다.
쿼터는 적용 대상에 따라 기본 쿼터, 제휴 쿼터로 나뉩니다.
기본 쿼터는 일반 앱에 적용되는 쿼터입니다. 현재 운영 중인 카카오디벨로퍼스의 기본 쿼터는 쿼터에서 확인할 수 있습니다. 인하우스 앱 또는 제휴 앱에 기본 쿼터 적용이 필요한 경우 [서비스] API플랫폼 아지트으로 별도 요청해야 합니다.
기본 쿼터는 개발자 계정, API 대상으로 적용됩니다. 아래는 기본 쿼터 정보입니다.
| 타입 | 사용량 제한 | 설명 |
|---|---|---|
| 월간 쿼터 | 총 3백만 건 | 카카오디벨로퍼스에서 제공하는 대부분의 오픈 API에 적용되는 월간 쿼터 |
| 일간 쿼터 | API별 설정 가능 | 각 API의 특징이나 서비스의 필요에 따라 3만 건 이상 제공 오픈 API의 경우, 대부분의 서비스에서 충분히 사용할 수 있을만한 쿼터를 제공할 것을 권장 |
| 초당 쿼터 | 50 | 카카오디벨로퍼스에서 제공하는 대부분의 오픈 API에 적용되는 Burst 쿼터 |
기본 쿼터는 개발자 계정이 소유한 앱의 요청을 합산해 적용합니다. 개발자 A가 B, C 총 2개의 앱을 소유한 경우로 예를 들면 아래와 같습니다.
- A가 B앱에서 카카오톡 공유 일간 쿼터 3만 건 모두 소진
- 같은 날 A가 C앱에서 카카오톡 공유 요청 시, 일간 쿼터 초과로 요청 실패
- 단, A가 월간 쿼터 3백만 건을 모두 소진한 상태가 아니라면 카카오톡 공유 외의 API는 사용 가능
개발자 계정별 쿼터 현황은 API 플랫폼 통계 시스템인 Cave의 [App] > [Owner Developer Quota] 메뉴에서 확인 가능합니다. Cave에 대한 자세한 정보는 통계를 참고합니다.
제휴 서비스는 특정 개발자 계정이나 앱, IP 등 특정한 대상을 지정해 제휴 쿼터를 적용할 수 있습니다. 쿼터 변경 신청으로 제휴 쿼터를 설정할 수 있습니다.
이 외 각 API와 관련된 요소(Factor)들을 제휴 쿼터 대상으로 설정할 수 있으므로, 쿼터 변경 신청 시 원하는 조건의 설정 가능 여부를 문의합니다. 예를 들어 카카오톡 메시지 API는 발신자당, 수신자당, 동일 발신자와 수신자당 쿼터를 적용합니다.
카카오 API 플랫폼으로 API 서비스를 제공을 위한 쿼터를 적용하려면 아래 순서로 검토 및 요청합니다.
카카오 API 플랫폼에서 제공하는 오픈 API에 적용되는 기본 쿼터가 있습니다. 기본 쿼터는 카카오 API 플랫폼 연동으로 제공하는 API에 선택적으로 적용 가능합니다. 기본 쿼터 사용 시에도 API별 쿼터 설정을 지원합니다.
카카오 API 플랫폼 연동으로 제공하려는 API 서비스의 제공 목적, 상품 구성, 기타 요구 사항 등을 바탕으로 어떤 쿼터를 적용할지 API플랫폼과 협의합니다. 기본 쿼터가 서비스 요구 사항을 충족하지 않을 경우, 제공하려는 API 서비스의 특성의 맞춰 별도 쿼터를 적용할 수도 있습니다. 설정 가능한 조건의 종류는 쿼터 구성 요소를 참고합니다.
쿼터 협의 후, API플랫폼에 URI 및 쿼터 세부사항을 전달해 쿼터 적용을 요청합니다. API플랫폼에서 알파, 샌드박스 페이즈(Phase)부터 서비스 API에 쿼터를 설정한 후, 쿼터가 정상 동작하는지 테스트 요청합니다. 테스트 완료 후 실제 서비스에 쿼터를 적용합니다.
서비스 오픈 이후 서비스 정책, 제휴 등으로 인해 쿼터 변경 및 조정이 필요할 경우, 쿼터 변경 신청을 참고해 API플랫폼으로 문의합니다.
서비스의 필요에 따른 쿼터 조정이나 제휴사 쿼터 증설이 필요할 경우, [서비스] API플랫폼 아지트에서 요청합니다.
요청 시 전달해야할 정보는 아래와 같습니다.
| 이름 | 설명 |
|---|---|
| 제휴 업무를 담당하는 담당자 및 부서의 LDAP ID 또는 그룹 멘션 (예: @@api) |
| 제휴 배경 및 내역에 대한 정보를 확인할 수 있는 참고 정보 (예: 아지트 또는 데브톡 게시물 URL) |
| 쿼터 증설이 필요한 API의 URL 또는 이름 (예: 책 검색, /v3/search/book) |
| 증설할 쿼터 상세 수치 기본 쿼터는 모두 개발자 계정 단위로 적용되며, 개발자 계정 단위로 앱 또는 기간 단위 쿼터 증설 요청 가능 (예: 2022년 1월 31일까지 일 10만 건) |
- 제휴사에 대한 쿼터 증설 요청 시 추가 전달해야 하는 정보입니다.
| 이름 | 설명 |
|---|---|
| 제휴사 서비스 이름 (예: 삼성뮤직, 디올뷰티, 이마트24) |
| 제휴사 사용자 앱 소유자인 카카오디벨로퍼스 개발자 계정 ID 기본 쿼터는 모두 개발자 계정 단위로 적용되므로 개발자 계정 ID 확인 필요 기존 개발자 계정이 있는 제휴사일 경우, 해당 개발자 계정에 쿼터 증설 (예: 576952) |
| 쿼터를 증설할 제휴사 서비스의 카카오디벨로퍼스 앱 ID 쿼터 증설을 위해서는 해당 앱이 비즈 앱이어야만 함 (예: 1152860) |