페이지 이동경로
  • 문서>
  • 참고 정보>
  • 사용자 편의 API

참고 정보

사용자 편의 API

이 문서는 카카오 API 플랫폼 사용자를 위한 공통 편의 기능의 사용 방법을 안내합니다.

카카오 IP 목록 가져오기

기본 정보
메서드 URL 인증 방식
GET https://kapi.kakao.com/v1/system/ips 네이티브 앱 키
REST API key
JavaScript 키
어드민 키
권한 사전 설정 카카오 로그인 동의항목
- - - -

카카오 API 플랫폼을 이용하기 위해 필요한 카카오 IP 목록을 가져옵니다. 서비스 서버에 방화벽 등 접근 제한을 적용한 경우, 카카오 서비스별 IP 목록을 인바운드(Inbound)와 아웃바운드(Outbound) 각각 등록해야 합니다.

서비스 앱 키 중 한 가지를 헤더에 담아 GET으로 요청합니다. 인바운드와 아웃바운드 중 한 가지 IP 목록만 가져오려면 rule_type을 사용합니다.

요청 성공 시 응답은 카카오 인바운드 및 아웃바운드 IP 목록을 포함합니다. 요청 실패 시 에러 코드로 원인을 확인합니다.

카카오 서비스 정보
유형 설명
인바운드 카카오로부터의 요청을 받기 위한 IP
요청 유형을 나타내며, 다음 중 하나
callback: 콜백
scrap: 서비스 웹 페이지 스크랩 요청
아웃바운드 카카오 API 사용을 위한 IP
각 카카오 서비스 도메인이며, 다음 중 하나
https://kauth.kakao.com: 카카오 로그인 API
https://kapi.kakao.com: 카카오 API
https://accounts.kakao.com: 카카오계정
https://auth.kakao.com: 카카오계정(모바일)
https://dapi.kakao.com: 검색, 로컬 API
https://apps.kakao.com: 카카오톡 메시지 API
https://talk-apps.kakao.com: 카카오톡 유니버설 링크

요청

헤더
이름 설명 필수
Authorization Authorization: KakaoAK ${SERVICE_APP_KEY}
인증 방식, 서비스 앱 키로 인증 요청
다음 중 한 가지 앱 키 사용
네이티브 앱 키
REST API key
JavaScript 키
어드민 키
O
쿼리 파라미터
이름 타입 설명 필수
rule_type String 조회할 카카오 IP 유형
inbound 또는 outbound 중 하나
X

응답

본문
이름 타입 설명 필수
inbound ServiceIp[] 카카오 서비스별 인바운드 IP 목록 X
outbound ServiceIp[] 카카오 서비스별 아웃바운드 IP 목록 X
updatedDate String 최종 변경일, YYYY-MM-DD(ISO 8601) 형식 O
ServiceIp
이름 타입 설명 필수
service String 서비스 이름 또는 도메인
카카오 서비스 정보 참고
O
ips String[] 서비스별 서버의 IP 목록
RFC1519 CIDR 형식
O
ports Int[] 서비스별 포트 목록 O
addition IpChange 서비스별 추가 IP 목록 및 일정 X
exclusion IpChange 서비스별 제외 IP 목록 및 일정 X
updatedDate String 최종 변경일, YYYY-MM-DD(ISO 8601) 형식 O
IpChange
이름 타입 설명 필수
ips String[] 추가 또는 제외될 IP 목록
RFC1519 CIDR 형식
O
date String 추가 또는 제외 일정 O

예제

요청
curl -v -G GET "https://kapi.kakao.com/v1/system/ips" \
  -H "Authorization: KakaoAK ${REST_API_KEY}"
요청: 인바운드 IP 목록만 요청
curl -v -G GET "https://kapi.kakao.com/v1/system/ips" \
  -H "Authorization: KakaoAK ${REST_API_KEY}" \
  -d "rule_type=inbound"
응답
HTTP/1.1 200 OK
{
  "inbound": [
    {
      "service": "callback",
      "ips": [
        "211.249.203.104/24",
        "220.64.110.190/25",
        "220.64.111.158/25",
        "220.64.109.84/31",
        "203.217.230.3/26"
      ],
      "ports": [
        443
      ],
      "updatedDate": "2023-06-28"
    },
    ...
  ],
  "outbound": [
    {
      "service": "https://kauth.kakao.com",    // 추가, 변경 예정인 IP 목록이 없는 경우
      "ips": [
        "203.133.166.32/32",
        "27.0.237.15/32"
      ],
      "ports": [
        443
      ],
      "updatedDate": "2023-06-28"
    },
    {
      "service": "https://kapi.kakao.com",    // 추가, 변경 예정인 IP 목록이 있는 경우
      "ips": [
        "203.133.166.33/32",
        "211.249.200.134/32"
      ],
      "ports": [
        443
      ],
      "updatedDate": "2023-06-28",
      "addition": {
        "ips": [
          "111.111.111.0/32",
          "111.111.111.1/32"
        ],
        "date": "2023-06-30"
      },
      "exclusion": {
        "ips": [
          "203.133.166.33/32",
          "211.249.200.134/32"
        ],
        "date": "2023-07-01"
      }
    },
    {
      "service": "https://accounts.kakao.com",    // 추가 예정인 ip 목록이 있는 경우
      "ips": [
        "211.231.99.67/32",
        "110.76.142.110/32"
      ],
      "ports": [
        443
      ],
      "updatedDate": "2023-06-28",
      "addition": {
        "ips": [
          "111.111.111.2/32",
          "111.111.111.3/32"
        ],
        "date": "2023-06-30"
      }
    },
    {
      "service": "https://auth.kakao.com",    // 변경 예정인 ip 목록이 있는 경우
      "ips": [
        "219.249.227.143/32",
        "210.103.240.15/32",
        "110.76.141.64/32"
      ],
      "ports": [
        443
      ],
      "updatedDate": "2023-06-28",
      "exclusion": {
        "ips": [
          "219.249.227.143/32",
          "210.103.240.15/32"
        ],
        "date": "2023-07-01"
      }
    },
    ...
  ],
  "updatedDate": "2023-06-28"
}
응답: 인바운드 IP 목록만 요청한 경우
HTTP/1.1 200 OK
{
    "inbound": [
        {
            "service": "callback",
            "ips": [
                "211.249.203.104/24", "220.64.110.190/25", "220.64.111.158/25", "220.64.109.84/31", "203.217.230.3/26"
            ],
            "ports": [443],
            "updatedDate": "2023-06-28"
        }, {
            "service": "scrap",
            "ips": [
                "211.231.96.0/20", "27.0.236.0/22"
            ],
            "ports": [
                80, 443
            ],
            "updatedDate": "2023-06-28"
        }
    ],
    "updatedDate": "2023-06-28"
}

카카오 오픈 API 상태

[카카오 오픈 API 상태]를 API로 조회할 수 있습니다.

현재 상태 확인하기

기본 정보
메서드 URL 인증 방식
GET https://api-status.kakao.com/api/health/current -
권한 사전 설정 카카오 로그인 동의항목
- - - -

카카오 오픈 API의 현재 상태를 확인합니다. 상태 정보는 5분마다 갱신됩니다.

GET으로 요청합니다. product로 제품, api로 API를 지정할 수 있습니다. 요청이 성공하면 응답은 각 제품 및 API의 현재 상태 정보를 포함합니다. 각 제품의 상태는 정상 여부와 무관하게 항상 응답에 포함되고, 각 API의 상태는 이상이 있는 경우에만 응답에 포함됩니다.

요청

쿼리 파라미터
이름 타입 설명 필수
product String 상태를 확인할 제품, 쉼표로 구분된 하나의 문자열
미지정 시 모든 제품의 상태 확인
(예: login,message)
X
api String 상태를 확인할 API, 쉼표로 구분된 하나의 문자열
미지정 시 모든 API의 상태 확인
(예: user_me,user_shipping_address)

비고: 제품을 지정한 경우, 해당 제품에 속한 API만 지정해야 함
X
lang String 응답 언어, 다음 중 하나:
ko: 한국어
en: 영어
(기본값: ko)
X

응답

본문
이름 타입 설명 필수
updatedAt String 최종 업데이트 시각, 5분 단위, yyyy-MM-dd HH:mm:ssZ 형식 X
statuses Status[] 상태 정보 목록 X
warning Warning 잘못된 요청인 경우, 상세 사유 X
Status
이름 타입 설명 필수
productId String 제품 ID O
productName String 제품 이름 O
status String 현재 제품 상태, 다음 중 하나:
GREEN: 정상
YELLOW: 주의
RED: 오류
MAINTENANCE: 점검
UNKNOWN: 알 수 없음
O
issuses Issue[] 상태 이상 상세 정보
statusGREEN 또는 UNKNOWN인 경우 미제공
X
Issue
이름 타입 설명 필수
apiId String API ID O
apiName String API 이름 O
status String 현재 API 상태, 다음 중 하나:
GREEN: 정상
YELLOW: 주의
RED: 오류
MAINTENANCE: 점검
UNKNOWN: 알 수 없음
O
Warning
이름 타입 설명 필수
invalidProduct String[] 유효하지 않은 product 값 목록 X
invalidUri String[] 유효하지 않은 api 값 목록 X

예제

요청
curl -v -G GET "https://api-status.kakao.com/api/health/current"
요청: 카카오 로그인 제품 대상으로 확인
curl -v -G GET "https://api-status.kakao.com/api/health/current" \
    -d "product=login"
요청: 사용자 정보 가져오기 API 대상으로 확인
curl -v -G GET "https://api-status.kakao.com/api/health/current" \
    -d "product=login" \
    -d "api=user_me"
응답
HTTP/2 200
content-type: application/json; charset=utf-8
{
    "updatedAt": "2023-12-05T07:10:01.823Z",
    "statuses": [
        {
            "productId": "login",
            "productName": "카카오 로그인",
            "status": "GREEN"
        }, 
        {
            "productId": "social",
            "productName": "카카오톡 소셜",
            "status": "GREEN"
        }, 
        {
            "productId": "message",
            "productName": "메시지",
            "status": "GREEN"
        }, 
        ...
    ]
}
응답: 카카오 로그인 제품 대상으로 확인, 정상 상태
HTTP/2 200 
content-type: application/json; charset=utf-8
{
    "updatedAt": "2023-12-05T07:00:01.986Z",
    "statuses": [
        {
            "productId": "login",
            "productName": "카카오 로그인",
            "status": "GREEN"
        }
    ]
}
응답: 카카오 로그인 제품 대상으로 확인, 오류 상태
HTTP/2 200 
content-type: application/json; charset=utf-8
{
    "updatedAt":"2023-11-27T09:30:01.807Z",
    "statuses":[
        {
            "productId":"login",
            "productName":"카카오 로그인",
            "status":"RED",
            "issues": [
                {
                    "apiId": "oauth_authorize",
                    "apiName": "인가 코드 받기",
                    "status": "YELLOW"
                },
                {
                    "apiId": "oauth_token",
                    "apiName": "토큰 받기",
                    "status": "RED"
                }
            ]
        }
    ]
}
응답: 제품을 지정하고, 해당 제품에 속하지 않는 API를 지정해 요청한 경우
HTTP/2 200
content-type: application/json; charset=utf-8
{
    "updatedAt": "2023-12-05T07:12:43.961Z",
    "statuses": []
}
응답: 올바르지 않은 제품 또는 API 대상으로 요청한 경우
HTTP/2 200
content-type: application/json; charset=utf-8
{
    "updatedAt": "2023-12-05T07:49:57.811Z",
    "statuses": [],
    "warning": {
        "invalidProduct": "test",
        "invalidUris": "test"
    }
}

이력 확인하기

기본 정보
메서드 URL 인증 방식
GET https://api-status.kakao.com/api/health/history -
권한 사전 설정 카카오 로그인 동의항목
- - -- --

카카오 오픈 API 상태의 이력을 확인합니다. 이력은 일 단위로 제공되고, 요청일 기준으로 최대 30일 전까지 조회 가능합니다.

GET으로 요청합니다. startend로 기간을 지정할 수 있습니다. 요청 성공 시, 응답은 일 단위 상태 이력을 포함합니다.

요청

쿼리 파라미터
이름 타입 설명 필수
start String 시작일, yyyy-MM-dd 형식 X
end String 종료일, yyyy-MM-dd 형식 X
product String 상태를 확인할 제품, 쉼표로 구분된 하나의 문자열
미지정 시 모든 제품의 상태 확인
(예: login,message)
X
api String 상태를 확인할 API, 쉼표로 구분된 하나의 문자열
미지정 시 모든 API의 상태 확인
(예: user_me,user_shipping_address)

비고: 제품을 지정한 경우, 해당 제품에 속한 API만 지정해야 함
X
lang String 응답 언어, 다음 중 하나:
ko: 한국어
en: 영어
(기본값: ko)
X

응답

본문
이름 타입 설명 필수
- StatusHistory[] 일별 상태 이력 O
StatusHistory
이름 타입 설명 필수
date String 날짜 O
statuses Status[] 상태 정보 목록 O

예제

요청
curl -v -G GET "https://api-status.kakao.com/api/health/history"
요청: 기간 지정
curl -v -G GET "https://api-status.kakao.com/api/health/history" \
    -d "start=2023-12-01" \
    -d "end=2023-12-31"
요청: 카카오 로그인 제품 대상으로 확인
curl -v -G GET "https://api-status.kakao.com/api/health/history" \
    -d "product=login"
요청: 사용자 정보 가져오기 API 대상으로 확인
curl -v -G GET "https://api-status.kakao.com/api/health/history" \
    -d "product=user_me"
응답
HTTP/2 200
content-type: application/json; charset=utf-8
[
    {
        "date": "2023-12-04T15:00:00.000Z",
        "statuses": [
            {
                "productId": "login",
                "productName": "카카오 로그인",
                "status": "GREEN"
            }, 
            {
                "productId": "social",
                "productName": "카카오톡 소셜",
                "status": "GREEN"
            }, 
            {
                "productId": "message",
                "productName": "메시지",
                "status": "GREEN"
            }, 
            ...
        ]
    },
    ...
]
응답: 카카오 로그인 제품 대상으로 확인, 정상 상태
HTTP/2 200
content-type: application/json; charset=utf-8
[
    {
        "date": "2023-12-04T15:00:00.000Z",
        "statuses": [
            {
                "productId": "login",
                "productName": "카카오 로그인",
                "status": "GREEN"
            }
        ]
    },
    ...
]

확인 가능 제품

이름 ID
카카오 로그인 login
카카오톡 소셜 social
메시지 message
로컬 local
카카오내비 navi
카카오톡 채널 channel
검색 search

확인 가능 API

이름 ID
인가 코드 받기 oauth_authorize
토큰 받기 oauth_token
OIDC: 메타데이터 확인하기 oidc_meta
OIDC: 공개키 목록 조회하기 oidc_public_key
로그아웃 user_logout
연결하기 user_signup
연결 끊기 user_unlink
토큰 정보 보기 user_access_token_info
사용자 정보 가져오기 user_me
사용자 정보 저장하기 user_update_profile
배송지 가져오기 user_shipping_address
사용자 목록 가져오기 user_ids
여러 사용자 정보 가져오기 app_users
동의 내역 확인하기 user_scopes
동의 철회하기 user_revoke_scopes
서비스 약관 동의 내역 확인하기 user_service_terms
서비스 약관 동의 철회하기 user_revoke_service_terms
OIDC: 사용자 정보 가져오기 oidc_userinfo
프로필 가져오기 talk_profile
친구 목록 가져오기 talk_friends
피커: 친구 선택하기(Native SDK) picker_friends_native
피커: 친구 선택하기(JS SDK) picker_friends_js
카카오톡 공유: 기본 템플릿으로 메시지 구성하기 talk_sharing_default_template
카카오톡 공유: 사용자 정의 템플릿으로 메시지 구성하기 talk_sharing_custom_template
카카오톡 공유: 스크랩 메시지 구성하기 talk_sharing_scrap_template
카카오톡 공유: 메시지 보내기 talk_sharing_send_message
카카오톡 공유: 웹 공유 메시지 보내기 talk_sharing_web_send_message
카카오톡 공유: 이미지 업로드하기 talk_sharing_upload_images
카카오톡 공유: 이미지 스크랩하기 talk_sharing_scrap_images
카카오톡 공유: 이미지 삭제하기 talk_sharing_delete_images
나에게 기본 템플릿으로 메시지 보내기 talk_memo_default_send
나에게 사용자 정의 템플릿으로 메시지 보내기 talk_memo_send
나에게 스크랩 메시지 보내기 talk_memo_scrap_send
친구에게 기본 템플릿으로 메시지 보내기 talk_friends_message_default_send
친구에게 사용자 정의 템플릿으로 메시지 보내기 talk_friends_message_send
친구에게 스크랩 메시지 보내기 talk_friends_message_scrap_send
JavaScript용 지도 API map_js
네이티브앱용 지도 API map_native
네이티브앱용 벡터 지도 API vector_map_native
지도 배경 구성 정보 map_style
POI(관심 지점) map_poi
주소를 좌표로 변환하기 local_search_address
좌표를 행정구역정보로 변환하기 local_geo_coord2regioncode
좌표를 주소로 변환하기 local_geo_coord2address
좌표계 변환하기 local_geo_transcoord
키워드로 장소 검색하기 local_search_keyword
카테고리로 장소 검색하기 local_search_category
자동차 길찾기 navi_directions
다중 경유지 길찾기 navi_waypoints_directions
다중 출발지 길찾기 navi_origins_directions
다중 목적지 길찾기 navi_destinations_directions
미래 운행 정보 길찾기 navi_future_directions
카카오톡 채널 관계 확인하기 talk_channels
여러 사용자 카카오톡 채널 관계 확인하기 talk_channels_multi
고객 관리: 파일 등록하기 talkchannel_create_target_user_file
고객 관리: 파일 보기 talkchannel_target_user_file
고객 관리: 사용자 추가하기 talkchannel_update_target_users
고객 관리: 사용자 삭제하기 talkchannel_delete_target_users
웹 문서 검색하기 search_web
동영상 검색하기 search_vclip
이미지 검색하기 search_image
블로그 검색하기 search_blog
책 검색하기 search_book
카페 검색하기 search_cafe