사이드 메뉴
커뮤니케이션
API 제공
어드민 API
REST API
이 문서는 특정 서비스를 위한 REST API 사용 방법을 안내합니다.
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | 카카오http://kapi.kakao.com/v1/internal/payment/statistics공동체 https://kapi.kakao.com/v1/internal/payment/statistics | 액세스 토큰 서비스 앱 어드민 키 |
특정 사용자의 카카오 서비스별 결제 및 이용 통계 데이터를 조회합니다. 이 API는 지정된 사용자의 최근 90일 서비스별 결제 및 이용 정보를 기간 단위로 집계해 제공합니다. 제공하는 데이터의 상세 구성은 아래와 같습니다.
| 분류 | 상세 |
|---|---|
| 집계 기간 | 최근 7일 최근 30일 최근 90일 |
| 정보 종류 | 이용 통계 정보: 접속 일수(visit_count)결제 관련 통계 정보: 결제 횟수( payment_count), 결제 금액(payment_amount), 결제 일수(payment_days) |
| 조회 대상 서비스 | 이용 통계 정보: 이모티콘, 카카오 선물하기, 카카오맵, 다음 뉴스, 다음 검색 결제 관련 통계 정보: 이모티콘, 카카오 선물하기, 카카오쇼핑하기 |
원하는 인증 정보를 헤더에 담아 GET으로 요청합니다. 요청 성공 시 응답은 사용자의 서비스별 결제 통계 데이터를 집계 기간, 종류별로 포함합니다. 값이 0인 필드는 응답에 포함되지 않으며, 모든 하위 필드의 값이 0인 상위 필드 또한 응답에 포함되지 않습니다.
참고: 목업(Mock-up) 데이터
알파, 샌드박스 페이즈(Phase)는 통계 데이터가 존재하지 않아, 실제 응답과 동일한 구조의 목업 데이터를 대신 제공합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: Bearer ${ACCESS_TOKEN}인증 방식, 액세스 토큰으로 인증 요청 | O |
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}인증 방식, 서비스 앱 어드민 키로 인증 요청 | O |
| Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8요청 데이터 타입 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| target_id | String | 결제 통계 데이터를 가져올 사용자 ID | O |
| target_id_type | String | target_id 타입, 아래 중 하나
| O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| id | Integer | 회원번호 | O |
| account_id | Integer | 카카오계정 ID 제공 조건: 카카오계정 ID 응답 권한 보유 | X |
| visit_count | VisitCount | 서비스별 접속 일수 | X |
| payment_count | PaymentCount | 서비스별 결제 횟수 | X |
| payment_amount | PaymentAmount | 서비스별 결제 금액 합계 | X |
| payment_days | PaymentDays | 서비스별 결제 일수 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| last_7_days | ServiceVisitInfo | 최근 7일 서비스별 접속 일수 | X |
| last_30_days | ServiceVisitInfo | 최근 30일 서비스별 접속 일수 | X |
| last_90_days | ServiceVisitInfo | 최근 90일 서비스별 접속 일수 | X |
- 뉴티아라 데이터 기준으로 집계된 서비스별 접속 일수
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| emoticon | Integer | 해당 기간 이모티콘 접속 일수 | X |
| gift | Integer | 해당 기간 카카오 선물하기 접속 일수 | X |
| map | Integer | 해당 기간 카카오맵 접속 일수 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| last_7_days | ServicePaymentInfo | 최근 7일 서비스별 결제 금액 합계 | X |
| last_30_days | ServicePaymentInfo | 최근 30일 서비스별 결제 금액 합계 | X |
| last_90_days | ServicePaymentInfo | 최근 90일 서비스별 결제 금액 합계 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| last_7_days | ServicePaymentInfo | 최근 7일 서비스별 결제 횟수 | X |
| last_30_days | ServicePaymentInfo | 최근 30일 서비스별 결제 횟수 | X |
| last_90_days | ServicePaymentInfo | 최근 90일 서비스별 결제 횟수 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| last_7_days | ServicePaymentInfo | 최근 7일 서비스별 결제 일수 | X |
| last_30_days | ServicePaymentInfo | 최근 30일 서비스별 결제 일수 | X |
| last_90_days | ServicePaymentInfo | 최근 90일 서비스별 결제 일수 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| emoticon | Integer | 해당 기간 이모티콘 통계 각 상위 필드에 해당하는 데이터 제공 (예: 상위 필드가 payment_days인 경우, 이모티콘 결제 일수) | X |
| gift | Integer | 해당 기간 카카오 선물하기 통계 각 상위 필드에 해당하는 데이터 제공 (예: 상위 필드가 payment_amount인 경우, 카카오 선물하기 결제 금액 합계) | X |
| talk_store | Integer | 해당 기간 카카오쇼핑하기 통계 각 상위 필드에 해당하는 데이터 제공 (예: 상위 필드가 payment_count인 경우, 카카오쇼핑하기 결제 횟수) | X |
요청: 액세스 토큰 방식
- 파라미터: 없음
curl -v -G GET "http://kapi.kakao.com/v1/internal/payment/statistics" \-H "Authorization: Bearer ${ACCESS_TOKEN}"
요청: 서비스 앱 어드민 키 방식
- 파라미터
- 사용자 ID(
target_id) - 사용자 ID 타입(
target_id_type): 회원번호(user_id)
- 사용자 ID(
curl -v -G GET "http://kapi.kakao.com/v1/internal/payment/statistics" \-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \-d "target_id=2137162" \-d "target_id_type=user_id"
응답
// HTTP/1.1 200 OK{"id": 1376016924429759243,"account_id": 2137162,"visit_count": {"last_90_days": {"gift": 6,"map": 3}},"payment_count": {"last_7_days": {"gift": 1},"last_30_days": {"gift": 3,"talk_store": 1},"last_90_days": {"gift": 10,"talk_store": 5}},"payment_amount": {"last_7_days": {"gift": 24900},"last_30_days": {"gift": 49500,"talk_store": 16000},"last_90_days": {"gift": 155300,"talk_store": 96670}},"payment_days": {"last_7_days": {"gift": 1},"last_30_days": {"gift": 2,"talk_store": 1},"last_90_days": {"gift": 8,"talk_store": 4}}}
응답: 일부 데이터 미제공
- 사용자가 필요한 동의항목 중 [최근 90일의 카카오 서비스 이용 통계 정보(서비스별 접속 일수)]만 동의한 경우
- 사용자 동의가 필요한
payment_days,payment_amount,payment_count필드를 제외하고 응답 제공
// HTTP/1.1 200 OK{"id": 1376016924429759243,"account_id": 2137162,"visit_count": {"last_90_days": {"gift": 6,"map": 3}}}
응답: 실패, 연결되지 않은 사용자
// HTTP/1.1 400 Bad Request{"msg": "NotRegisteredUserException","code": -101}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | 카카오http://kapi.kakao.com/v2/user/gift_purchase_history공동체 https://kapi.kakao.com/v2/user/gift_purchase_history | 서비스 앱 어드민 키 |
| 데이터 | 동의항목 |
|---|---|
| 카카오 선물하기 서비스 최근 12개월 이용 정보: 상품유형, 구매 횟수/목적/시간/금액, 환불/취소 횟수, 지불방법, 선물 수신/발신자 수 중요: 카카오쇼핑 앱과 연결(가입)된 사용자인 경우에만 데이터 제공 | 카카오 선물하기 서비스의 최근 12개월 이용정보(상품유형, 구매 횟수/목적/시간/금액, 환불/취소 횟수, 지불방법, 선물 수신/발신자 수 등) |
사용자의 최근 12개월간 카카오 선물하기 서비스 이용 내역을 조회합니다. 제공하는 데이터는 위 필요한 동의항목 표를 참고합니다.
서비스 앱 어드민키를 헤더에 담아 GET으로 요청합니다. 이 API는 사용 협의 시 등록한 카카오뱅크의 전용망을 이용해 HTTPS로 요청해야 합니다.
요청 성공 시 사용자의 최근 12개월 카카오 선물하기 서비스 이용 내역 데이터를 받습니다. 이 API는 요청 시점에서 사용자가 각 조회 대상 서비스를 이용해 해당 서비스 앱과 연결(가입)되어 있고, 서비스별 필요한 동의항목에 동의한 경우에만 데이터를 제공합니다. 사용자가 이용하지 않는 서비스이거나 제공에 동의하지 않은 데이터는 응답에 포함되지 않습니다.
참고: API 변경 사항
2022년 10월 14일부터 카카오 서비스 이용 내역 조회 API가 카카오 선물하기 서비스 이용 내역 조회, 카카오T 서비스 이용 내역 조회로 나뉘어 제공됩니다. 기존 버전 API인 /v1/account/service_purchase_history의 정보는 별도 문서에서 확인할 수 있습니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}인증 방식, 서비스 앱 어드민 키로 인증 요청 | O |
| Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8요청 데이터 타입 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| target_id | String | 카카오 서비스 이용 내역을 조회할 사용자의 카카오계정 ID | O |
| target_id_type | String | target_id 타입카카오계정 ID( account_id)로 고정참고: ID 종류 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ACCOUNT_ID | String | 카카오 사용자의 카카오계정 ID | O |
| DATA_AGREE | Integer | 카카오 선물하기 데이터 동의여부
| O |
| KKC000006 | Integer | 최근 6개월 구매건수 | X |
| KKC000007 | Integer | 최근 12개월 구매건수 | X |
| KKC000008 | Integer | 최근 6개월 구매건수 모바일교환권(카페) | X |
| KKC000030 | Integer | 최근 6개월 00:00~03:59(KST) 구매건수 | X |
| KKC000031 | Integer | 최근 6개월 12:00~15:59(KST) 구매건수 | X |
| KKC000032 | Integer | 최근 6개월 20:00~23:59(KST) 구매건수 | X |
| KKC000033 | Integer | 최근 6개월 08:00~11:59(KST) 구매건수 | X |
| KKC000035 | Integer | 최근 6개월 나에게 선물한 건수 | X |
| KKC000036 | Integer | 최근 12개월 나에게 선물한 건수 | X |
| KKC000038 | Integer | 최근 6개월 남에게 선물한 건수 | X |
| KKC000039 | Integer | 최근 12개월 남에게 선물한 건수 | X |
| KKC000063 | Integer | 최근 6개월 선물한 사람 수 | X |
| KKC000064 | Integer | 최근 12개월 선물한 사람 수 | X |
| KKC000066 | Integer | 최근 6개월 나에게 선물한 사람 수 | X |
| KKC000067 | Integer | 최근 12개월 나에게 선물한 사람 수 | X |
| KKC000069 | Integer | 최근 6개월 결제금액 | X |
| KKC000070 | Integer | 최근 12개월 결제금액 | X |
| KKC000071 | Integer | 최근 6개월 최대 결제금액 | X |
| KKC000072 | Integer | 최근 6개월 최소 결제금액 | X |
| KKC000073 | Integer | 최근 6개월 결제금액, 모바일교환권(카페) | X |
| KKC000095 | Integer | 최근 6개월 구매건수, 01: 휴대전화 결제 | X |
| KKC000096 | Integer | 최근 6개월 구매건수, 02: 신용카드 | X |
| KKC000097 | Integer | 최근 6개월 구매건수, 07: 카드 간편결제 | X |
| KKC000098 | Integer | 최근 6개월 구매건수, 09: 카카오머니 결제 | X |
| KKC000099 | Integer | 최근 6개월 구매건수, 12: 카카오 포인트 | X |
| KKC000108 | Integer | 최근 6개월 취소건수 | X |
| KKC000109 | Integer | 최근 12개월 취소건수 | X |
| KKC000116 | Integer | 최근 6개월 환불건수 | X |
| KKC000117 | Integer | 최근 12개월 환불건수 | X |
예제
요청: 서비스 앱 어드민 키 방식
- 파라미터
- 사용자 ID(
target_id) - 사용자 ID 타입(
target_id_type): 카카오계정 ID(account_id)
- 사용자 ID(
curl -v -G GET "https://kapi.kakao.com/v2/user/gift_purchase_history" \-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \-d "target_id=${ACCOUNT_ID}" \-d "target_id_type=account_id"
응답
// HTTP/1.1 200 OK{"ACCOUNT_ID": 7234535,"DATA_AGREE": 1,"KKC000006": 4,"KKC000007": 22,"KKC000008": null,"KKC000030": 2,"KKC000031": 1,"KKC000032": null,"KKC000033": 1,"KKC000035": 3,"KKC000036": 6,"KKC000038": 1,"KKC000039": 16,"KKC000063": 1,"KKC000064": 15,"KKC000066": 4,"KKC000067": 14,"KKC000069": 116800,"KKC000070": 802600,"KKC000071": 44000,"KKC000072": 17900,"KKC000073": null,"KKC000095": null,"KKC000096": null,"KKC000097": 3,"KKC000098": 1,"KKC000099": null,"KKC000108": 1,"KKC000109": 2,"KKC000116": 7,"KKC000117": 11}
응답
- 카카오 선물하기 미사용자인 경우
- 사용자가 필요한 동의항목에 동의하지 않은 경우
// HTTP/1.1 200 OK{"ACCOUNT_ID": 7072935,"DATA_AGREE": 0,"KKC000006": null,"KKC000007": null,"KKC000008": null,"KKC000030": null,"KKC000031": null,"KKC000032": null,"KKC000033": null,"KKC000035": null,"KKC000036": null,"KKC000038": null,"KKC000039": null,"KKC000063": null,"KKC000064": null,"KKC000066": null,"KKC000067": null,"KKC000069": null,"KKC000070": null,"KKC000071": null,"KKC000072": null,"KKC000073": null,"KKC000095": null,"KKC000096": null,"KKC000097": null,"KKC000098": null,"KKC000099": null,"KKC000108": null,"KKC000109": null,"KKC000116": null,"KKC000117": null}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | 카카오http://kapi.kakao.com/v2/user/taxi_purchase_history공동체 https://kapi.kakao.com/v2/user/taxi_purchase_history | 서비스 앱 어드민 키 |
| 데이터 | 동의항목 |
|---|---|
| 카카오 T 최근 6개월 탑승 정보: 카카오 T 가입 일시(연결 시각), 택시 서비스 유형별 탑승 횟수, 택시 서비스 유형별 예상 요금 합계, 미수금 존재 여부 중요: 카카오 T 앱과 연결(가입)된 사용자인 경우에만 데이터 제공 | 카카오택시 최근 6개월 탑승정보(탑승횟수, 예상금액 등) |
사용자의 최근 6개월간 카카오T 서비스 이용 내역을 조회합니다. 제공하는 데이터는 위 필요한 동의항목 표를 참고합니다.
서비스 앱 어드민키를 헤더에 담아 GET으로 요청합니다. 이 API는 사용 협의 시 등록한 카카오뱅크의 전용망을 이용해 HTTPS로 요청해야 합니다.
요청 성공 시 사용자의 최근 6개월 카카오T 서비스 이용 내역 데이터를 받습니다. 이 API는 요청 시점에서 사용자가 각 조회 대상 서비스를 이용해 해당 서비스 앱과 연결(가입)되어 있고, 서비스별 필요한 동의항목에 동의한 경우에만 데이터를 제공합니다. 사용자가 이용하지 않는 서비스이거나 제공에 동의하지 않은 데이터는 응답에 포함되지 않습니다.
참고: API 변경 사항
2022년 10월 14일부터 카카오 서비스 이용 내역 조회 API가 카카오 선물하기 서비스 이용 내역 조회, 카카오T 서비스 이용 내역 조회로 나뉘어 제공됩니다. 기존 버전 API인 /v1/account/service_purchase_history의 정보는 별도 문서에서 확인할 수 있습니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}인증 방식, 서비스 앱 어드민 키로 인증 요청 | O |
| Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8요청 데이터 타입 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| target_id | String | 카카오 서비스 이용 내역을 조회할 사용자의 카카오계정 ID | O |
| target_id_type | String | target_id 타입카카오계정 ID( account_id)로 고정참고: ID 종류 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ACCOUNT_ID | String | 카카오 사용자의 카카오계정 ID | O |
| DATA_AGREE | Integer | 택시 데이터 동의 여부
| O |
| CREATED_AT | Integer | 제공된 데이터의 배치(Batch) 성공 시점, 유닉스 타임스탬프 형식 | X |
| MOB000001 | Integer | 최근 6개월 내 택시 또는 대리 이용실적 유무
| X |
| MOB000002 | Integer | 가입일자, 유닉스 타임스탬프 형식 | X |
| MOB000007 | Integer | 6개월 택시 B2C 벤티서비스 결제발생건수(운임) | X |
| MOB000008 | Integer | 6개월 택시 B2C 스마트호출서비스 결제발생건수(운임) | X |
| MOB000010 | Integer | 6개월 택시 B2C 06:00~11:00(KST) 결제발생건수(운임) | X |
| MOB000011 | Integer | 6개월 택시 B2C 12:00~17:00(KST) 결제발생건수(운임) | X |
| MOB000012 | Integer | 6개월 택시 B2C 18:00~23:00(KST) 결제발생건수(운임) | X |
| MOB000013 | Integer | 6개월 택시 B2C 00:00~05:00(KST) 결제발생건수(운임) | X |
| MOB000025 | Integer | 6개월 택시 B2C 전체서비스 총 운임 | X |
| MOB000027 | Integer | 6개월 택시 B2C 모범서비스 총 운임 | X |
| MOB000028 | Integer | 6개월 택시 B2C 블랙서비스 총 운임 | X |
| MOB000032 | Integer | 6개월 택시 B2C 06:00~11:00(KST) 총 운임 | X |
| MOB000033 | Integer | 6개월 택시 B2C 12:00~17:00(KST) 총 운임 | X |
| MOB000034 | Integer | 6개월 택시 B2C 18:00~23:00(KST) 총 운임 | X |
| MOB000035 | Integer | 6개월 택시 B2C 00:00~05:00(KST) 총 운임 | X |
| MOB000037 | Integer | 6개월 택시 B2C 주말 총 운임 | X |
| MOB000050 | Integer | 6개월 택시 B2C 결제취소건수 | X |
| MOB000056 | Integer | 6개월 택시 B2C 전체서비스 운행완료건수 | X |
| MOB000060 | Integer | 6개월 택시 B2C 벤티서비스 운행완료건수 | X |
| MOB000063 | Integer | 6개월 택시 B2C 06:00~11:00(KST) 운행완료건수 | X |
| MOB000065 | Integer | 6개월 택시 B2C 18:00~23:00(KST) 운행완료건수 | X |
| MOB000066 | Integer | 6개월 택시 B2C 00:00~05:00(KST) 운행완료건수 | X |
| MOB000067 | Integer | 6개월 택시 B2C 주중 운행완료건수 | X |
| MOB000068 | Integer | 6개월 택시 B2C 주말 운행완료건수 | X |
| MOB000078 | Integer | 3개월 택시 B2C 전체서비스 결제발생건수(운임) | X |
| MOB000089 | Integer | 3개월 택시 B2C 주중 결제발생건수(운임) | X |
| MOB000090 | Integer | 3개월 택시 B2C 주말 결제발생건수(운임) | X |
| MOB000100 | Integer | 3개월 택시 B2C 전체서비스 총운임 | X |
| MOB000101 | Integer | 3개월 택시 B2C 일반서비스 총운임 | X |
| MOB000104 | Integer | 3개월 택시 B2C 벤티서비스 총운임 | X |
| MOB000107 | Integer | 3개월 택시 B2C 06:00~11:00(KST) 총운임 | X |
| MOB000108 | Integer | 3개월 택시 B2C 12:00~17:00(KST) 총운임 | X |
| MOB000109 | Integer | 3개월 택시 B2C 18:00~23:00(KST) 총운임 | X |
| MOB000110 | Integer | 3개월 택시 B2C 00:00~05:00(KST) 총운임 | X |
| MOB000111 | Integer | 3개월 택시 B2C 주중 총운임 | X |
| MOB000112 | Integer | 3개월 택시 B2C 주말 총운임 | X |
| MOB000131 | Integer | 3개월 택시 B2C 전체서비스 운행완료건수 | X |
| MOB000132 | Integer | 3개월 택시 B2C 일반서비스 운행완료건수 | X |
| MOB000138 | Integer | 3개월 택시 B2C 06:00~11:00(KST) 운행완료건수 | X |
| MOB000139 | Integer | 3개월 택시 B2C 12:00~17:00(KST) 운행완료건수 | X |
| MOB000140 | Integer | 3개월 택시 B2C 18:00~23:00(KST) 운행완료건수 | X |
| MOB000141 | Integer | 3개월 택시 B2C 00:00~05:00(KST) 운행완료건수 | X |
| MOB000142 | Integer | 3개월 택시 B2C 주중 운행완료건수 | X |
| MOB000143 | Integer | 3개월 택시 B2C 주말 운행완료건수 | X |
예제
요청: 서비스 앱 어드민 키 방식
- 파라미터
- 사용자 ID(
target_id) - 사용자 ID 타입(
target_id_type): 카카오계정 ID(account_id)
- 사용자 ID(
curl -v -G GET "https://kapi.kakao.com/v2/user/taxi_purchase_history" \-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \-d "target_id=${ACCOUNT_ID}" \-d "target_id_type=account_id"
응답
// HTTP/1.1 200 OK{"ACCOUNT_ID": 7077525,"DATA_AGREE": 1,"CREATED_AT": 1663769137275,"MOB000001": 1,"MOB000002": 1583107200000,"MOB000007": 2,"MOB000008": 0,"MOB000010": 23,"MOB000011": 46,"MOB000012": 29,"MOB000013": 2,"MOB000025": 863000,"MOB000027": 0,"MOB000028": 15500,"MOB000032": 323000,"MOB000033": 251400,"MOB000034": 259400,"MOB000035": 29200,"MOB000037": 194600,"MOB000050": 0,"MOB000056": 60,"MOB000060": 2,"MOB000063": 17,"MOB000065": 16,"MOB000066": 1,"MOB000067": 46,"MOB000068": 14,"MOB000078": 58,"MOB000089": 42,"MOB000090": 16,"MOB000100": 569500,"MOB000101": 245900,"MOB000104": 0,"MOB000107": 197000,"MOB000108": 113100,"MOB000109": 230200,"MOB000110": 29200,"MOB000111": 668400,"MOB000112": 194600,"MOB000131": 35,"MOB000132": 12,"MOB000138": 9,"MOB000139": 12,"MOB000140": 13,"MOB000141": 1,"MOB000142": 26,"MOB000143": 9}
응답: 조회 불가
- 사용자가 카카오T에 연결(가입)되지 않은 경우
- 사용자가 필요한 동의항목에 동의하지 않은 경우
// HTTP/1.1 200 OK{"ACCOUNT_ID": 7079533,"DATA_AGREE": 0,"CREATED_AT": null,"MOB000001": null,"MOB000002": null,"MOB000007": null,"MOB000008": null,"MOB000010": null,"MOB000011": null,"MOB000012": null,"MOB000013": null,"MOB000025": null,"MOB000027": null,"MOB000028": null,"MOB000032": null,"MOB000033": null,"MOB000034": null,"MOB000035": null,"MOB000037": null,"MOB000050": null,"MOB000056": null,"MOB000060": null,"MOB000063": null,"MOB000065": null,"MOB000066": null,"MOB000067": null,"MOB000068": null,"MOB000078": null,"MOB000089": null,"MOB000090": null,"MOB000100": null,"MOB000101": null,"MOB000104": null,"MOB000107": null,"MOB000108": null,"MOB000109": null,"MOB000110": null,"MOB000111": null,"MOB000112": null,"MOB000131": null,"MOB000132": null,"MOB000138": null,"MOB000139": null,"MOB000140": null,"MOB000141": null,"MOB000142": null,"MOB000143": null}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | 카카오http://kapi.kakao.com/v1/internal/account/business/deletable공동체 https://kapi.kakao.com/v1/internal/account/business/deletable | 서비스 앱 어드민 키 |
카카오비즈니스 통합 계정인 카카오계정의 카카오디벨로퍼스 탈퇴 가능 여부를 확인합니다. 이 API는 카카오비즈니스에서 카카오디벨로퍼스 탈퇴 가능 여부를 확인하기 위해 사용합니다. 카카오비즈니스 통합 계정인 카카오계정의 경우, 카카오비즈니스 통합 서비스 약관을 사용하는 서비스 중 하나라도 탈퇴 불가능하다면 카카오비즈니스에서 탈퇴할 수 없습니다. 카카오 API 플랫폼의 개발자 웹사이트인 카카오디벨로퍼스 또한 카카오비즈니스 통합 서비스 약관 사용 서비스이며, 카카오디벨로퍼스 앱을 소유하고 있는 카카오계정은 카카오비즈니스 탈퇴가 불가능합니다. (참고: 카카오디벨로퍼스 탈퇴 가능 여부 조회)
헤더에 카카오계정 시스템 앱의 어드민 키를 담아 GET으로 요청합니다. 요청 시 카카오계정 ID를 전달해야 합니다.
요청 성공 시 응답은 카카오비즈니스 통합 계정인 카카오계정의 탈퇴 가능 여부와 안내를 포함합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}인증 방식, 서비스 앱 어드민 키로 인증 요청 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| account_id | Integer | 카카오계정 ID | O |
| locale | String | 응답 언어 지정, 기본값인 KO로 고정 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| canWithdraw | Boolean | 카카오비즈니스 통합 계정인 카카오계정의 탈퇴 가능 여부
| O |
| reasons | Reason[] | canWithdraw 값이 false인 경우, 탈퇴 불가 사유 목록 | X |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| serviceType | String | 서비스 타입, DEVELOPERS(카카오디벨로퍼스)로 고정 | X |
| cause | String | canWithdraw 값이 false인 경우에만 응답에 포함탈퇴 불가 사유 | X |
| action | String | canWithdraw 값이 false인 경우에만 응답에 포함탈퇴 불가 사유 해소 방법 | X |
| url | String | canWithdraw 값이 false인 경우에만 응답에 포함탈퇴 불가 사유 해소를 위한 서비스 페이지 바로가기 URL | X |
요청: 서비스 앱 어드민 키 방식
- 파라미터
- 서비스 앱 ID(
target_app_id) - 카카오계정 ID(
account_id)
- 서비스 앱 ID(
curl -v -G GET "http://kapi.kakao.com/v1/internal/account/business/deletable" \-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \-d "account_id=2350171"
응답: 카카오비즈니스 통합 계정인 카카오계정의 탈퇴 불가
// HTTP/1.1 200 OK{"canWithdraw": false,"reasons": [{"serviceType": "DEVELOPERS","cause": "카카오 개발자 웹사이트에서 탈퇴가 필요합니다.","action": "카카오 개발자 웹사이트로 이동해 직접 탈퇴해 주세요.","url": "https://alpha-developers.kakao.com/user/profile"}]}
| 메서드 | URL | 인증 방식 |
|---|---|---|
GET | 카카오http://kapi.kakao.com/v1/internal/ecp_app공동체 https://kapi.kakao.com/v1/internal/ecp_app | 위임 |
쇼핑몰 앱의 카카오싱크 설정과 호스팅사 정보를 조회합니다. 쇼핑몰 앱 정보만 조회하려면 앱 정보 조회 API를 참고합니다.
헤더에 플랫폼 앱 어드민 키를 담아 GET으로 요청합니다. 쇼핑몰 앱의 REST API 키 또는 JavaScript 키와 호스팅사 앱 어드민 키를 쿼리 파라미터로 함께 전달해야 합니다.
요청 성공 시 응답은 쇼핑몰 앱과 해당 앱이 속한 호스팅사 정보가 포함된 JSON 객체입니다. 요청 실패 시 응답 코드로 원인을 확인합니다.
| 이름 | 설명 | 필수 |
|---|---|---|
| Authorization | Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}인증 방식, 플랫폼 앱 어드민 키로 인증 요청 서비스 앱의 권한을 플랫폼 앱이 위임받아 요청하는 방식으로 내부 API 요청 시 사용 가능 | O |
| Content-Type | Content-Type: application/x-www-form-urlencoded;charset=utf-8요청 데이터 타입 | O |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| target_app_key | String | 쇼핑몰 앱의 REST API 키 또는 JavaScript 키 | O |
| target_ecp_app_key | String | 호스팅사의 앱 어드민 키 | O |
| 이름 | 타입 | 설명 |
|---|---|---|
| ecp_type | String | 호스팅사MAKESHOP, SIXSHOP, CAFE24 등 |
| ecp_key | String | 호스팅사에서 관리하는 해당 서비스 키 카카오싱크 간편설정 팝업에서 조회 |
| ecp_on | Datetime | 쇼핑몰 앱이 카카오싱크 간편설정 팝업에서 마지막으로 수정 완료된 시각 |
| app_id | Integer | 개발자 웹사이트에 등록된 쇼핑몰 앱의 ID |
| app_name | String | 서비스명 |
| company | String | 서비스 업체명 |
| biz_registration_num | String | 사업자등록번호 |
| website_domains | String[] | 웹 도메인 JavaScript 키로 카카오톡 공유 사용 시 리퍼러(referrer) 체크 |
| redirect_uri | String[] | 카카오 인증 완료 후 이동할 리다이렉트 URI |
| app_keys | AppKey | 쇼핑몰 앱의 앱키 |
| app_scopes | AppScope[] | 해당 앱이 사용 중인 동의항목 리스트 |
| service_terms | ServiceTerm[] | 간편가입 설정 (tag, title_ko, title_en, order) |
| kakao_talk_channels | KakaoTalkChannel[] | 동의창에 보이는 플친 정보 (public_id, name, uuid) |
| 이름 | 타입 | 설명 |
|---|---|---|
| JAVASCRIPT_KEY | String | JavaScript 키 |
| REST_API_KEY | String | REST API 키 |
| NATIVE_APP_KEY | String | 네이티브 앱 키 |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | String | 동의항목 ID |
| display | String | 동의항목을 나타내는 한국어 이름 |
| level | String | 동의항목 설정 상태, 아래 중 하나
|
| collecting | Boolean | [카카오 계정으로 정보 수집 후 제공] 설정이 켜져 있는지 여부 |
| 이름 | 타입 | 설명 |
|---|---|---|
| tag | String | 서비스 약관의 tag |
| title_ko | String | 서비스 약관의 한글 title |
| title_en | String | 서비스 약관의 영문 title |
| order | Integer | 서비스 약관이 보여지는 순서 |
| 이름 | 타입 | 설명 |
|---|---|---|
| channel_public_id | String | 카카오톡 채널의 public id |
| channel_name | String | 카카오톡 채널의 이름 |
| channel_uuid | String | 카카오톡 채널의 검색용 id |
| 이름 | 타입 | 설명 |
|---|---|---|
| id | Integer | 앱 id |
| name | String | 앱 이름 |
| company | String | 앱 회사명 |
| ecp_type | String | 호스팅사, 접두사 ECP_ 포함ECP_MAKESHOP, ECP_SIXSHOP, ECP_CAFE24 등 |
| biz_registration_number | String | 호스팅사의 사업자 등록번호 |
요청: 호스팅사 앱 어드민 키로 요청
curl -v -G GET "http://kapi.kakao.com/v1/internal/ecp_app" \-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \-d "target_app_key=${TARGET_APP_KEY}" \-d "target_ecp_app_key=${ECP_APP_ADMIN_KEY}"
응답: 성공, 카카오 로그인 및 동의항목, 채널 연결, 카카오 간편가입 설정이 완료된 앱
{"ecp_type": "MAKESHOP","ecp_key": "ecp_test_key_12233543645","ecp_on": "2020-08-14T09:06:02Z","app_id": 833225,"app_name": "쇼핑몰 이름","company": "쇼핑몰 회사명","biz_registration_num": "111-12-12345","website_domains": ["http://xxx.co.kr", "https://xxx.co.kr", "http://m.xxx.co.kr", "https://m.xxx.co.kr"],"redirect_uris": ["http://xxx.co.kr/list/API/login_kakao_sync.html", "https://xxx.co.kr/list/API/login_kakao_sync.html", "http://m.xxx.co.kr/list/API/login_kakao_sync.html", "https://m.xxx.co.kr/list/API/login_kakao_sync.html"],"app_keys": {"JAVASCRIPT_KEY": "${JAVASCRIPT_KEY}","REST_API_KEY": "${REST_API_KEY}","NATIVE_APP_KEY": "${NATIVE_APP_KEY}"},"app_scopes": [{"id": "profile","display": "프로필 정보(닉네임/프로필 사진)","level": "required","collecting": false},{"id": "legal_name","display": "본인확인정보(이름)","level": "required","collecting": false},{"id": "account_email","display": "카카오계정(이메일)","level": "required","collecting": false},{"id": "account_ci","display": "CI(연계정보)","level": "required","collecting": false},{"id": "phone_number","display": "카카오계정(전화번호)","level": "required","collecting": false},{"id": "birthday","display": "생일","level": "optional","collecting": false}],"service_terms": [{"tag": "age_2020_0218","title_ko": "만 14세 이상입니다.","title_en": "14 years old and older.","required": true,"order": 10},{"tag": "marketing_2020_02181","title_ko": "마케팅 활용 동의","title_en": "marketing","required": true,"order": 1},{"tag": "optional_20200616","title_ko": "선택 동의 서비스 약관","title_en": "optional","required": false,"order": 4},{"tag": "service_2020_0218","title_ko": "서비스 약관 동의","title_en": "Service terms","required": true,"order": 1}],"kakao_talk_channels": [{"public_id": "_Xxxxxx","name": "채널이름","uuid": "@채널1"}],"ecp_info": {"id": 57532,"name": "호스팅사 앱 이름","company": "호스팅사 이름","ecp_type": "ECP_MAKESHOP","biz_registration_num": "${호스팅사 사업자 등록번호}"}}
응답: 실패, Authorization Header 값이 앱 어드민 키가 아닌 경우
{ "code": -401, "msg": "appKeyType is NATIVE_APP_KEY. but expected ADMIN_KEY" }
응답: 실패, target_app_key 또는 target_ecp_app_key가 없는 경우
{ "code": -401, "msg": "no authentication key!" }
응답: 실패, target_app_key 또는 target_ecp_app_key가 올바르지 않은 경우
{ "code": -401, "msg": "wrong appKey(${APP_KEY}) format" }
응답: 실패, 권한이 없는 앱의 정보를 요청한 경우
{ "code": -5, "msg": "permission denied" }
| 메서드 | URL | 인증 방식 |
|---|---|---|
POST | 카카오http://kapi.kakao.com/v1/internal/user/plugin/complete공동체 https://kapi.kakao.com/v1/internal/user/plugin/complete | 위임 |
싱크 플러그인으로 회원 가입 절차를 완료 처리합니다. 이 API는 공통 플러그인에서 싱크 플러그인의 회원 가입 절차에 사용하며, 카카오싱크 간편가입을 이용 중인 서비스 앱 대상으로만 요청할 수 있습니다. 이 API 호출까지의 과정은 아래와 같습니다. (참고: 개발 문서)
- 카카오싱크 서비스가 싱크 플러그인으로 사용자의 회원 가입 처리를 완료합니다.
- 카카오싱크 서비스는 싱크 플러그인의 Redirect Continue URL로 302 리다이렉트(Redirect)해 회원 가입이 완료되었음을 알립니다.
- 공통 플러그인은 이 API를 호출해 싱크 플러그인으로 회원 가입 절차를 완료 처리합니다.
헤더에 플랫폼 앱 어드민 키를 담아 POST로 요청합니다. 요청 시 싱크 플러그인을 이용한 카카오싱크 서비스 앱의 ID, 회원 가입한 사용자의 회원번호를 전달해야 합니다.
요청 성공 시, 카카오 API 플랫폼은 대상 서비스 앱의 설정과 사용자의 연결(가입) 상태를 확인하고 아래 동작을 수행합니다.
- 서비스 앱과 사용자가 연결됨
- 응답의
result값을true로 반환 - 사용자 프로퍼티에 싱크 플러그인으로 연결되었다는 정보 기록
- 응답의
- 서비스 앱과 사용자가 연결되지 않음
NotRegisteredUserException(-101) 에러 발생
- 서비스 앱 설정이 API 사용 조건을 만족하지 않음
- 카카오 로그인, 카카오싱크 간편가입 및 서비스 약관을 사용하고 있지 않은 앱 대상으로 요청한 경우
- 에러(-3) 및 사유 반환
| 이름 | 설명 | 필수 |
|---|---|---|
| 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_id,target_id_type - 서비스 앱 ID:
target_app_id,target_id,target_id_type - 액세스 토큰:
target_access_token
- 서비스 앱 키:
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| target_app_key | String | 싱크 플러그인을 이용한 서비스 앱의 키 | O(Optional) |
| target_app_id | String | 싱크 플러그인을 이용한 서비스 앱의 ID | O(Optional) |
| target_access_token | String | 싱크 플러그인으로 가입한 사용자의 액세스 토큰 값 | O(Optional) |
| target_id | String | 싱크 플러그인으로 가입한 사용자 ID | O(Optional) |
| target_id_type | String | target_id 타입, 아래 중 하나
| O(Optional) |
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| app_id | Integer | 싱크 플러그인을 이용한 서비스 앱 ID | O |
| account_id | String | 싱크 플러그인으로 가입한 사용자의 카카오계정 ID 제공 조건: 카카오계정 ID 응답 권한 보유 | X |
| user_id | Long | 싱크 플러그인으로 가입한 사용자의 회원번호 | O |
| result | Boolean | 싱크 플러그인 사용자의 회원 가입 완료 여부 서비스 앱과 사용자가 연결된 경우에만 true 값 반환 | O |
요청: 위임 방식
- 파라미터
- 서비스 앱 키(
target_app_key) - 사용자 ID(
target_id) - 사용자 ID 타입(
target_id_type): 회원번호(user_id)
- 서비스 앱 키(
curl -v -X POST "http://kapi.kakao.com/v1/internal/user/plugin/complete" \-H "Authorization: KakaoAK ${DELEGATOR_APP_ADMIN_KEY}" \-d "target_app_key=${SERVICE_APP_KEY}" \-d "target_id_type=user_id" \-d "target_id=1376016924429266116"
응답
// HTTP/1.1 200 OK{"app_id": 938123,"account_id": "12345","user_id": 1376016924429266116,"result": true}
응답: 실패, 서비스 앱과 사용자가 연결되지 않음
// HTTP/1.1 400 Bad Request{"msg": "NotRegisteredUserException","code": -101}
응답: 실패, 서비스 앱 설정이 API 사용 조건을 만족하지 않음
// HTTP/1.1 403 Forbidden{"msg": "SERVICE_TERMS_SUPPORTED permission off - appId=1134530","code": -3}