사이드 메뉴
커뮤니케이션
API 제공
어드민 API
Legacy REST API
이 문서는 일부 카카오소셜 REST API의 기존 버전 사용 방법을 안내합니다. 이 문서는 예고 없이 변경 또는 삭제될 수 있으므로, 가급적 최신 버전 사용을 권장합니다.
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET/POST | 카카오http://kapi.kakao.com/v1/internal/talk/profiles공동체 https://kapi.kakao.com/v1/internal/talk/profiles | 서비스 앱 어드민 키 위임 |
사용자 여러 명의 카카오톡 프로필을 받습니다. 이 API는 여러 사용자의 카카오톡 프로필을 서비스에서 활용할 때 사용합니다. 예를 들어, 서비스에서 댓글을 단 사용자들의 카카오톡 프로필을 출력하고자 할 때 이 API로 여러 사용자의 카카오톡 프로필 정보를 요청할 수 있습니다.
원하는 인증 정보를 헤더에 담아 GET 또는 POST로 요청하고, 성공 시 대상 사용자들의 카카오톡 프로필 및 카카오톡 회원번호 목록을 받습니다. 응답 중 카카오계정 ID(account_id), 카카오톡 회원번호(talk_user_id)는 권한이 있는 앱에서 요청한 경우에만 응답에 포함됩니다. 응답 제공에 필요한 동의항목을 함께 참고합니다.
이 API의 기본 응답은 멀티 프로필의 영향을 받지 않습니다. 멀티 프로필을 적용한 여러 사용자의 프로필 정보를 요청하려면 viewer_id, viewer_id_type 파라미터로 조회 기준이 될 사용자 ID를 전달해야 합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}인증 방식, 서비스 앱 어드민 키로 인증 요청 | O |
| Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8요청 데이터 타입 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| target_ids | String[] | 카카오톡 프로필을 가져올 사용자 ID 목록 | O |
| target_id_type | String | target_id 타입, 아래 중 하나
| O |
| viewer_id | String | 멀티 프로필이 적용된 응답을 받고자 할 때 조회 기준이 될 사용자 IDtarget_ids의 조회 대상 중에서 viewer_id의 사용자와 친구 관계인 사용자의 프로필 정보 응답에 멀티 프로필 적용 | X |
| viewer_id_type | String | viewer_id 타입, 아래 중 하나
| X |
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}인증 방식, 플랫폼 앱 어드민 키로 인증 요청 서비스 앱의 권한을 플랫폼 앱이 위임받아 요청하는 방식으로 내부 API 요청 시 사용 가능 서비스 구분을 위해 서비스 앱의 앱 ID, 앱 키, 토큰 중 하나 파라미터로 전달 필요 | O |
| Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8요청 데이터 타입 | O |
- 요청 대상 사용자를 어떤 파라미터로 지정하는지에 따라 필수 파라미터 구성이 달라집니다.
- 서비스 앱 키:
target_app_key,target_ids,target_id_type - 서비스 앱 ID:
target_app_id,target_ids,target_id_type
- 서비스 앱 키:
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| target_app_key | String | 사용자 카카오톡 프로필을 가져올 서비스 앱의 키 | O(Optional) |
| target_app_id | Integer | 사용자 카카오톡 프로필을 가져올 서비스 앱의 ID | O(Optional) |
| target_ids | String[] | 카카오톡 프로필을 가져올 사용자 ID 목록 | O |
| target_id_type | String | target_id 타입, 아래 중 하나
| O |
| viewer_id | String | 멀티 프로필이 적용된 응답을 받고자 할 때 조회 기준이 될 사용자 ID, target_ids의 조회 대상 중에서 viewer_id의 사용자와 친구 관계인 사용자의 프로필 정보 응답에 멀티 프로필 적용 | X |
| viewer_id_type | String | viewer_id 타입, 아래 중 하나
| X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| - | TalkProfileInfo[] | 카카오톡 프로필 목록 중요: target_ids로 요청 시 target_id가 유효한 사용자의 프로필 정보만 포함 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| user_id | Long | 회원번호 | O |
| account_id | Integer | 카카오계정 ID 제공 조건: 카카오계정 ID 응답 권한 보유 | X |
| talk_user_id | Long | 카카오톡 회원번호 제공 조건: 카카오톡 회원번호(talk_id) 응답 권한 보유 | X |
| nickname | String | 카카오톡 프로필 닉네임 필요한 동의항목: 닉네임 또는 프로필 정보(닉네임/프로필 사진) | X |
| profile_image | String | 카카오톡 프로필 사진 필요한 동의항목: 프로필 사진 또는 프로필 정보(닉네임/프로필 사진) | X |
| thumbnail_image | String | 카카오톡 프로필 썸네일 이미지 필요한 동의항목: 프로필 사진 또는 프로필 정보(닉네임/프로필 사진) 참고: 프로필 변경 시 기존 프로필 이미지 URL 삭제 처리 | X |
| country_iso | String | 카카오톡 전화번호의 국가 코드 | X |
요청: 서비스 앱 어드민 키 방식
- 파라미터
- 사용자 ID 목록(
target_ids) - 사용자 ID 타입(
target_id_type): 카카오계정 ID(account_id)
- 사용자 ID 목록(
curl -v --get 'http://kapi.kakao.com/v1/internal/talk/profiles?target_id_type=account_id' \--data-urlencode 'target_ids=["200513","200937"]' \-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}"
응답
// HTTP/1.1 200 OK[{"user_id": 1376012345429922124,"account_id": 200513, // 권한 필요"talk_user_id": 30173, // 권한 필요"nickname": "무지","profile_image": "http://th-p.talk.kakao.co.kr/th/talkp/wkaIAOG3vK/PvT4raoSWPAq9Ds46kBSH0/q1ijr8_640x640_s.jpg","thumbnail_image": "http://th-p.talk.kakao.co.kr/th/talkp/wkaIAOG3vK/PvT4raoSWPAq9Ds46kBSH0/q1ijr8_110x110_c.jpg","country_iso": "KR"},{"user_id": 1376016924429912345,"account_id": 200937, // 권한 필요"talk_user_id": 85376, // 권한 필요"nickname": "어피치","profile_image": "http://th-p.talk.kakao.co.kr/th/talkp/wkaIC6OBUU/RK2hEsg9W8FgVvbJpZ05hK/b3f84m_640x640_s.jpg","thumbnail_image": "http://th-p.talk.kakao.co.kr/th/talkp/wkaIC6OBUU/RK2hEsg9W8FgVvbJpZ05hK/b3f84m_110x110_c.jpg","country_iso": "KR"}]
응답: 닉네임 동의항목만 필수 설정했거나, 사용자가 닉네임에만 동의한 경우
// HTTP/1.1 200 OK[{"user_id": 1376012345429922124,"account_id": 200513, // 권한 필요"talk_user_id": 30173, // 권한 필요"nickname": "무지","country_iso": "KR"}// ...]
응답: 일부 사용자 프로필 조회에 실패한 경우
- 2명의 사용자를 대상으로 요청했으나, 한 명의
target_id가 유효하지 않아 나머지 한 명의 프로필 정보만 반환
// HTTP/1.1 200 OK[{"user_id": 1376016924429922124,"nickname": "춘식이","profile_image": "https://p.kakaocdn.net/th/talkp/wkaIC6OBUU/RK2hEsg9W8FgVvbJpZ05hK/b3f84m_640x640_s.jpg","thumbnail_image": "https://p.kakaocdn.net/th/talkp/wkaIC6OBUU/RK2hEsg9W8FgVvbJpZ05hK/b3f84m_110x110_c.jpg","country_iso": "KR"}]
응답: 모든 사용자 프로필 조회에 실패한 경우
- 여러 명의 사용자를 대상으로 요청했으나, 모든
target_id가 유효하지 않아 빈 배열 반환
// HTTP/1.1 200 OK[]