이 문서는 카카오 API 플랫폼에서 제공하는 REST API 사용 방법을 안내합니다.
카카오 API는 대부분의 기능을 REST API로 제공합니다. 카카오톡 공유나 서비스 UI와 관련 있는 플러그인 성격의 일부 기능을 제외하고 모든 기능을 서비스 서버에서 REST API로 구현할 수 있습니다. 또한 카카오 SDK가 지원하지 않는 카카오 API는 REST API를 통해 사용 가능합니다.
REST API는 HTTP 요청을 보낼 수 있는 환경이라면 어디서든 이용 가능합니다. 클라이언트에서 서버로, 또는 서버에서 서버로 요청을 보낼 수 있습니다. 예를 들면 다음과 같은 환경에서 REST API를 사용할 수 있습니다.
요청, 응답 규격은 레퍼런스에서 확인할 수 있습니다.
카카오 API 플랫폼에서 제공하는 REST API는 SSL(Secure Sockets Layer)이 적용된 HTTPS 프로토콜로만 호출 가능합니다. 이 외 개발 환경 요구 사양은 아래의 지원 버전 정보를 참고합니다.
이름 | 버전 |
---|---|
OS X | Mavericks 이상 |
Windows | Windows XP SP3 이상 |
Java | JRE 1.8.0_101 이상 |
브라우저 | Chrome 49 이상 Firefox 50 이상 Safari 10 이상 IE(Internet Explorer) 9 이상 Edge 14 이상 |
CentOS/RHEL | ca-certificates-2015.2.4-65.0.1.el6_6.noarch 등 |
* 참고: 카카오 Open API 플랫폼 SSL 인증서 변경
* IE를 제외한 다른 브라우저의 최신 버전 사용 권장
[내 애플리케이션] > [플랫폼]에서 사이트 도메인을 비롯한 Web 플랫폼 정보를 입력해야 합니다. 자세한 안내는 플랫폼을 참고합니다.
운영 중인 서비스의 경우, 카카오 API를 사용하는 기능의 동작에 영향을 미칠 수 있는 설정입니다. 아래 내용을 충분히 이해한 후 사용해야 합니다.
앱 키 유출과 같은 보안 사고에 대비해, 카카오 API 서버가 등록된 IP 주소의 요청만 허용하도록 설정하는 기능입니다. [내 애플리케이션] > [허용 IP 주소] > [허용 IP 주소 등록]에서 서비스 서버의 IP 주소를 등록할 수 있습니다. CIDR(IP/CIDR), Subnet Mask(IP/Mask) 정보로 설정하기를 권장하며, 개별 IP(IPv4, IPv6)도 등록할 수 있습니다. 줄바꿈으로 여러 개의 IP를 추가할 수 있습니다.
허용 IP 주소 설정은 REST API 키 혹은 어드민 키를 사용하는 모든 카카오 API 호출에 적용됩니다. 설정 후에는 등록된 IP 주소에서만 REST API로 카카오 API를 호출할 수 있습니다. 등록되지 않은 IP 주소에서 카카오 API 요청 시 아래와 같이 에러 응답을 받습니다. 문제를 해결하려면 요청을 보낸 서비스 서버의 IP 주소를 추가 등록하거나, 허용 IP 등록 기능을 비활성화해야 합니다.
"msg": "ip mismatched! callerIp=XXX.XXX.XXX.XXX. check out registered ips.",
"code": -401
허용 IP 등록 기능을 비활성화하려면 [삭제]를 눌러 등록된 모든 IP 주소를 삭제합니다.
방화벽 및 ACL(Access Control List)로 서비스 서버 접근을 제한하는 경우, 카카오 API를 사용하려면 방화벽 룰(Rule)과 ACL을 설정해야 합니다. 설정해야 할 카카오 IP 정보를 확인하려면 카카오 IP 목록 가져오기를 호출합니다.
카카오디벨로퍼스는 REST API를 개발하고 디버깅할 때 유용한 REST API 테스트 도구를 제공합니다.
🅐 API 목록: 테스트할 API 선택 🅑 앱: 예제인 [developers-sample]로 기본 설정, 앱 이름 옆의 목록 버튼을 눌러 원하는 앱으로 변경 가능 🅒 API 정보: 현재 선택한 API 기능 설명 🅓 인증: 요청 헤더(Header)에 사용할 인증 정보 선택, 액세스 토큰 또는 앱 어드민 키, 액세스 토큰은 [토큰 발급]을 눌러 발급 가능 🅔 파라미터: 필요한 파라미터 값 설정 후 [전송]으로 요청, 요청 및 응답 정보 참고
🅕 요청: 현재 선택한 API 파라미터 설명 🅖 응답: 현재 선택한 API 요청 결과로 받는 응답의 구성 요소 설명
🅗 응답 예제: 참고용 기본 응답 예제
🅘 HTTP 상태 코드(Status code): API 요청 결과로 받은 응답의 HTTP 상태 코드, 응답 코드 참고 🅙 응답 본문(Body): API 요청 결과로 받은 응답 본문 🅚 요청 예제: 사용자의 개발 환경에서 직접 요청해 보는 데 사용할 수 있는 예제
다양한 프로그래밍 언어로 REST API 요청과 응답 처리를 구현할 수 있습니다. 다음은 REST API를 사용하는 언어별 참고 예제입니다.
이 문서에서 제공하지 않는 다른 언어 및 프레임워크(Framework)의 참고 자료나 예제는 데브톡에서 검색 또는 문의합니다.