본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트

사이드 메뉴

플랫폼 API

API 제공

전용 API

어드민 API

이 문서는 앱 REST API 사용법을 안내합니다.

메서드URL인증 방식
GET카카오
http://kapi.kakao.com/v3/internal/app
공동체
https://kapi.kakao.com/v3/internal/app
위임

앱 상세 정보를 받습니다. 앱 상세 정보는 ID, 이름, 회사명, 타입과 같은 기본 정보와 함께 앱을 소유한 개발자 계정 정보나 카카오 로그인 관련 설정과 같은 세부 정보들을 포함합니다. 이 API는 앱의 각 동의항목 설정 여부와 필수 동의 설정 여부, 수집 후 제공 옵션 설정 여부도 제공합니다.

헤더에 플랫폼 앱 어드민 키를 담아 GET으로 요청합니다. 제공 받고자 하는 앱 정보에 따라 results 파라미터를 전달합니다.

요청 성공 시 응답은 앱 상세 정보가 담긴 JSON 객체입니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}
인증 방식, 플랫폼 앱 어드민 키로 인증 요청
서비스 앱의 권한을 플랫폼 앱이 위임받아 요청하는 방식으로 내부 API 요청 시 사용 가능
서비스 구분을 위해 서비스 앱의 앱 ID, 앱 키, 토큰 중 하나 파라미터로 전달 필요
O
  • 요청 대상 서비스 앱을 어떤 파라미터로 지정하는지에 따라 필수 파라미터 구성이 달라집니다.
    • 서비스 앱 키: target_app_key
    • 서비스 앱 ID: target_app_id
이름타입설명필수
target_app_keyString상세 정보를 조회할 서비스 앱의 키O(Optional)
target_app_idString상세 정보를 조회할 서비스 앱의 ID
target_app_id로 요청 대상 서비스 앱을 지정할 경우, 요청 대상 서비스 앱의 앱 키 및 앱 키 타입을 응답에 포함하려면 권한 필요
O(Optional)
resultsString앱의 기본정보 외에 가져오고 싶은 추가 정보를 지정하는 파라미터
  • 지정하지 않을 경우, 앱의 기본 정보(id, name, company, type, status, category)만 제공
  • 전달한 키 값에 따라 응답 구성 다름(응답 참고)

아래 중 원하는 정보의 키를 하나의 문자열에 쉼표(,)로 구분해 전달:
  • app_detail: 앱 아이콘, 카카오 로그인 사용 여부
  • app_key: 앱 키 정보
  • app_key_detail: 앱 키 정보, 앱 키 상세 정보
  • app_scopes: 앱에 설정된 동의항목 목록
  • app_channel_scopes: 앱에 설정된 채널별 동의항목 목록
  • owner_developer: 앱의 소유자 정보
  • app_business_info: 앱의 비즈니스 정보
  • kakao_biz_service: 비즈니스 성격(B2B)의 서비스인지 여부
  • kakao_sync: 카카오싱크 이용 정보
  • ecp: ECP 앱 여부
  • not_allowed_under14: 14세 미만 사용자 제한 여부
  • kakao_talk_channels: 앱에 설정된 카카오톡채널 정보
X
이름타입설명필수
idInteger앱 IDO
nameString앱 이름O
companyString회사명O
typeString앱 타입, 아래 중 하나
  • DEFAULT: 일반 앱
  • SAMPLE: 샘플 앱
  • KAKAO: 인하우스 앱
  • PARTNER: 공동체 앱
  • DAUM: 다음 앱
  • GAME: 게임 앱
참고: 카카오디벨로퍼스 앱 타입
O
statusString앱 상태, 아래 중 하나
  • ACTIVE: 활성
  • BLOCKED: 차단
O
categoryString앱 카테고리O
app_keysAppKey[]조회 대상인 앱의 앱 키 목록
target_app_key로 요청 시, 해당 앱 키를 포함
앱 키 제공을 위한 API 응답 권한 보유 시 target_app_key가 REST API 키가 아니라면 응답에 REST API 키 포함

제공 조건: 조회 대상 앱의 앱 키 제공을 위한 API 응답 권한 보유, 위 제공 조건에 만족할 경우 해당 앱 키와 REST API 키를 포함하고 권한이 없는 경우 해당 앱 키만 응답
X
app_business_infoAppBusinessInfo앱의 비즈니스 정보

제공 조건: 요청 시 results 파라미터에 app_business_info를 포함한 경우
X
owner_developerDeveloperInfo앱의 소유자(OWNER)인 개발자 정보

제공 조건: 요청 시 results 파라미터에 owner_developer를 포함한 경우
X
icon_image_urlString앱 아이콘 이미지 URL(http 형식)

제공 조건: 요청 시 results 파라미터에 app_detail를 포함한 경우
X
secure_icon_image_urlString앱 아이콘 이미지 URL(https 형식)

제공 조건: 요청 시 results 파라미터에 app_detail를 포함한 경우
X
user_managementString카카오 로그인 활성화 여부, 아래 중 하나
  • ON:활성화
  • OFF: 비활성화

제공 조건: 요청 시 results 파라미터에 app_detail, kakao_sync, app_scopes, app_channel_scopes를 포함한 경우
X
kakao_syncString카카오싱크 간편가입 활성화 여부, 아래 중 하나
  • ON: 활성화
  • OFF: 비활성화
카카오 로그인이 비활성화되어 있어 응답의 user_management 값이 OFF인 경우 제공하지 않음
카카오싱크 검수를 통과하지 않아 간편가입 기능의 사용 권한이 없는 경우의 값은 OFF

제공 조건: 요청 시 results 파라미터에 kakao_sync를 포함한 경우
X
service_termsServiceTerm[]카카오싱크 간편가입을 사용하는 앱의 서비스 약관 정보
카카오싱크 검수를 통과해 약관이 등록된 경우 서비스 약관 정보 제공
카카오 로그인이 비활성화되어 있어 응답의 user_management 값이 OFF인 경우 제공하지 않음

제공 조건: 요청 시 results 파라미터에 kakao_sync를 포함한 경우
X
biz_pluginBizPlugin회원가입 플러그인을 사용하는 경우 포함, t1, t2 URL

제공 조건: 회원가입 플러그인 권한 보유,
요청 시 results 파라미터에 kakao_sync를 포함한 경우
X
kakao_biz_serviceBoolean비즈니스 성격(B2B)의 서비스인지 여부

제공 조건: 요청 시 results 파라미터에 kakao_biz_service를 포함한 경우
X
ecp_typeStringECP앱 여부
ECP앱이 아닌 경우 미제공

ECP_SIXSHOP: 식스샵
ECP_MAKESHOP: 메이크샵
ECP_NHN_COMMERCE : NHN 커머스
ECP_CAFE24: 카페24
ECP_IMWEB: 아임웹
ECP_FIRSTMALL:퍼스트몰
ECP_WISA: 위사

제공 조건: 요청 시 results 파라미터에 ecp를 포함한 경우
X
not_allowed_under14Boolean14세 미만 사용자 앱 제한 여부
14세 미만 사용자를 허용하지 않는 앱일 경우 true, 나이 제한이 없는 경우 false

제공 조건: 요청 시 results 파라미터에 not_allowed_under14를 포함한 경우
X
app_scopesAppScope[]앱에 설정된 동의항목 목록

제공 조건: 카카오 로그인이 활성화되어 있어 응답의 user_management 값이 ON인 경우,
요청 시 results 파라미터에 app_scopes를 포함한 경우
X
app_channel_scopesAppScope[]앱에 설정된 채널별 동의항목 목록

제공 조건: 카카오 로그인이 활성화되어 있어 응답의 user_management 값이 ON인 경우,
요청 시 results 파라미터에 app_channel_scopes를 포함한 경우
X
kakao_talk_channelsKakaoTalkChannel[]앱에 설정된 카카오톡채널 정보

제공 조건: 요청 시 results 파라미터에 kakao_talk_channels를 포함한 경우
X
phaseString테스트 앱 여부, 아래 중 하나
  • NORMAL: 일반 앱
  • TEST: 테스트 앱
O
이름타입설명필수
business_numberString앱에 등록된 사업자번호X
biz_appBoolean비즈 앱 여부O
biz_plus_friends_appBoolean연결된 카카오톡 채널이 있는지 여부O
  • 요청 시 results 파라미터에 app_key 또는 app_key_detail을 포함한 경우 제공하는 추가 정보입니다.
이름타입설명필수
app_keyString조회 대상 앱의 앱 키O
app_key_typeStringapp_key의 타입, 아래 중 하나
  • NATIVE_APP_KEY
  • REST_API_KEY
  • JAVASCRIPT_KEY
  • ADMIN_KEY
O
is_target_app_keyBooleanapp_key 값이 요청 시 전달된 target_app_key 값인지 여부
  • true: target_app_key 값에 해당
  • false: target_app_key에 해당하지 않음, 서비스 앱의 앱 키 제공을 위한 응답 권한에 따라 제공된 앱 키인 경우
O
execution_urlExecutionUrl[]OS별 앱 실행 커스텀 URL

제공 조건: 요청 시 results 파라미터에 app_key_detail를 포함한 경우
X
market_urlMarketUrl[]OS별 앱 설치 커스텀 URL

제공 조건: 요청 시 results 파라미터에 app_key_detail를 포함한 경우
X
이름타입설명필수
idInteger개발자 계정 IDO
account_idInteger개발자의 카카오계정 ID

제공 조건: 카카오계정 ID 응답 권한 보유
X
registered_atString개발자 계정 가입 시각(RFC3339 internet date/time 형식)O
deactivatedBoolean개발자 계정이 휴면 계정 탈퇴 처리로 탈퇴된 경우, 서비스에 영향을 주기 않기 위해 탈퇴된 상태로 소유자(OWNER) 정보가 남으며, 이 경우에만 true 값으로 제공O
이름타입설명필수
platformString플랫폼 정보, 아래 중 하나
  • android
  • iOS
  • iPad
  • web
O
pkgnamesString[]platformandroid인 경우, 앱에 설정된 안드로이드 패키지 이름(Package name) 목록X
urlsString[]platformiOSiPad인 경우, 앱에 설정된 커스텀 URL 스킴
platformweb인 경우, 앱에 설정된 웹 도메인 목록
X
이름타입설명필수
platformString플랫폼 정보, 아래 중 하나
  • android
  • iOS
  • iPad
  • web
O
urlsString[]앱 설치 URL 목록X
이름타입설명필수
tagString약관 태그(tag)
서비스 약관 선택해 동의 요청에 사용
O
title_koString한글 제목O
title_enString영문 제목O
title_jaString일본어 제목X
title_zhString중국어(간체) 제목X
title_zhtwString중국어(번체) 제목X
urlString상세 URLX
requiredBoolean해당 약관이 필수 동의해야 하는 항목인지 여부
필수인 경우 true, 선택인 경우 false
O
orderInteger약관이 보여지는 순서O
created_atDatetime약관 생성 시각(RFC3339 internet date/time 형식)O
updated_atDatetime약관 수정 시각(RFC3339 internet date/time 형식)O
이름타입설명필수
third_terms_info_uriStringt1, 공통플러그인용, 서비스 제공자(Third party)의 약관을 가져오는 URL

제공 조건: 공통플러그인 권한 보유
X
third_terms_agreement_uriStringt2, 공통플러그인용, 서비스 제공자(Third party)의 약관에 동의하는 URL

제공 조건: 공통플러그인 권한 보유
X
이름타입설명필수
idString동의항목 IDO
displayString동의항목 이름, KA 헤더의 언어(language)에 따라 한글 또는 영어로 제공O
scope_typeString동의항목 타입, 아래 중 하나
  • privacy: 개인정보 동의항목
  • service: 접근권한 동의항목
O
requiredBoolean필수 동의항목으로 설정되었는지 여부
해당 동의항목을 사용하도록 설정하지 않은 경우 false
O
collectingBoolean수집 후 제공 설정 여부
해당 동의항목을 사용하도록 설정하지 않았고, 수집 후 제공을 설정하지 않았다면 false
O
usingBoolean사용 중인 동의항목인지 여부
해당 동의항목을 필수 동의 또는 선택 동의로 설정한 경우 true, 사용안함으로 설정한 경우 false
O
has_permissionBoolean동의항목을 설정할 수 있는 권한 소유 여부
해당 동의항목을 설정할 수 있는 권한이 있는 경우 true, 권한이 없는 경우 false
O
이름타입설명필수
public_idString카카오톡 채널의 인코딩된(Encoded) 공개 프로필 ID

참고: 카카오톡 채널 프로필 ID 확인 방법
O
talk_idLong카카오톡 채널의 카카오톡 회원번호

제공 조건: 플랫폼 앱이 인하우스 앱인 경우
X
nameString카카오톡 채널 이름O
uuidString카카오톡 채널의 카카오톡 검색용 IDO
  • 파라미터
    • 서비스 앱 키(target_app_key)
    • 요청할 앱 정보(results): 앱의 상세 정보(app_detail)
curl -v -G GET "http://kapi.kakao.com/v3/internal/app" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_key=${SERVICE_APP_KEY}" \
-d "results=app_detail"
  • 파라미터
    • 서비스 앱 ID(target_app_id)
    • 요청할 앱 정보(results): 앱 키(app_key)와 ECP 앱 여부(ecp)
curl -v -G GET "http://kapi.kakao.com/v3/internal/app" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_id=161495" \
-d "results=app_key,ecp"
  • 파라미터
    • 서비스 앱 ID(target_app_id)
    • 요청할 앱 정보(results): 앱에 설정된 카카오톡 채널 정보(kakao_talk_channels)
curl -v -G GET "http://kapi.kakao.com/v3/internal/app" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_id=161495" \
-d "results=kakao_talk_channels"
// HTTP/1.1 200 OK
{
"id": 207967,
"name": "sample app",
"company": "api platform",
"type": "DEFAULT",
"status": "ACTIVE",
"category": "Book_Reference",
"icon_image_url": "http://k.kakaocdn.net/14/dn/ZSf5KJXvyi/ZvvEU1EbnVEJaN8XUiuNC1/o.jpg",
"secure_icon_image_url": "https://k.kakaocdn.net/14/dn/ZSf5KJXvyi/ZvvEU1EbnVEJaN8XUiuNC1/o.jpg",
"user_management": "on"
}
// HTTP/1.1 200 OK
{
"id": 207967,
"name": "sample app",
"company": "api platform",
"type": "DEFAULT",
"status": "ACTIVE",
"category": "Book_Reference",
"owner_developer": {
"id": 132734,
"registered_at": "2021-05-17T05:25:11Z",
"deactivated": false,
"company": "api platform"
},
"app_business_info": {
"biz_app": true,
"biz_plus_friends_app": true
}
}
// HTTP/1.1 200 OK
{
"id": 1059910,
"name": "SixShopECP_emulation",
"company": "식스샵",
"type": "DEFAULT",
"status": "ACTIVE",
"category": "Book_Reference",
"app_key_type": "REST_API_KEY", // 요청 시 전달된 앱 키
"app_key": "${APP_KEY}", // 요청 시 전달된 앱 키 타입
"ecp_type": "ECP_SIXSHOP",
"not_allowed_under14": false
}
  • 요청 시 target_app_key에 JavaScript 키를 전달해 조회 대상인 앱 지정, 응답의 JAVASCRIPT_KEYis_target_app_key_typetrue로 반환
  • 조회 대상 앱의 앱 키 제공을 위한 권한을 보유하고 있어, 요청 시 전달한 JavaScript 키와 함께 REST API 키 정보 추가 제공
// HTTP/1.1 200 OK
{
"id": 1090123,
"name": "Sample",
"company": "SampleCompany",
"type": "KAKAO",
"status": "ACTIVE",
"category": "Book_Reference",
"app_keys": [
{
"app_key": "${APP_KEY}", // 요청 시 전달된 앱 키
"app_key_type": "JAVASCRIPT_KEY", // 요청 시 전달된 앱 키 타입
"is_target_app_key_type": true // 요청 시 전달된 앱 키인지 여부
},
{
"app_key": "${APP_KEY}", // 응답 권한 보유 시 REST API 키 제공
"app_key_type": "REST_API_KEY", // 응답 권한 필요 시 REST API 키 제공
"is_target_app_key_type": false // 요청 시 전달된 앱 키인지 여부
}
]
}
  • 요청 시 target_app_key에 JavaScript 키를 전달해 조회 대상인 앱 지정
  • 조회 대상 앱의 앱 키 제공을 위한 권한 미보유, 요청 시 전달한 JavaScript 키만 응답에 포함
// HTTP/1.1 200 OK
{
"id": 1090123,
"name": "Sample",
"company": "SampleCompany",
"type": "KAKAO",
"status": "ACTIVE",
"category": "Book_Reference",
"app_key_type": "JAVASCRIPT_KEY", // 요청 시 전달된 앱 키 타입
"app_key": "${APP_KEY}" // 요청 시 전달된 앱 키
}
  • 요청 시 target_app_id로 조회 대상인 앱 지정
  • 조회 대상 앱의 앱 키 제공을 위한 권한을 보유하고 있어, 응답에 REST API 키 정보 포함
// HTTP/1.1 200 OK
{
"id": 1090123,
"name": "Sample",
"company": "SampleCompany",
"type": "KAKAO",
"status": "ACTIVE",
"category": "Book_Reference",
"app_key_type": "REST_API_KEY", // 응답 권한 보유 시 REST API 키 제공
"app_key": "${APP_KEY}", // 응답 권한 보유 시 REST API 키 제공
"app_keys": [
{
"app_key": "${APP_KEY}", // 응답 권한 보유 시 REST API 키 제공
"app_key_type": "REST_API_KEY", // 응답 권한 보유 시 REST API 키 제공
"is_target_app_key_type": false // 응답 권한 보유 시 REST API 키 제공
}
]
}
  • 요청 시 target_app_id로 조회 대상인 앱 지정
  • 조회 대상 앱의 앱 키 제공을 위한 권한 미보유, 응답에 앱 키 포함하지 않음
// HTTP/1.1 200 OK
{
"id": 1090123,
"name": "Sample",
"company": "SampleCompany",
"type": "KAKAO",
"status": "ACTIVE",
"category": "Book_Reference"
}
// HTTP/1.1 200 OK
{
"id": 207967,
"name": "sample app",
"company": "api platform",
"type": "DEFAULT",
"status": "ACTIVE",
"category": "Book_Reference",
"user_management": "on",
"app_scopes": [
{
"id": "profile",
"display": "Profile Info(nickname/profile image)",
"scope_type": "PRIVACY",
"required": true,
"collecting": false,
"using": true,
"has_permission": true
},
{
"id": "account_email",
"display": "Email",
"scope_type": "PRIVACY",
"collecting": false,
"using": false,
"has_permission": true
}
],
"app_channel_scopes": [
{
"id": "account_email",
"display": "카카오계정(이메일)",
"scope_type": "PRIVACY",
"required": true,
"using": true,
"collecting": false,
"channel": "bizplugin"
}
]
}
// HTTP/1.1 200 OK
{
"id": 203837,
"name": "sample",
"company": "Kakao Corp.",
"type": "SAMPLE",
"status": "ACTIVE",
"category": "Book_Reference",
"kakao_talk_channels": [
{
"public_id": "_EyL",
"name": "Developers Sample",
"uuid": "@dev_sample",
"talk_id": 212228 // 플랫폼 앱이 인하우스 앱인 경우에만 제공
}
// ...
]
}
// HTTP/1.1 401 Unauthorized
{
"code": -401,
"msg": "no authentication key!"
}
// HTTP/1.1 401 Unauthorized
{
"code": -401,
"msg": "wrong appKey(052c06a5e9fa027f847946e81e4af84d2) format"
}
메서드URL인증 방식
GET카카오
http://kapi.kakao.com/v1/internal/app/plugin
공동체
https://kapi.kakao.com/v1/internal/app/plugin
위임

앱에 설정된 공통플러그인(싱크플러그인, 위치플러그인) 관련 정보를 확인합니다. 이 API는 위임 방식만 지원하며, 요청을 보내는 플랫폼 앱에 API 사용 권한이 필요합니다.

헤더에 플랫폼 앱 어드민 키를 담아 GET으로 요청합니다. target_app_id 파라미터로 조회 대상 서비스 앱을 지정해야 합니다. 성공 시 응답은 해당 앱에 설정된 플러그인과 관련된 정보를 포함합니다. 싱크플러그인을 사용하는 앱일 경우, 싱크플러그인으로 카카오 로그인에 사용되는 redirect_uri 값을 제공합니다. 위치플러그인을 사용하는 앱일 경우, 위치정보제공목적으로 설정된 문구를 제공합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}
인증 방식, 플랫폼 앱 어드민 키로 인증 요청
서비스 앱의 권한을 플랫폼 앱이 위임받아 요청하는 방식으로 내부 API 요청 시 사용 가능
서비스 구분을 위해 서비스 앱의 앱 ID, 앱 키, 토큰 중 하나 파라미터로 전달 필요
O
이름타입설명필수
target_app_idInteger설정된 플러그인을 확인할 서비스 앱 IDO
이름타입설명필수
app_keysMap<String,String>target_app_id에 해당하는 앱의 어드민 키(Admin key)를 제외한 앱 키 목록O
redirect_uriString싱크플러그인을 사용하는 경우 제공하는 정보
카카오 로그인카카오싱크 간편가입 설정이 활성화되어 있고, 카카오싱크 서비스 약관이 등록되어 있는 경우 제공
싱크플러그인으로 카카오 로그인 시 사용되는 redirect_uri 값으로 싱크플러그인 사용 앱에 대해 별도 설정된 값
X
purpose_of_location_provisionString위치플러그인을 사용하는 경우 제공하는 정보
위치정보제공목적으로 설정된 문구
X
  • 파라미터
    • 서비스 앱 ID(target_app_id)
curl -v -G GET "http://kapi.kakao.com/v1/internal/app/plugin" \
-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \
-d "target_app_id=1"
{
"app_keys": {
"JAVASCRIPT_KEY": "${SERVICE_APP_JAVASCRIPT_KEY}",
"REST_API_KEY": "${SERVICE_APP_REST_API_KEY}",
"NATIVE_APP_KEY": "${SERVICE_APP_NATIVE_APP_KEY}"
},
"redirect_uri": "http://dev.kakao.com/oauth",
"purpose_of_location_provision": "위치플러그인테스트"
}
권한사전 설정카카오 로그인동의항목
ECP 제휴사 전용---

카카오싱크 간편 설정을 사용하는 쇼핑몰의 카카오디벨로퍼스 앱 정보를 조회하는 API입니다. 자세한 안내와 예제는 앱 정보 조회 API를 참고합니다.

도움이 되었나요?