타임존 획득

요청 IP의 타임존 정보와 국가 정보를 얻습니다. Request Body ip 필드값이 없으면 이 API를 호출한 IP가 소속된 타임존과 국가 정보를 반환합니다.

  • Request URL
상용 URL https://timezone.qpyou.cn/public/api/getTimezone
분산 환경 URL https://timezone.globalwithhive.com/public/api/getTimezone
Sandbox URL https://sandbox-timezone.qpyou.cn/public/api/getTimezone
HTTP Method POST
Content-Type text/html
Data Format JSON
Note

Hive 타임존 API는 장애가 발생하거나 네트워크가 원활하지 않을 경우를 대비해 분산 처리 환경을 갖추었습니다. 만약 장애나 네트워크 이상으로 여러분의 게임 서버에 설정한 통신 타임아웃을 초과하면 분산 환경 URL을 사용해 API를 호출하세요.

  • Request Body
필드명 설명 필수여부
ip 요청 IP(IPv4 또는 IPv6).
해당 값이 없을 경우 API를 호출한 클라이언트의 IP로 타임존 정보와 국가 정보를 획득
N
  • Response
필드명 설명 타입
result_code 결과 코드. 0=성공 Integer
result_msg 결과 메시지 String
timezone Object 타입의 타임존
하단의 Timezone object 항목 참고
Object
country_diff
  • true: ip가 사용하는 타임존 국가 코드 != ip 위치 정보에 따른 국가 코드
  • false: ip가 사용하는 타임존 국가 코드 == ip 위치 정보에 따른 국가 코드
  • 베트남(VN) 북부는 Asia/Bangkok 타임존, 남부는 Asia/Ho_Chi_Minh 타임존을 씁니다. 그런데 Asia/Bangkok 타임존의 국가 코드는 태국(TH)입니다. IP 위치 정보에 기반한 베트남 북부 국가 코드(VN)와 베트남 북부가 쓰는 타임존의 국가 코드(TH)가 서로 다릅니다.
Boolean
  • Timezone object
필드명 설명 타입
zone_id 타임존 DB에서 제공하는 지역의 고유 식별자 값 String
country_code ISO 3166-1 alpha-2를 기준으로 삼은 국가 코드 String
zone_name 지역 이름 String
country_name 국가명 String
abbreviation 표준시 약어 String
gmt_offset 시차(단위: 초) String
dst 서머타임 적용 여부 String
  • Request Sample
//IPv4
{
    "ip" : "127.0.0.1"
}
//IPv6
{
    "ip" : "::ffff:dc46:52e7" or "0:0:0:0:0:ffff:dc46:52e7" or "0000:0000:0000:0000:0000:ffff:dc46:52e7"
}
  • Response Sample
// Example 1
{
    "result_code": 0,
    "result_message": "Success",
    "timezone": {
        "zone_id": "361",
        "country_code": "VN", //위치 정보 기반 국가 코드
        "zone_name": "Asia/Bangkok", //타임존의 이름
        "country_name": "Vietnam",
        "abbreviation": "ICT",
        "gmt_offset": "25200",
        "dst": "0"
    },
    "country_diff": true  //"Asia/Bangkok"의 경우 국가 코드가 TH, IP 위치 정보의 국가 코드는 VN 으로 서로 다른 경우에 해당하므로 true로 설정
}

// Example 2
{
    "result_code": 0,
    "result_message": "Success",
    "timezone": {
        "zone_id": "212",
        "country_code": "KR", //위치 정보 기반 국가 코드
        "zone_name": "Asia/Seoul",  // 타임존의 이름
        "country_name": "Korea, Republic of",
        "abbreviation": "KST",
        "gmt_offset": "32400",
        "dst": "0"
    },
    "country_diff": false // "Asia/Seoul"의 경우 국가 코드가 KR, IP 위치 정보의 국가코드 또한 KR로 서로 같은 경우에 해당하므로 false로 설정
}
Note

IP의 국가코드가 식별되지 않는 경우 결과는 성공으로 반환되며, timezone의 country_code는 "UNKNOWN"으로 반환됩니다.

  • IP로 타임존이 식별되지 않는 경우 Response Sample
{
    "result_code": 0,
    "result_message": "Success",
    "timezone": {
        "zone_id": null,
        "country_code": "UNKNOWN",
        "zone_name": null,
        "country_name": null,
        "abbreviation": null,
        "gmt_offset": null,
        "dst": null
    },
    "country_diff": false
}