사이드 메뉴
커뮤니케이션
API 제공
어드민 API
내 애플리케이션: 앱 설정
이 문서는 제공 종료된 구버전 어드민 API에 대해 안내합니다. 신규 어드민 API에 대한 자세한 내용은 신규 어드민 API 제공 안내에서 확인할 수 있습니다.
이 문서는 카카오디벨로퍼스 앱(애플리케이션)에 대한 어드민 API 사용 방법을 안내합니다.
각 제목에 부착된 태그(Tag)는 아래와 같은 의미입니다.
| 태그 | 설명 |
|---|---|
Internal | 이 액션은 API플랫폼 내부에서만 사용합니다. |
| 메서드 | 호스트 | 리소스 |
|---|---|---|
POST | internal-admin-kapi.kakao.com | /app |
| 이름 | 설명 |
|---|---|
| CREATE_WITH_DEFAULT | 기본 설정으로 새로운 일반 앱을 등록합니다. |
| FIND_SIMPLE_APP_BY_APP_KEY | 앱 키로 앱의 기본 정보를 조회합니다. |
| FIND_ALL_SIMPLE_APP | 주어진 조건에 해당하는 앱 목록을 조회합니다. |
| FIND_BY_APP_KEY | 앱 키로 앱 상세 정보를 조회합니다. |
기본 설정으로 새로운 일반 앱을 등록합니다.
요청 시 개발자 계정 ID, 앱 이름, 회사명(상호, 법인 또는 단체명)을 반드시 전달해야 합니다. 요청 시 지정한 개발자 계정이 생성될 앱의 소유자(OWNER)가 됩니다. 각 개발자 계정은 최대 10개의 앱을 소유할 수 있으므로, 이를 초과하는 앱 생성 요청은 처리에 실패합니다.
요청 처리 성공 시 응답은 생성된 일반 앱 정보를 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| owner_developer_id | Integer | 앱 소유자인 개발자 계정 ID | O |
| name | String | 앱 이름(영문 기준 최대 45자) | O |
| company | String | 회사명(영문 기준 최대 50자) | O |
| category | AppCategory | 앱 카테고리 | X |
| icon_image_kage_token | String | File | 앱 아이콘 이미지의 KAGE 토큰 또는 이미지 파일 | X |
응답 페이로드
요청 예제: 앱 아이콘 파일 업로드
curl -v POST "https://internal-admin-kapi.kakao.com/app" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-F "name=CREATE_WITH_DEFAULT" \-F "payload.owner_developer_id=${DEVELOPER_ID}" \-F "payload.name=${APP_NAME}" \-F "payload.company=${COMPANY_NAME}" \-F "payload.category=${APP_CATEGORY}" \-F "payload.icon_image_kage_token=@${FILE_PATH}"
요청 예제: 앱 아이콘 KAGE 토큰 사용
curl -v POST "https://internal-admin-kapi.kakao.com/app" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "CREATE_WITH_DEFAULT","payload": {"owner_developer_id": ${DEVELOPER_ID},"name": "${APP_NAME}","company": "${COMPANY_NAME}","category": "${APP_CATEGORY}","icon_image_kage_token": "${KAGE_TOKEN}"}}'
응답 예제
// HTTP/2 200{"id": 1143492,"name": "${APP_NAME}","company": "${COMPANY_NAME}","icon": "https://k.kakaocdn.net/14/dn/ZSdVOOpn0s/TPwVXsol2dfJiQsGeJG8pk/o.jpg","app_type": "DEFAULT","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"}
응답 예제: 처리 실패, 소유할 수 있는 앱 수를 초과함
// HTTP/2 400{"message": "${MESSAGE}","exception": "com.kakao.capri.commons.service.LimitExceededException"}
앱 키로 앱의 기본 정보를 조회합니다.
조회하려는 앱의 앱 키 중 하나를 전달해 요청합니다. 모든 앱 키 타입을 사용해 앱을 조회할 수 있으며, 앱 키 타입에 대한 자세한 정보는 앱 키를 참고합니다.
요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| app_key | String | 앱 키 모든 타입의 앱 키 사용 가능 | O |
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "FIND_SIMPLE_APP_BY_APP_KEY","payload": {"app_key": "${APP_KEY}"}}'
응답 예제
// HTTP/2 200{"id": 977070,"name": "Sample","company": "SampleCompany","icon": "https://k.kakaocdn.net/14/dn/ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1/o.jpg","app_type": "KAKAO","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"}
주어진 조건에 해당하는 앱 목록을 조회합니다.
payload 하위의 query로 조회 조건을 지정합니다. query.id로 앱 ID 목록을 전달하거나, 앱 타입이나 이름 등 다른 앱 기본 정보로 요청할 수 있습니다.
요청 처리 성공 시 응답은 조회된 앱 기본 정보 목록을 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| query | JSON | 조회 조건 | O |
payload.query
응답 페이로드
SimpleApp의 배열
요청 예제: 앱 ID로 조회
curl -v POST "https://internal-admin-kapi.kakao.com/app" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "FIND_ALL_SIMPLE_APP","payload": {"query": {"id": [955071]}}}'
요청 예제: 앱 ID로 여러 앱 조회
curl -v POST "https://internal-admin-kapi.kakao.com/app" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "FIND_ALL_SIMPLE_APP","payload": {"query": {"id": [955071, 1102826]}}}'
응답 예제: 앱 ID로 조회
// HTTP/2 200[{"id": 955071,"name": "Sample","company": "SampleCompany","icon": "https://k.kakaocdn.net/14/dn/ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1/o.jpg","app_type": "KAKAO","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"}]
응답 예제: 앱 ID로 여러 앱 조회
// HTTP/2 200[{"id": 955071,"name": "Sample","company": "SampleCompany","icon": "https://k.kakaocdn.net/14/dn/ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1/o.jpg","app_type": "KAKAO","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"},{"id": 1102826,"name": "Default Test","company": "테스트","icon": "https://k.kakaocdn.net/14/dn/ZSdVOOpn0s/TPwVXsol2dfJiQsGeJG8pk/o.jpg","app_type": "DEFAULT","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"}]
엡 키로 앱 상세 정보를 조회합니다. 앱 상세 정보는 동의항목 설정 등 세부 정보를 포함합니다. 기본적인 앱 정보 조회만 필요한 경우에는 FIND_SIMPLE_APP_BY_APPKEY, FIND_SIMPLE_APP 사용을 권장합니다.
요청 시 네이티브 앱 키, REST API 키, JavaScript 키, 어드민 키 중 한 가지 앱 키를 반드시 전달해야 합니다.
요청 처리 성공 시 응답은 앱 상세 정보를 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| app_key | String | 앱 키 | O |
응답 페이로드
요청 예제: 앱 아이콘 파일 업로드
curl -v POST "https://internal-admin-kapi.kakao.com/app" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "FIND_BY_APP_KEY","payload": {"app_key": "${APP_KEY}"}}'
응답 예제
// HTTP/2 200{"id": 977072,"name": "Sample","company": "SampleCompany","category": "Book_Reference","scopes": [],"required_scopes": [4, 5, 6, 10, 14, 19],"optional_scopes": [37, 38, 50],"lazy_scopes": [33],"collecting_scopes": [1, 10, 17, 22],"status": "ACTIVE","icon_image_kage_token": "ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1","owner_developer_id": 576952,"app_type": "KAKAO","additional_permissions": [17, 24, 30, 63, 66],"additional_scope_permissions": [40, 240, 241],"android_package_name": "com.kakao.original","android_market_url": "market://details?id=com.kakao.original","ios_bundle_id": "com.kakao.original","iphone_app_store_id": 123456,"iphone_market_url": "https://itunes.apple.com/app/123456","web_site_url": ["https://developers.kakao.com"],"app_ext": "DISABLED","created_at": "2020-02-21T05:42:16Z","updated_at": "2022-12-06T08:03:31Z","app_unlink": "ENABLED","client_secret": false,"group_permissions": [1, 2, 4],"phase": "NORMAL"}
:app_id부분에 요청 대상 앱 ID를 입력해야 합니다.
| 메서드 | 호스트 | 리소스 |
|---|---|---|
POST | internal-admin-kapi.kakao.com | /app/:app_id |
| 이름 | 설명 |
|---|---|
| FIND_SIMPLE_APP | 앱 ID에 해당하는 앱의 기본 정보를 조회합니다. |
| FIND | 앱 ID에 해당하는 앱의 상세 정보를 조회합니다. |
| UPDATE_PARTIAL | 앱 설정을 일부 변경합니다. |
| FIND_IP_ADDRESSES | 앱에 등록된 허용 IP 주소를 조회합니다. |
| ADD_IP_ADDRESSES | 앱에 허용 IP 주소를 추가합니다. |
| UPDATE_IP_ADDRESSES | 앱에 등록된 허용 IP 주소를 변경합니다. |
| ACTIVATE Internal | 앱을 활성화합니다. |
| DEACTIVATE | 앱을 비활성화합니다. |
앱 ID에 해당하는 앱의 기본 정보를 조회합니다. 앱의 상세 정보가 아닌 기본 정보만 조회하고자 할 때 이 액션을 사용합니다.
요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND_SIMPLE_APP"}'
응답 예제
// HTTP/2 200{"id": 1102200,"name": "Sample","company": "SampleCompany","icon": "https://k.kakaocdn.net/14/dn/ZSf7XoXJ6O/zYZd5dqCAZBZtf528ORXz1/o.jpg","app_type": "SAMPLE","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"}
앱 ID에 해당하는 앱의 상세 정보를 조회합니다. 기본적인 앱 정보 조회만 필요한 경우에는 FIND_SIMPLE_APP_BY_APPKEY, FIND_SIMPLE_APP 사용을 권장합니다.
요청 처리 성공 시 응답은 앱 상세 정보를 payload에 포함합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "FIND"}'
응답 예제
// HTTP/2 200{"id": 977071,"name": "Sample","company": "SampleCompany","category": "Book_Reference","scopes": [],"required_scopes": [4, 5, 6, 10, 14],"optional_scopes": [37, 38, 50],"lazy_scopes": [33],"collecting_scopes": [1, 10, 17, 22],"status": "ACTIVE","icon_image_kage_token": "ZSfZPxO70E/DJNC0WsJym1OoiMmo8K5O1","owner_developer_id": 576952,"app_type": "KAKAO","additional_permissions": [17, 24, 30, 63, 66],"additional_scope_permissions": [40, 240, 241],"android_package_name": "com.kakao.original","android_market_url": "market://details?id=com.kakao.original","ios_bundle_id": "com.kakao.SPMtest","iphone_app_store_id": 123456,"iphone_market_url": "https://itunes.apple.com/app/123456","web_site_url": ["https://developers.kakao.com"],"app_ext": "DISABLED","created_at": "2020-02-21T05:42:16Z","updated_at": "2022-12-06T08:03:31Z","app_unlink": "ENABLED","client_secret": false,"group_permissions": [1, 2, 4],"phase": "NORMAL"}
앱 기본 정보를 일부 변경합니다. 변경을 원하는 항목을 payload에 포함해 요청합니다.
요청 처리 성공 시 응답은 변경된 앱 기본 정보를 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| name | String | 앱 이름(영문 기준 최대 45자) | X |
| company | String | 회사명(영문 기준 최대 50자) | X |
| app_type | AppType | 앱 타입 | X |
| category | AppCategory | 앱 카테고리 | X |
| icon_image_kage_token | String | 앱 아이콘 이미지의 KAGE 토큰 또는 이미지 파일 | X |
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "UPDATE_PARTIAL","payload": {"name": "MySample"}}'
응답 예제
// HTTP/2 200{"id": 1102200,"name": "MySample","company": "SampleCompany","icon": "https://k.kakaocdn.net/14/dn/ZSf7XoXJ6O/zYZd5dqCAZBZtf528ORXz1/o.jpg","app_type": "SAMPLE","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"}
앱에 등록된 허용 IP 주소를 조회합니다.
요청 처리 성공 시 응답은 앱에 등록된 허용 IP 주소 목록을 payload에 포함합니다.
요청 페이로드
- 없음
응답 페이로드
- 앱에 등록된 IP 주소 문자열의 배열
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "FIND_IP_ADDRESSES"}'
응답 예제
// HTTP/2 200["127.0.0.1"]
앱에 허용 IP 주소를 추가합니다.
payload 하위의 ip_addresses에 추가할 허용 IP 주소 목록을 전달합니다.
요청 처리 성공 시 응답은 앱에 등록된 허용 IP 주소 목록을 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ip_addresses | String[] | 허용 IP 주소 목록 CIDR, Subnet, IP 허용 | O |
응답 페이로드
- 앱에 등록된 IP 주소 문자열의 배열
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "ADD_IP_ADDRESSES","payload": {"ip_addresses": ["127.0.0.2"]}}'
응답 예제
// HTTP/2 200["127.0.0.1", "127.0.0.2"]
앱에 등록된 허용 IP 주소를 변경합니다.
payload 하위의 ip_addresses에 허용 IP 주소 목록을 전달합니다. 이 API는 요청 시 전달된 허용 IP 주소로 기존 설정을 대체하므로, 새로운 허용 IP 주소를 추가하려면 기존에 등록된 IP 주소도 함께 전달해야 합니다.
요청 처리 성공 시 응답은 앱의 허용 IP 주소 배열을 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| ip_addresses | String[] | 허용 IP 주소 목록 CIDR, Subnet, IP 허용 | O |
응답 페이로드
- 허용 IP 주소 배열
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "UPDATE_IP_ADDRESSES","payload": {"ip_addresses": ["127.0.0.1"]}}'
응답 예제
// HTTP/2 200["127.0.0.1"]
앱을 활성화합니다.
요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "ACTIVATE"}'
응답 예제
// HTTP/2 200{"id": 1270400,"name": "Sample","company": "SampleCompany","icon": "https://k.kakaocdn.net/14/dn/ZSj0yeCNQz/MvFZRFIxD67r6UnjIaampk/o.jpg","app_type": "DEFAULT","category": "Book_Reference","status": "ACTIVE","phase": "NORMAL"}
앱을 비활성화합니다. 이 액션을 사용하려면 사용 신청 시 별도 협의해야 합니다.
요청 처리 성공 시 응답은 앱 기본 정보를 payload에 포함합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/1270408" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "DEACTIVATE"}'
응답 예제
// HTTP/2 200{"id": 1270400,"name": "Sample","company": "SampleCompany","icon": "https://k.kakaocdn.net/14/dn/ZSj0yeCNQz/MvFZRFIxD67r6UnjIaampk/o.jpg","app_type": "DEFAULT","category": "Book_Reference","status": "DEACTIVATED","phase": "NORMAL"}
:app_id부분에 요청 대상 앱 ID를 입력해야 합니다.
| 메서드 | 호스트 | 리소스 |
|---|---|---|
POST | internal-admin-kapi.kakao.com | /app/:app_id/appKey |
| 이름 | 설명 |
|---|---|
| FIND_ALL | 앱의 모든 앱 키를 조회합니다. |
| FIND | 앱의 특정 타입 앱 키 값을 조회합니다. |
| REGENERATE | 앱 ID에 해당하는 앱의 앱 키를 재발급합니다. |
앱의 모든 앱 키를 조회합니다. :app_id 부분에 명시된 앱 ID에 해당하는 앱의 모든 앱 키를 조회할 수 있습니다.
요청 처리 성공 시 응답은 앱 키 4종의 키와 값을 포함한 JSON을 payload에 포함합니다.
요청 페이로드
- 없음
응답 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| JAVASCRIPT_KEY | String | JavaScript 키 | O |
| ADMIN_KEY | String | Admin 키 | O |
| REST_API_KEY | String | REST API 키 | O |
| NATIVE_APP_KEY | String | 네이티브 앱 키 | O |
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/appKey" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND_ALL"}'
응답 예제
// HTTP/2 200{"JAVASCRIPT_KEY": "72766341437b0571e72ec67c0dfec67e","ADMIN_KEY": "b9f13fcb71f82e6475ec7cf4a27b39b3","REST_API_KEY": "a9fab6fc1f2edfdd1650a336628ba07d","NATIVE_APP_KEY": "d8dc81d9f3e57b1c18a81d9257bb41a0"}
앱의 특정 타입 앱 키 값을 조회합니다. 요청 시 payload 하위의 app_key_type로 조회할 앱 키의 타입을 지정해야 합니다. 앱 키 타입에 대한 자세한 정보는 앱 키를 참고합니다.
요청 처리 성공 시 응답은 payload에 지정한 타입에 해당하는 앱 키 값을 반환합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| app_key_type | String | 값을 조회할 앱 키 타입, 아래 중 하나
| O |
응답 페이로드
- 요청 시 지정한 타입의 앱 키 값 문자열
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/appKey" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND","payload": {"app_key_type": "JAVASCRIPT_KEY"}}'
응답 예제
// HTTP/2 200"a13bed908810dccd1ec6fb4d273e4f86"
앱 ID에 해당하는 앱의 앱 키를 재발급합니다. 앱 키는 타입별로 재발급 가능하므로, 요청 시 재발급할 앱 키 타입을 명시해야 합니다.
앱 키는 재발급 후 기존 값으로 복구할 수 없습니다. 서비스에서 사용 중인 앱 키를 재발급할 경우 문제가 발생할 수 있으므로 주의해야 합니다.
요청 처리 성공 시 응답은 payload에 재발급된 앱 키 값을 반환합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| app_key_type | String | 재발급할 앱 키 타입, 아래 중 하나
| O |
응답 페이로드
- 요청 시 지정한 타입의 재발급된 앱 키 값 문자열
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/appKey" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "REGENERATE","payload": {"app_key_type": "JAVASCRIPT_KEY"}}'
응답 예제
// HTTP/2 200"a608e9d6be692391de14f7ad636980c0"
:app_id부분에 요청 대상 앱 ID를 입력해야 합니다.
| 메서드 | 호스트 | 리소스 |
|---|---|---|
POST | internal-admin-kapi.kakao.com | /app/:app_id/platform |
| 이름 | 설명 |
|---|---|
| FIND | 앱 ID에 해당하는 앱의 플랫폼 정보를 조회합니다. |
앱 ID에 해당하는 앱의 플랫폼 정보를 조회합니다. 앱의 플랫폼 정보는 Android, iOS, Web의 세 가지 플랫폼으로 이뤄져 있습니다. 자세한 구성은 AppPlatform을 참고합니다.
요청 처리 성공 시 응답은 앱의 플랫폼 정보를 payload에 포함합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND"}'
응답 예제
// HTTP/2 200{"app_id": 977070,"android": {"package_name": "com.kakao.original","market_url": "market://details?id=com.kakao.original","key_hashes": ["${KEY_HASH}"]},"ios": {"bundle_id": "com.kakao.IosSample"},"web": {"web_site_url": ["https://developers.kakao.com"]}}
:app_id부분에 요청 대상 앱 ID를 입력해야 합니다.
| 메서드 | 호스트 | 리소스 |
|---|---|---|
POST | internal-admin-kapi.kakao.com | /app/:app_id/platform/android |
| 이름 | 설명 |
|---|---|
| FIND | 앱의 Android 플랫폼 상세 정보를 조회합니다. |
| UPDATE | 앱의 Android 플랫폼 상세 정보를 변경합니다. |
| DELETE | 앱의 Android 플랫폼 상세 정보를 삭제합니다. |
| FIND_KEY_HASH | 앱의 Android 키 해시(Key hash) 목록을 조회합니다. |
| ADD_KEY_HASH | 새로운 키 해시를 등록합니다. |
| REMOVE_KEY_HASH | 등록된 키 해시를 삭제합니다. |
| UPDATE_KEY_HASH | 등록된 키 해시를 교체합니다. |
| UPDATE_MULTI_MARKET_URLS | 멀티 마켓 URL을 추가합니다. |
앱의 Android 플랫폼 상세 정보를 조회합니다. Android 플랫폼 상세 정보는 패키지명, 마켓 URL, 키 해시 목록으로 이뤄져 있습니다. 자세한 구성은 Android를 참고합니다.
요청 처리 성공 시 응답은 payload에 앱의 Android 플랫폼 상세 정보를 포함합니다. 앱에 Android 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload에 404 에러 코드와 안내 메시지를 반환합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND"}'
응답 예제
// HTTP/2 200{"package_name": "com.example.sample","market_url": "market://details?id=com.example.sample","key_hashes": ["${KEY_HASH}"]}
응답 예제: 앱에 Android 플랫폼이 설정되어 있지 않음
// HTTP/2 404{"message": "${MESSAGE}"}
앱의 Android 플랫폼 상세 정보를 변경합니다.
요청 처리 성공 시 응답은 payload에 앱의 변경된 Android 플랫폼 상세 정보를 포함합니다.
요청 페이로드
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "UPDATE","payload": {"package_name": "com.example.sample","market_url": "market://details?id=com.example.sample","key_hashes": ["${KEY_HASH}"]}}'
응답 예제
// HTTP/2 200{"package_name": "com.example.sample","market_url": "market://details?id=com.example.sample","key_hashes": ["${KEY_HASH}"]}
앱의 Android 플랫폼 상세 정보를 삭제합니다. 앱의 다른 플랫폼 설정을 유지하고 Android 플랫폼 설정만 삭제하고 싶을 때 이 액션을 사용합니다.
요청 처리 성공 시 응답은 payload에 삭제된 Android 플랫폼 상세 정보를 포함합니다. 앱에 Android 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload에 404 에러 코드와 안내 메시지를 반환합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "DELETE"}'
응답 예제
// HTTP/2 200{"package_name": "com.example.sample","market_url": "market://details?id=com.example.sample","key_hashes": ["${KEY_HASH}"]}
응답 예제: 앱에 Android 플랫폼이 설정되어 있지 않음
// HTTP/2 404{"message": "${MESSAGE}"}
앱의 Android 키 해시(Key hash) 목록을 조회합니다.
요청 처리 성공 시 응답은 payload에 키 해시 목록을 포함합니다. 등록된 키 해시가 없을 경우 빈 배열을 반환합니다.
요청 페이로드
- 없음
응답 페이로드
Android중key_hashes
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND_KEY_HASH"}'
응답 예제
// HTTP/2 200["${KEY_HASH}"]
새로운 키 해시를 등록합니다.
앱에는 여러 개의 키 해시를 등록할 수 있으므로, payload에 키 해시 값들을 배열로 전달합니다.
요청 처리 성공 시 응답은 payload에 키 해시 목록을 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| key_hashes | String[] | 키 해시 목록 | X |
응답 페이로드
Android중key_hashes
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "ADD_KEY_HASH","payload": {"key_hashes": ["${KEY_HASH_2}"]}}'
응답 예제
// HTTP/2 200["${KEY_HASH_1}", "${KEY_HASH_2}"]
등록된 키 해시를 삭제합니다.
이 액션은 요청 시 지정된 키 해시만 삭제하므로, payload에 삭제할 키 해시 값을 지정해야 합니다.
요청 처리 성공 시 응답은 payload에 지정된 키 해시를 삭제한 후의 키 해시 목록을 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| key_hashes | String[] | 키 해시 목록 | X |
응답 페이로드
Android중key_hashes
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "REMOVE_KEY_HASH","payload": {"key_hashes": ["${KEY_HASH_1}"]}}'
응답 예제
// HTTP/2 200["${KEY_HASH_2}"]
등록된 키 해시를 교체합니다. 이 액션은 ADD_KEY_HASH 액션과 달리 요청 시 전달된 값으로 키 해시 목록을 대체합니다. 따라서 키 해시를 추가할 경우에는 ADD_KEY_HASH 액션을, 키 해시 목록을 전체적으로 교체할 경우에는 UPDATE_KEY_HASH 액션을 각각 사용해야 합니다.
요청 시 payload에 key_hashes로 교체할 키 해시 목록을 전달해야 합니다. 빈 배열을 전달할 경우 기존의 키 해시 설정이 삭제되므로 주의합니다.
요청 처리 성공 시 응답은 payload에 교체된 키 해시 목록을 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| key_hashes | String[] | 키 해시 목록 | X |
응답 페이로드
Android중key_hashes
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "UPDATE_KEY_HASH","payload": {"key_hashes": ["${KEY_HASH}"]}}'
응답 예제
// HTTP/2 200["${KEY_HASH}"]
멀티 마켓 URL을 추가합니다.
payload 하위의 multi_market_urls에 추가할 멀티 마켓 URL 목록을 전달합니다.
요청 처리 성공 시 응답은 앱에 등록된 마켓 URL 목록을 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| multi_market_urls | String[] | 마켓 URL 목록 | O |
응답 페이로드
- 쉼표(,)로 구분된 마켓 URL 목록
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/android" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "UPDATE_MULTI_MARKET_URLS","payload": {"multi_market_urls": ["market://details?id=com.kakao.original","market://details?id=com.kakao.sub"]}}'
응답 예제
// HTTP/2 200"market://details?id=com.kakao.original,market://details?id=com.kakao.sub"
:app_id부분에 요청 대상 앱 ID를 입력해야 합니다.
| 메서드 | 호스트 | 리소스 |
|---|---|---|
POST | internal-admin-kapi.kakao.com | /app/:app_id/platform/ios |
| 이름 | 설명 |
|---|---|
| FIND | 앱의 iOS 플랫폼 상세 정보를 조회합니다. |
| UPDATE | 앱의 iOS 플랫폼 상세 정보를 변경합니다. |
| DELETE | 앱의 iOS 플랫폼 상세 정보를 삭제합니다. |
| UPDATE_MULTI_MARKET_URLS | 멀티 마켓 URL을 추가합니다. |
앱의 iOS 플랫폼 상세 정보를 조회합니다. iOS 플랫폼 상세 정보는 번들 ID, 앱스토어 ID, 마켓 URL로 구성돼 있습니다. 앱스토어 ID와 마켓 URL은 아이폰용, 아이패드용이 각각 존재합니다. 자세한 구성은 IOS를 참고합니다.
요청 처리 성공 시 응답은 payload에 앱의 iOS 플랫폼 상세 정보를 포함합니다. 앱에 iOS 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload에 404 에러 코드와 안내 메시지를 반환합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND"}'
응답 예제
// HTTP/2 200{"bundle_id": "com.kakao.sample","iphone_app_store_id": 123456,"iphone_market_url": "https://itunes.apple.com/app/id123456"}
응답 예제: 앱에 iOS 플랫폼이 설정되어 있지 않음
// HTTP/2 404{"message": "${MESSAGE}"}
앱의 iOS 플랫폼 상세 정보를 변경합니다. 아이폰 앱스토어 ID와 아이패드 앱스토어 ID는 각각의 마켓 URL과 함께 등록해야 합니다.
요청 처리 성공 시 응답은 payload에 앱의 iOS 플랫폼 상세 정보를 포함합니다.
요청 페이로드
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "UPDATE","payload": {"bundle_id": "com.example.sample","iphone_app_store_id": 123456,"iphone_market_url": "https://itunes.apple.com/app/id123456"}}'
응답 예제
// HTTP/2 200{"bundle_id": "com.example.sample","iphone_app_store_id": 123456,"iphone_market_url": "https://itunes.apple.com/app/id123456"}
앱의 iOS 플랫폼 상세 정보를 삭제합니다.
요청 처리 성공 시 응답은 payload에 삭제된 iOS 플랫폼 상세 정보를 포함합니다. 앱에 iOS 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload에 404 에러 코드와 안내 메시지를 반환합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "DELETE"}'
응답 예제
// HTTP/2 200{"bundle_id": "com.example.sample","iphone_app_store_id": 123456,"iphone_market_url": "https://itunes.apple.com/app/id123456"}
응답 예제: 앱에 iOS 플랫폼이 설정되어 있지 않음
// HTTP/2 404{"message": "${MESSAGE}"}
멀티 마켓 URL을 추가합니다.
payload 하위의 multi_market_urls에 추가할 멀티 마켓 URL 목록을 전달합니다.
요청 처리 성공 시 응답은 앱에 등록된 마켓 URL 목록을 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| multi_market_urls | String[] | 마켓 URL 목록 | O |
응답 페이로드
- 쉼표(,)로 구분된 마켓 URL 목록
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/ios" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "UPDATE_MULTI_MARKET_URLS","payload": {"multi_market_urls": ["https://itunes.apple.com/app/id234567","https://itunes.apple.com/app/id345678"]}}'
응답 예제
// HTTP/2 200"https://itunes.apple.com/app/id234567,https://itunes.apple.com/app/id345678"
:app_id부분에 요청 대상 앱 ID를 입력해야 합니다.
| 메서드 | 호스트 | 리소스 |
|---|---|---|
POST | internal-admin-kapi.kakao.com | /app/:app_id/platform/web |
| 이름 | 설명 |
|---|---|
| FIND | 앱의 Web 플랫폼 상세 정보를 조회합니다. |
| UPDATE | 앱의 Web 플랫폼 상세 정보를 변경합니다. |
| DELETE | 앱의 Web 플랫폼 상세 정보를 삭제합니다. |
| ADD_WEB_SITE_URL | 사이트 도메인을 추가합니다. |
앱의 Web 플랫폼 상세 정보를 조회합니다. Web 플랫폼의 상세 정보는 사이트 도메인 목록만으로 이뤄져 있으며, Web을 참고합니다.
요청 처리 성공 시 응답은 payload에 Web 플랫폼 상세 정보를 포함합니다. 앱에 Web 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload에 404 에러 코드와 안내 메시지를 반환합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "FIND"}'
응답 예제
// HTTP/2 200{"web_site_url": ["https://developers.kakao.com"]}
응답 예제: 앱에 Web 플랫폼이 설정되어 있지 않음
// HTTP/2 404{"message": "${MESSAGE}"}
앱의 Web 플랫폼 상세 정보를 변경합니다.
요청 처리 성공 시 응답은 payload에 변경된 Web 플랫폼 상세 정보를 포함합니다.
요청 페이로드
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "UPDATE","payload": {"web_site_url": ["https://developers.kakao.com", "https://www.kakao.com"]}}'
응답 예제
// HTTP/2 200{"web_site_url": ["https://developers.kakao.com", "https://www.kakao.com"]}
앱의 Web 플랫폼 상세 정보를 삭제합니다.
요청 처리 성공 시 응답은 payload에 삭제된 Web 플랫폼 상세 정보를 포함합니다. 앱에 Web 플랫폼이 설정되어 있지 않은 경우에도 요청은 성공하지만 payload에 404 에러 코드와 안내 메시지를 반환합니다.
요청 페이로드
- 없음
응답 페이로드
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d '{"name": "DELETE"}'
응답 예제
// HTTP/2 200{"web_site_url": ["https://developers.kakao.com", "https://www.kakao.com"]}
응답 예제: 앱에 Web 플랫폼이 설정되어 있지 않음
// HTTP/2 404{"message": "${MESSAGE}"}
사이트 도메인을 추가합니다.
payload 하위의 web_site_url에 추가할 사이트 도메인 목록을 전달합니다.
요청 처리 성공 시 응답은 사이트 도메인 목록을 payload에 포함합니다.
요청 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| web_site_url | String[] | 사이트 도메인 목록 | O |
응답 페이로드
| 이름 | 타입 | 설명 | 필수 |
|---|---|---|---|
| web_site_url | String[] | 사이트 도메인 목록 | O |
요청 예제
curl -v POST "https://internal-admin-kapi.kakao.com/app/:app_id/platform/web" \-H "Content-Type: application/json; charset=utf-8" \-H "ADMIN-API-META-RENDER: simple" \-u "${GROUP_NAME}:${GROUP_TOKEN}" \-H "ADMIN-API-USERID: ${USER_INFO}" \-d $'{"name": "ADD_WEB_SITE_URL","payload": {"web_site_url": ["https://developers.kakao.com","https://devtalk.kakao.com"]}}'
응답 예제
// HTTP/2 200{"web_site_url": ["https://developers.kakao.com", "https://devtalk.kakao.com"]}