사이드 메뉴
커뮤니케이션
API 제공
어드민 API
Legacy REST API
이 문서는 일부 카카오계정 관리 REST API의 기존 버전 사용 방법을 안내합니다. 이 문서는 예고 없이 변경 또는 삭제될 수 있으므로, 가급적 최신 버전 사용을 권장합니다.
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | 카카오http://kapi.kakao.com/v2/internal/account/users공동체 https://kapi.kakao.com/v2/internal/account/users | 서비스 앱 어드민 키 |
카카오계정에 연결된 활성화 상태의 앱 목록과 각각의 앱 정보를 가져옵니다. 이 API는 카카오계정 시스템이 아래와 같은 용도로 사용합니다.
- 연결된 서비스 관리의 연결된 앱 및 동의 정보 제공
- 카카오계정 탈퇴 시, 아래 기능을 수행하기 위해 연결된 앱 정보 확인
- 각 앱의 카카오계정 탈퇴 불가 사유 확인
- 탈퇴 후 카카오계정으로 이용할 수 없는 서비스(앱) 안내
헤더에 카카오계정 시스템 앱의 어드민 키를 담아 GET으로 요청합니다. 요청 시 조회 대상 카카오계정 ID를 전달해야 합니다. results에 요청할 추가 정보를 지정할 수 있습니다.
요청 성공 시 응답은 카카오계정에 연결된 앱 정보 배열, 결과 수가 포함된 JSON 객체입니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}인증 방식, 서비스 앱 어드민 키로 인증 요청 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| account_id | Integer | 카카오계정 ID | O |
| app_id | Integer | 앱 ID 특정 앱 정보만 조회하고자 할 경우 사용 | X |
| results | String | 연결된 앱의 추가 정보 요청, 지정하지 않을 경우 연결된 앱의 기본 정보(RegisteredAppInfoDefault)만 응답에 포함 전달한 키 값에 따라 응답 구성 다름(RegisteredAppInfoDetails 참고) 아래 값 사용, 여러 개의 정보 요청 시 쉼표(,)로 구분 agreed_scopes: 동의한 동의항목 정보purpose: 개인정보 제공 목적 문구 모음allowed_msg: 프로필 공개 설정 여부registered_app.execution_url: 연결된 앱의 실행 URL, Android/iOS 스토어 URL, 개인정보 처리방침 URLregistered_app.kakao_biz_service: 연결된 앱의 비즈앱 여부service_terms: 사용자가 동의한 서비스 약관 목록, [연결된 서비스 관리] 내 서비스 약관 표시 권한 필요 | X |
| from_id | Long | 회원번호 조회 범위 시작 값 각 앱에서의 카카오계정 회원번호가 order 값에 따라 from_id 이상 또는 이하인 경우만 응답에 포함되도록 조회 범위 설정 가능 | X |
| limit | Integer | 페이지당 결과 수, 삭제된 앱은 결과에 포함되지 않아 실제 응답 수는 요청 값보다 적을 수 있음 | X |
| order | Integer | 회원번호 정렬 순서, 아래 중 하나
| X |
| locale | String | 응답 언어 응답의 동의항목 이름( agreed_scopes.display), 개인정보 제공 목적(purpose), 서비스 약관 목록(service_terms)을 특정 언어로 제공받고자 할 때 사용, 아래 중 하나
EN) | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| elements | JSON[] | 연결된 앱 목록과 각 앱 정보를 담은 배열results 값에 따라 아래 객체의 배열로 구성됨results 미사용: RegisteredAppInfoDefault results 사용: RegisteredAppInfoDetails | O |
| total_count | Integer | 카카오계정과 연결된 앱 수, 삭제된 앱은 결과에 포함되지 않아 실제 응답 수는 요청 값보다 적을 수 있음 | O |
| before_url | String | 이전 페이지 요청 URL | X |
| after_url | String | 다음 페이지 요청 URL | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| user_id | Long | 회원번호 | O |
| registered_at | String | 연결 시각, RFC3339 internet date/time 형식 | O |
| registered_app | RegisteredAppDefault | 연결된 앱 정보 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| id | Integer | 앱 ID | O |
| name | String | 앱 이름 | O |
| company | String | 회사명 | O |
| type | String | 앱 타입 | O |
| category | String | 앱 카테고리 | O |
| secure_icon_image_url | String | 앱 아이콘 이미지 URL, HTTPS | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| user_id | Long | 회원번호 | O |
| registered_at | String | 연결 시각, RFC3339 internet date/time 형식 | O |
| registered_app | RegisteredAppDetails | 연결된 앱 정보 | O |
| agreed_scopes | AgreedScope[] | 동의한 동의항목 정보 중요: results에 agreed_scopes가 포함된 경우만 응답에 포함 | X |
| service_terms | ServiceTerms[] | 사용자가 동의한 서비스 약관 목록 중요: results에 service_terms가 포함된 경우만 응답에 포함 | X |
| purpose | JSON | 개인정보 제공 목적 문구 모음, 키와 값의 쌍으로 구성 동의 목적은 그룹 형태로 묶여 있으며, 각 그룹의 키와 값 제공 중요: results에 purpose가 포함된 경우만 응답에 포함 | X |
| allowed_msg | Boolean | 프로필 공개 설정
중요: results에 allowed_msg가 포함된 경우만 응답에 포함참고: 카카오톡 메시지 API 사용 권한이 있고, [카카오톡 메시지 전송] 동의항목 사용 중인 앱의 정보에만 포함 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| id | Integer | 앱 ID | O |
| name | String | 앱 이름 | O |
| company | String | 회사명 | O |
| type | String | 앱 타입 참고: 앱 타입 | O |
| category | String | 앱 카테고리 | O |
| secure_icon_image_url | String | 앱 아이콘 이미지 URL, HTTPS | O |
| privacy_policy_url | String | 개인정보 처리방침 URL 중요: results에 registered_app.execution_url 포함 및 앱에 개인정보 처리방침 URL이 등록된 경우만 응답에 포함 | X |
| execution_url | ExcutionUrl[] | 실행 URL 중요: results에 registered_app.execution_url이 포함된 경우만 응답에 포함 | X |
| market_url | MarketUrl[] | Android/iOS 스토어 URL 중요: results에 registered_app.execution_url이 포함된 경우만 응답에 포함 | X |
| kakao_biz_service | Boolean | 비즈앱 여부 중요: results에 registered_app.kakao_biz_service가 포함된 경우만 응답에 포함 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| id | String | 동의항목 ID | O |
| display | String | 동의항목 이름 | O |
| scope_type | String | 동의항목 타입, 아래 중 하나
| O |
| required | Boolean | 필수 동의항목 여부 | O |
| scope_detail_url | String | 동의 전문 URL, 동의 전문이 있는 경우에만 제공id가 digital_card인 경우, 소유한 디지털 카드 목록 페이지 URL | X |
| display_group | String | 동의항목 노출 영역 중요: results에 purpose가 포함된 경우만 응답에 포함 | X |
| purpose_group | String | 동의 목적 그룹 중요: results에 purpose가 포함된 경우만 응답에 포함 | X |
| disable_revoke_button | Boolean | id가 digital_card인 경우, 동의 철회 버튼 미노출 여부
| X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| tag | String | 서비스 약관에 설정된 태그(Tag) | O |
| display | String | 서비스 약관 제목locale 값에 따라 다국어 번역문으로 응답(기본값: 영어) | O |
| required | Boolean | 서비스 약관의 필수 동의 여부
| O |
| agreed_at | Datetime | 사용자가 해당 약관에 마지막으로 동의한 시간 (RFC3339 internet date/time format) | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| platform | String | 플랫폼 이름, 아래 중 하나
| O |
| pkgnames | String[] | 패키지 이름 목록 중요: platform이 android인 경우에만 제공 | X |
| url | String | 앱 실행 URL 중요: platform이 ios인 경우에만 제공 | X |
| urls | String[] | 웹 또는 앱 실행 URL 목록 중요: platform이 web인 경우에만 제공 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| platform | String | 플랫폼 이름 | O |
| url | String | 스토어 URL 중요: platform이 ios인 경우에만 제공 | X |
| urls | String[] | 스토어 URL 중요: platform이 android인 경우에만 제공 | X |
요청: 서비스 앱 어드민 키 방식, 기본 정보
- 파라미터
- 카카오계정 ID(
account_id) - 페이지당 결과 수(
limit) - 정렬 기준(
order): 내림차순(desc) - 응답 언어(
locale): 한국어(KO)
- 카카오계정 ID(
curl -v -G GET "http://kapi.kakao.com/v2/internal/account/users" \-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \-d "account_id=708081" \-d "limit=3" \-d "order=desc" \-d "locale=KO"
요청: 서비스 앱 어드민 키 방식, 추가 정보
- 파라미터
- 카카오계정 ID(
account_id) - 정렬 기준(
order): 내림차순(desc) - 추가 정보 요청(
results):agreed_scopes,purpose,allowed_msg,registered_app.execution_url,registered_app.kakao_biz_service,service_terms - 응답 언어(
locale): 한국어(KO)
- 카카오계정 ID(
curl -v -G GET "http://kapi.kakao.com/v2/internal/account/users" \-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \-d "account_id=708081" \-d "order=desc" \-d "results=agreed_scopes,purpose,allowed_msg,registered_app.execution_url,registered_app.kakao_biz_service,service_terms" \-d "locale=KO"
응답: 기본 정보
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"elements": [{"user_id": 1376016924431138000,"registered_at": "2023-07-04T07:11:52Z","registered_app": {"id": 1167723,"name": "TEST_NAME","company": "TEST_COMPANY","type": "TEST","category": "Book_Reference","secure_icon_image_url": "https://k.kakaocdn.net/14/dn/ZSdVOOpn0s/TPwVXsol2dfJiQsGeJG8pk/o.jpg"}}// ...],"total_count": 13,"after_url": "http://kapi.kakao.com/v2/internal/account/users?account_id=708081&app_key=${SERVICE_APP_ADMIN_KEY}&from_id=1376016924430247185&order=desc"}
응답: 추가 정보
// HTTP/1.1 200 OK// Content-Type: application/json;charset=UTF-8{"elements": [{"user_id": 1376016924430613923,"registered_at": "2023-03-22T04:59:33Z","agreed_scopes": [{"id": "profile_nickname","display": "닉네임","scope_type": "PRIVACY","required": true,"display_group": "DG1","purpose_group": ["PG0", "PG1"]},{"id": "friends","display": "카카오 서비스 내 친구목록(프로필사진, 닉네임, 즐겨찾기 포함)","scope_type": "PRIVACY","required": false,"display_group": "DG1","purpose_group": ["PG0", "PG3"]},{"id": "account_email","display": "카카오계정(이메일)","scope_type": "PRIVACY","required": false,"display_group": "DG1","purpose_group": ["PG0", "PG1"]}// ...],"service_terms": [{"tag": "TEST_TAG_REQUIRED","display": "서비스 이용약관","required": true,"agreed_at": "2023-07-04T07:11:52Z"},{"tag": "TEST_TAG_OPTIONAL","display": "서비스 이용약관 2","required": false,"agreed_at": "2023-07-04T07:11:52Z"}// ...],"purpose": {"PG0": "서비스 내 이용자 식별","PG1": "회원관리 및 서비스 제공","PG3": "소셜활동"// ...},"registered_app": {"id": 1159109,"name": "Sample","company": "SampleCompany","type": "DEFAULT","category": "None","secure_icon_image_url": "https://k.kakaocdn.net/14/dn/ZSlX5IcZ6t/bNbhEAgO5CEGrW2jN3j8s0/o.jpg","execution_url": [{"platform": "android","pkgnames": ["com.example.sample"]},{"platform": "iOS","url": "kakaoa72648e261bad6a2cd267dcf141697a3://"},{"platform": "web","urls": ["https://developers.kakao.com", "https://developers.kakao.com"]}],"market_url": [{"platform": "android","urls": ["market://details?id=com.example.sample"]},{"platform": "iOS","url": "https://itunes.apple.com/app/id123456"},{"platform": "iPad","url": "https://itunes.apple.com/app/id123456"}]}}// ...],"total_count": 12,"after_url": "http://kapi.kakao.com/v2/internal/account/users?account_id=2137162&from_id=1376016924429958783&locale=KO&results=agreed_scopes%2Cpurpose%2Callowed_msg%2Cregistered_app.execution_url%2Cregistered_app.kakao_biz_service%2Cservice_terms&order=desc"}