GeoLocation은 사용자 IP 기반 위치 정보를 제공하는 국내 유일의 서비스입니다. 이 서비스를 이용하여 사용자의 위치 및 지역 기반 콘텐츠 개인화, 광고 타겟팅, 트래픽 분석, DRM 관리, 어뷰징/ Fraud 탐지 등을 할 수 있습니다. GeoLocation은 네이버 클라우드 플랫폼에서 제공하는 API 서비스로, 고객 서버에서 질의한 IP 주소에 대하여 지역 정보 DB(GeoLocation DB)를 검색하여 해당 지역의 정보를 고객 서버로 전달합니다. 이때 제공되는 정보에는 국가, 시/군/구, 동, 인근 지역의 좌표, 통신사 정보 등입니다. IP 주소별 위치 정보는 매일 수시로 갱신되며 항상 최신 정보를 반영할 수 있도록 유지되고 있습니다. 네이버 클라우드 플랫폼 API는 RESTful 형태로 제공되며 HTTP GET 메서드 호출을 통해서 이루어집니다.
GeoLocation 공통 설정
요청
공통 요청 형식을 설명합니다.
API URL
요청 API URL은 다음과 같습니다.
https://geolocation.apigw.ntruss.com
요청 헤더
요청 헤더에 대한 설명은 다음과 같습니다.
| 필드 | 필수 여부 | 설명 |
|---|---|---|
x-ncp-apigw-timestamp |
Required | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간(밀리초)
|
x-ncp-iam-access-key |
Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key |
x-ncp-apigw-signature-v2 |
Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key에 맵핑되는 Secret Key 및 HMAC 암호화 알고리즘(HmacSHA256)으로 요청 정보를 암호화한 후 Base64로 인코딩한 서명 |
Content-Type |
Required | 요청 데이터의 형식
|
응답
공통 응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
error
error는 API 호출 실패 정보를 정의합니다. error에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
error |
Object | - | 오류 코드 및 메시지 |
error.errorCode |
String | Required | 오류 코드 |
error.message |
String | Required | 오류 메시지 |
error.details |
String | Required | 오류 메시지 설 |
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
| HTTP 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 204 | - | OK (No Content) | 요청 성공 |
| 400 | 131000 | No Entry | 요청한 IP 주소에 대한 지역 정보를 찾을 수 없음
|
| 400 | 131001 | Invalid IP | 공인 IP가 아니거나 IP 주소 형식이 잘못됨
|
| 400 | 131002 | Internal Server Error | GeoLocation 서버 오류
|
| 400 | 131003 | Quota Limit Reached | 사용자가 설정한 API 호출 한도 초과
|
| 400 | 131004 | Subscription Required | GeoLocation 서비스 이용 신청 필요
|
| 404 | - | Not Found | 리소스를 찾지 못함 |
| 500 | - | Internal Server Error | 내부 서버 오류 |
네이버 클라우드 플랫폼에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud API 응답 상태 코드를 참조해 주십시오.
응답 예시
호출이 성공한 경우의 응답 예시는 각 API 명세에서 확인해 주십시오. 호출이 실패한 경우의 응답 예시는 다음과 같습니다.
{
"error": {
"errorCode": 130001,
"message": "Invalid Quota",
"details": null
}
}