페이지 이동경로
  • 문서>

사용자 정보

카카오계정에는 사용자가 카카오 플랫폼을 사용하면서 제공 동의한 몇 가지 정보들이 있습니다. 이 사용자 정보들은 사용자의 제 3자 제공 동의를 거쳐 카카오싱크 API를 통해 서비스 애플리케이션(이하 앱)에 제공됩니다. 카카오에서 제공하는 서비스 종류가 다양한만큼 여러 가지 사용자 정보를 제공 받을 수 있습니다.

예를 들어 어떤 사용자가 카카오톡 선물하기에서 물건을 주문할 때 입력했던 배송지 주소를 다음 주문 때 쓰기 위한 목적으로 카카오계정에 저장해 놓았습니다. 이 사용자가 카카오싱크를 연동한 서비스에서 간편가입했을 때 배송지 주소 제공에 동의한다면 같은 주소를 그 서비스에서도 사용할 수 있습니다.

하지만 한 가지 주의사항이 있습니다. 제공 가능한 정보가 없거나 사용자가 제 3자 정보 제공에 동의하지 않아서 모든 정보를 100% 확보할 수는 없다는 점입니다. 예외처리를 위해 두 가지 경우를 조금 더 자세히 알아보겠습니다.

먼저 카카오 플랫폼에서 일부 사용자 정보가 입력된 적 없는 경우입니다. 예를 들어 카카오톡에 가입할 때 카카오계정을 만든 게 아니라, 웹 사이트에서 새로 가입한 사용자에게는 카카오톡 관련 정보가 없습니다. 반대로 카카오톡을 통해 카카오계정을 만들어서 카카오톡 정보는 있지만 다른 서비스는 이용한 적이 없어 다른 정보가 없는 경우도 있을 수 있습니다.

또한 각 앱의 사용자 관리 항목에서 정보 제공 동의를 받을 항목들을 필수 또는 선택으로 고를 수 있으나, 선택 항목은 사용자가 정보 제공에 동의하지 않는다면 받지 못합니다. 따라서 선택 항목은 반드시 필요하지는 않은 데이터에 한해 설정하는 것이 좋습니다.

하지만 카카오계정 정보 중 서비스에서 꼭 필요한 정보가 없다면 문제가 됩니다. 이는 앱 설정에서 해당 항목을 필수로 하고 수집 후 제공 옵션을 이용해 해결합니다. 사용자가 카카오계정으로 가입할 때, 카카오가 해당 사용자 정보를 수집하고 동의 여부에 따라 서비스에 정보를 제공할 수 있습니다.

수집 후 제공 옵션

일부 정보는 취급에 주의가 필요한 정보로써 권한을 받아야만 사용할 수 있습니다. 카카오싱크 신청 페이지에서 사용할 항목으로 설정하고 수집 사유를 입력해 권한을 요청합니다.

카카오싱크에서 제공되는 사용자 정보 종류는 다음과 같습니다. 이름과 자료형은 REST API 응답 바탕으로 기재했습니다.

사용자 정보 요청 API의 응답은 새로운 정보가 추가되거나 기존 정보가 제외(deprecate)될 수 있습니다. 응답 구성이 변경되더라도 에러가 발생하지 않도록 응답 해석(JSON parsing) 시 예외처리에 유의해야 합니다.

사용자 정보 요청 응답

Name Type Description
id Long 사용자 ID
kakao_account KakaoAccount 카카오계정 정보
properties JSON 추가 정보
synched_at Datetime 카카오싱크 간편가입을 통해 로그인한 시각, UTC
(RFC3339 internet date/time format)
connected_at Datetime 서비스에 연결 완료된 시각, UTC
(RFC3339 internet date/time format)

참고로 synched_at은 카카오싱크 서비스에만 제공되는 정보입니다. 카카오싱크 간편가입 사용자라면 connected_at과 synched_at 값이 같습니다. 시간 정보는 UTC 기준으로, 한국 시간(KST)과 8시간(하절기) 또는 9시간(동절기) 차이가 납니다.

kakao_account에 담긴 사용자 정보 종류

Name Type Description
profile JSON 카카오계정 프로필 정보
email String 카카오계정 대표 이메일
age_range String 연령대, 하단 상세 참고
birthday String 생일, MMDD 형식
birtyear String 생년월일, YYYY 형식
gender String 성별, female/male
phone_number String 전화번호
ci String 암호화된 이용자 확인 값
xxx_needs_agreement? 특정 정보에 대해 서비스에서 사용자로부터 제공 동의를 받으면 카카오에서 제공 가능한지를 알려주는 키입니다. needs_agreement 항목이 false인 사용자에게서는 해당 정보를 제공 받을 수 없으므로 자체적으로 정보를 수집하거나 관련 서비스를 제공하지 않아야 합니다.
이 값은 사용자 동의 필요 여부를 의미합니다. 따라서 이미 제공되고 있는 값도 xxx_needs_agreement 값이 false입니다. 특정 정보가 빈 값이지만 needs_agreement 항목이 false인 경우, 사용자가 해당 정보를 제공하지 않은 경우입니다.
xxx_needs_agreement가 true인 정보는 카카오를 통해 제공 받을 수 있으므로, 추가 항목 동의 받기를 통해 사용자 동의를 요청, 앞으로 정보를 제공 받을 수 있도록 합니다.

각각의 사용자 정보와 관련된 값들과 검수 필요 여부를 정리하면 다음과 같습니다.

프로필(profile)

  • 카카오 로그인 사용 시 기본 설정되는 항목입니다.
Name Type Description
nickname String 닉네임
profile_image String 프로필 이미지 URL, 640px * 640px 또는 480px * 480px
thumbnail_image_url String 프로필 미리보기 이미지 URL, 110px * 110px 또는 100px * 100px
profile_needs_agreement Boolean 사용자 동의 시 프로필 제공 가능

이메일(email)

  • 비즈 앱은 별도 권한 신청 없이 필수 또는 선택 설정이 모두 가능합니다.
  • 사용자의 카카오계정 이메일이 없을 수 있습니다. 이 경우, 카카오계정 정보를 통한 수집(수집 후 제공) 옵션을 쓰거나 자체 수집해야 합니다.
  • 카카오계정 이메일이 인증 받지 않은 이메일일 수 있습니다. 인증 받은 이메일만 사용해야 하는 서비스라면 인증 여부를 확인 후, 미인증 이메일 사용자에게 자체적으로 인증 절차를 진행해야 합니다.
  • 카카오계정의 이메일 정보는 사용자 요청에 따라 변경될 수 있습니다. 이러한 이유로 카카오싱크 서비스에서 이메일을 ID로 삼거나 동일 사용자를 확인하는 방식을 권장하지 않습니다.
Name Type Description
email String 카카오계정 대표 이메일
email_needs_agreement boolean 사용자 동의 시 이메일 제공 가능
is_email_valid Boolean 이메일이 다른 카카오계정에 사용돼 만료되었다면 무효(false)
is_email_verified Boolean 이메일 인증 여부

연령대(age_range)

  • 선택 항목 설정이 기본 제공되고, 카카오싱크 서비스는 검수 통과 시 필수 항목으로 설정 가능합니다.
  • 한국 나이 기준입니다.
Name Type Description
age_range String 연령대
age_range_needs_agreement Boolean 사용자 동의 시 연령대 제공 가능
Value Description
1~9 1세 이상 10세 미만
10~14 10세 이상 15세 미만
15~19 15세 이상 20세 미만
20~29 20세 이상 30세 미만
30~39 30세 이상 40세 미만
40~49 40세 이상 50세 미만
50~59 50세 이상 60세 미만
60~69 60세 이상 70세 미만
70~79 70세 이상 80세 미만
80~89 80세 이상 90세 미만
90~ 90세 이상

생일(birthday)

  • 선택 항목 설정이 기본 제공되고, 카카오싱크 서비스는 검수를 통해 필수 항목으로 설정 가능합니다.
Name Type Description
birthday String 생일, MMDD 형식
birthday_needs_agreement Boolean 사용자 동의 시 생일 제공 가능
birthday_type String 생일 양력/음력 구분, 양력(SOLAR)/음력(LUNAR)
birtyear String 출생연도, 태어난 해
birthyear_needs_agreement Boolean 사용자 동의 시 출생연도 제공 가능

출생연도(birthyear)

  • 기본 제공되지 않습니다.
  • 카카오싱크 서비스는 필수 또는 선택 항목으로 설정 가능합니다.
Name Type Description
birtyear String 출생연도, 태어난 해
birthyear_needs_agreement Boolean 사용자 동의 시 태어난 해 제공 가능

성별(gender)

  • 선택 항목으로 기본 제공되고, 카카오싱크 서비스는 검수를 통해 필수 항목으로 설정 가능합니다.
Name Type Description
gender String 성별, female/male
gender_needs_agreement Boolean 사용자 동의 시 성별 제공 가능

전화번호(phone_number)

  • 기본 제공되지 않습니다.
  • 카카오싱크 서비스는 검수를 통해 필수 또는 선택 항목으로 설정 가능합니다.
  • 카카오계정에 연결된 카카오톡의 전화번호입니다.
Name Type Description
phone_number String 전화번호, +00 00-0000-0000 또는 +00 00 0000 0000 형식, 국가마다 하이픈(-) 위치나 값 다를 수 있음
(참고-libphonenumber)
phone_number_needs_agreement Boolean 사용자 동의 시 성별 제공 가능

연계정보(CI)

  • 기본 제공되지 않습니다.
  • 카카오싱크 서비스는 검수를 통해 필수 또는 선택 항목으로 설정 가능합니다.
  • 기존 회원 데이터베이스에 동일한 회원이 있는지 대조하는 등 최소한의 목적으로만 참고해야 합니다.
  • 카카오는 본인인증기관이 아닙니다. 카카오계정의 연계정보로 서비스에 필요한 본인 인증을 대신할 수 없습니다.
Name Type Description
ci String 연계정보
ci_needs_agreement Boolean 사용자 동의 시 CI 참고 가능
ci_authenticated_at String CI 발생 시각, UTC
(RFC3339 internet date/time format)

properties(추가 사용자 정보)

  • 카카오계정에 서비스 정보를 저장할 수 있습니다. 저장된 값은 추가 사용자 정보로 불러올 수 있습니다. 추가 사용자 정보 가이드를 참고합니다.
Name Description
nickname 사용자가 해당 서비스에서 설정한 닉네임
기본 값은 카카오계정 닉네임
profile_image_url 사용자가 해당 서비스에서 설정한 프로필 이미지 URL
기본 값은 카카오계정 프로필 이미지 URL
thumbnail_image_url 사용자가 해당 서비스에서 설정한 프로필 이미지 썸네일 URL
기본 값은 카카오계정 썸네일 URL

다른 API로 받는 정보

  • 친구 정보 : 기본적으로 앱 설정의 팀 멤버에 한해 동작하고, 개발자 포럼에서 권한 신청하여 필수 또는 선택 항목으로 설정 가능합니다.
  • 배송지 정보 : 기본 제공되지 않고, 카카오싱크 서비스는 검수를 통해 필수 또는 선택 항목으로 설정 가능합니다.
사용자 정보 요청 응답에 없는 정보들이 있어요! 카카오에서 취급하지 않는 정보(여권번호 등)는 서비스에서 직접 수집하셔야 합니다. 카카오계정에 있는 정보라도, 사용자가 카카오싱크를 통해 앱에 로그인할 때 제 3자 정보 제공에 동의해야 이용 가능합니다. 사용자가 제 3자에게 제공하는 것에 동의하지 않으면 앱에서 요청을 받더라도 값을 제공할 수 없습니다. xxx_needs_agreement 값이 제 3자 제공 동의가 필요한지 항목인지, 동의 받은 상태인지를 알려줍니다.

Web

Request

  • URL-Access Token
GET/POST /v2/user/me HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {access_token}
Content-type: application/x-www-form-urlencoded;charset=utf-8
  • Header-Access Token
Name Required Description
Authorization Y 헤더 포맷
Authorization: Bearer ${access_token}
  • Sample-Access Token-모든 정보 받기
curl -v -X GET https://kapi.kakao.com/v2/user/me \
  -H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  • Sample-Access Token-email 정보 받기
curl -v -X POST https://kapi.kakao.com/v2/user/me \
  -H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d 'property_keys=["kakao_account.email"]'
  • URL-Admin Key
GET/POST /v2/user/me HTTP/1.1
Host: kapi.kakao.com
Authorization: KakaoAK {admin_key}
Content-type: application/x-www-form-urlencoded;charset=utf-8
  • Header-Admin Key
Name Required Description
Authorization Y 헤더 포맷
Authorization: KakaoAK {admin_key}
  • Param-Admin Key
Key Required Description
target_id_type O 사용자 ID 타입, user_id로 고정
target_id O 사용자 ID
  • Sample-Admin Key-email 정보 받기
curl -v -X POST https://kapi.kakao.com/v2/user/me \
  -H "Authorization: KakaoAK kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" \
  -d 'target_id_type=user_id&target_id=12345' \
  -d 'property_keys=["kakao_account.email"]'
  • Additional Param
Key Required Description
property_keys X 사용자 정보의 키 리스트
JSON Array 형태
secure_resource X 이미지 URL을 https로 반환할지 여부
true/false

사용자 정보 요청 REST API는 사용자 액세스 토큰을 사용하는 방법, 앱 어드민 키를 사용하는 방법 두 가지로 제공됩니다. 어드민 키는 앱의 마스터 키와 같아 보안에 유의해야 하므로 서버에서 호출할 때만 사용합니다.

사용자 액세스 토큰 또는 어드민 키와 사용자 ID를 헤더(header)에 담아 GET/POST로 요청합니다. 어드민 키로 요청할 때는 어떤 사용자의 정보가 필요한지 명시하기 위해 대상 사용자의 ID를 전달합니다. 추가 파라미터를 사용하면 특정 정보만 지정해서 받아오거나 URL 응답 값을 https로 받을지 지정할 수 있습니다.

또한 사용자 정보에는 앱 설정에 등록해 사용하는 추가 사용자 정보 기능이 제공됩니다. 예를 들어 서비스에서 따로 설정한 사용자 닉네임 등을 카카오계정 정보에도 저장해둘 수 있습니다. 다음은 추가 정보 관련 키 목록입니다.

  • Key-Properties
Name Description
properties.nickname 서비스에서 쓰이는 사용자 닉네임
기본 값은 앱연결시의 카카오계정 닉네임
properties.profile_image 서비스에서 쓰이는 사용자 프로필 이미지 URL
기본 값은 앱연결시의 카카오계정 프로필 이미지 URL(640* 640)
properties.thumbnail_image 서비스에서 쓰이는 사용자 썸네일 이미지 URL
기본 값은 앱 연결 시의 카카오계정 썸네일 프로필 이미지 URL(110* 110)
kakao_account.profile 카카오계정의 프로필 소유 여부
실시간 닉네임과 프로필 이미지 URL
kakao_account.email 카카오계정의 이메일 소유 여부
이메일 값, 이메일 인증 여부, 이메일 유효 여부
kakao_account.age_range 카카오계정의 연령대 소유 여부, 연령대 값
kakao_account.birthday 카카오계정의 생일 소유 여부, 생일 값
kakao_account.gender 카카오계정의 성별 소유 여부, 성별 값

Response

  • Sample-Sucess
HTTP/1.1 200 OK
{
  "id":123456789,
  "properties":{
     "nickname":"홍길동카톡",
     "thumbnail_image":"http://xxx.kakao.co.kr/.../aaa.jpg",
     "profile_image":"http://xxx.kakao.co.kr/.../bbb.jpg",
     "custom_field1":"23",
     "custom_field2":"여"
     ...
  },
  "kakao_account": { 
    "profile_needs_agreement": false,
    "profile": {
      "nickname": "홍길동",
      "thumbnail_image_url": "http://yyy.kakao.com/.../img_110x110.jpg",
      "profile_image_url": "http://yyy.kakao.com/dn/.../img_640x640.jpg"
    },
    "email_needs_agreement":false, 
    "is_email_valid": true,   
    "is_email_verified": true,   
    "email": "xxxxxxx@xxxxx.com"
    "age_range_needs_agreement":false,
    "age_range":"20~29",
    "birthday_needs_agreement":false,
    "birthday":"1130",
    "gender_needs_agreement":false,
    "gender":"female"
  }
}

요청이 성공하면 응답 Body에 JSON 객체로 사용자 정보들이 전달됩니다.

iOS

Request

  • Sample-모든 정보 받기
[KOSessionTask userMeTaskWithCompletion:^(NSError *error, KOUserMe *me) {
    if (me) {
        NSLog(@"사용자 아이디: %@", me.ID);
    } else {
        NSLog(@"사용자 정보 요청 실패: %@", error);
    }
}];
  • Sample-프로필 정보 받기
[KOSessionTask userMeTaskWithCompletion:^(NSError *error, KOUserMe *me) {
    if (me) {
        NSLog(@"사용자 아이디: %@", me.ID);

        if (me.account.profile) {

            // 프로필 조회 성공
            NSLog(@"사용자 닉네임: %@", me.account.profile.nickname);
            NSLog(@"프로필 이미지: %@", me.account.profile.profileImageUrl);

        } else if (me.account.profileNeedsAgreement) {

            // 프로필 조회를 위해 사용자 동의가 필요한 상황
            [[KOSession sharedSession] updateScopes:@[@"profile"]
                                  completionHandler:^(NSError *error) {
                                      if (error) {
                                          if (error.code == KOErrorCancelled) {
                                              // 동의 안함

                                          } else {
                                              // 기타 에러
                                          }
                                      } else {
                                          // 동의함
                                          // *** userMe를 다시 요청하면 프로필 획득 가능 ***

                                      }
                                  }];
        } else {
            // 프로필 조회 불가능 (카카오계정 프로필 정보 없음)

        }
    } else {
        NSLog(@"사용자 정보 요청 실패: %@", error);
    }
}];
  • Sample-email과 nickname 정보 받기
[KOSessionTask userMeTaskWithPropertyKeys:@[@"kakao_account.email",
                                            @"properties.nickname"]
                               completion:^(NSError *error, KOUserMe *me) {
                           if (error) {
                               // fail

                           } else {
                               // success

                               NSLog(@"사용자 아이디: %@", me.ID);
                               NSLog(@"사용자 이메일: %@", me.account.email);
                               NSLog(@"사용자 닉네임: %@", me.nickname);
                           }
                        }];

사용자 정보는 userMeTaskWithCompletion 또는 userMeTaskWithPropertyKeys*로 요청합니다. 원하는 특정 값만 요청하고 싶은 경우, 해당 정보의 키를 지정해 일부만 받아볼 수 있습니다. 계정 하위 정보는 *kakao_account.XXX, 추가 정보는 properties.XXX 형식으로 키를 전달합니다.

Response

응답으로 받는 iOS SDK의 사용자 정보 클래스와 자료형입니다.

  • KOUserMe : 사용자 정보 요청 API 응답으로 돌아오는 최상위 클래스입니다.
Name Type Description
ID NSString 사용자 ID
account KOUserMeAccount 카카오계정 정보
properties NSDictionary 추가 정보
synched_at NSDate 카카오싱크 간편가입을 통해 로그인한 시각, UTC
(RFC3339 internet date/time format)
connected_at NSDate 서비스에 연결 완료된 시각, UTC
(RFC3339 internet date/time format)
  • KOUserMeAccount : KOUserMe의 account에 담긴 카카오계정 개인 정보들입니다. 사용자 동의 여부에 따라 값이 제공되지 않을 수 있습니다.
Name Type Description
profileNeedsAgreement BOOL 프로필 정보 제공 동의 필요할 경우 True
profile KOUserMeProfile 카카오계정 프로필
emailNeedsAgreement BOOL 이메일 정보 제공 동의 필요할 경우 True
isEmailValid BOOL 이메일 유효성
간혹 이메일 실소유자에 의해 카카오계정 이메일이 무효화 되는 경우 false
isEmailVerified KOOptionalBoolean 이메일 인증 여부
email NSString 이메일 주소
ageRangeNeedsAgreement BOOL 연령대 정보 제공 동의 필요할 경우 True
ageRange KOUserAgeRange 사용자 연령대
birthdayNeedsAgreement BOOL 생일 정보 제공 동의 필요할 경우 True
birthday NSString MMDD 형식 생일
birthday_type 생일 양력/음력 구분, 양력(SOLAR)/음력(LUNAR)
genderNeedsAgreement BOOL 성별 정보 제공 동의 필요할 경우 True
gender NSString 성별, KOUserGenderMale(남성)/KOUserGenderFemale(여성)
  • KOUserMeProfile : KOUserMeAccount의 하위 속성으로, 카카오계정 프로필 정보를 실시간 조회합니다.
Name Type Description
nickName NSString 닉네임
profileImageURL NSURL 프로필 이미지 URL
프로필 이미지 없을 경우 nil
이미지 규격 640640, 영상 480480
thumbnailImageURL NSURL 프로필 이미지 썸네일 URL
프로필 이미지 없을 경우 nil
이미지 규격 110110, 영상 100100
프로필 정보는 카카오톡의 프로필인가요? 카카오톡이 아닌 카카오계정의 프로필 정보입니다. 카카오계정 프로필 정보는 [카카오계정 로그인](https://accounts.kakao.com) 후 확인 가능합니다. 카카오계정에 프로필이 등록되지 않은 경우에 대비하려면 수집 후 제공 옵션을 사용해야 합니다. 또는 카카오톡이나 카카오스토리 프로필을 요청할 수도 있지만, 카카오계정에 해당 서비스가 연결되어 있지 않다면 마찬가지로 값을 받을 수 없습니다.
  • KOUserAgeRange : 사용자 연령대입니다.
Value Description
KOUserAgeRangeNull 연령대 정보 없음
KOUserAgeRangeType0 0~9세
KOUserAgeRangeType10 10~14세
KOUserAgeRangeType15 15~19세
KOUserAgeRangeType20 20~29세
KOUserAgeRangeType30 30~39세
KOUserAgeRangeType40 40~49세
KOUserAgeRangeType50 50~59세
KOUserAgeRangeType60 60~69세
KOUserAgeRangeType70 70~79세
KOUserAgeRangeType80 80~89세
KOUserAgeRangeType90 90세 이상

Android

Request

  • Sample-닉네임, 프로필 이미지 URL 정보 받기
private void requestMe() {
    List<String> keys = new ArrayList<>();
    keys.add("properties.nickname");
    keys.add("properties.profile_image");
    keys.add("kakao_account.email");

    UserManagement.getInstance().me(keys, new MeV2ResponseCallback() {
        @Override
        public void onFailure(ErrorResult errorResult) {
            String message = "failed to get user info. msg=" + errorResult;
            Logger.d(message);
        }

        @Override
        public void onSessionClosed(ErrorResult errorResult) {
            redirectLoginActivity();
        }

        @Override
        public void onSuccess(MeV2Response response) {
            Logger.d("user id : " + response.getId());
            Logger.d("email: " + response.getKakaoAccount().getEmail());
            Logger.d("profile image: " + response.getKakaoAccount()
            .getProfileImagePath());
            redirectMainActivity();
        }

        @Override
        public void onNotSignedUp() {
            showSignup();
        }
    });
}

사용자를 관리하는 객체인 UserManagemetme를 호출해 사용자 정보를 받습니다. 특정 정보만 요청하도록 지정할 수도 있으며, 위 예제와 같이 List에 키들을 담아 호출합니다. 모든 정보를 받으려면 응답을 처리할 MeV2ResponseCallback만 전달합니다.

Response

사용자 정보 받기 성공 시 가져온 사용자 정보를 출력하고, 실패 시 에러 메시지를 보여주게 돼 있습니다. 응답 정보는 다음과 같습니다.

  • MeV2ResponseCallback : 사용자 정보 요청 응답 구성입니다.
Name Param Description
onSuccess MeV2Response 요청 성공 시 받는 사용자 정보 객체
onSessionClosed ErrorResult 세션이 닫혀 실패, 재로그인 및 토큰 발급 필요
onFailure ErrorResult 가입이 안 된 경우와 세션이 닫힌 경우를 제외한 다른 이유로 요청이 실패한 경우
  • MeV2Response : 사용자 정보 요청 성공 시 받는 응답입니다.
Name Type Description
id Long 사용자 ID
kakaoAccount UserAccount 카카오계정 정보
properties Map 추가 사용자 정보
synchedAt String 카카오싱크 간편가입을 통해 로그인한 시각, UTC
(RFC3339 internet date/time format)
connectedAt String 서비스에 연결 완료된 시각, UTC
(RFC3339 internet date/time format)
  • UserAccount : 사용자 정보 요청 성공 시 받는 카카오계정 정보를 담고 있습니다.
Name Type Description
profileNeedsAgreement OptionalBoolean 프로필 정보 제공 동의 필요할 경우 True
profile Profile 프로필 정보
nickname, profile_image_url, thumbnail_image_url 포함
profile_image_url :640px * 640px 또는 480px * 480px
thumbnail_image_url: 110px * 110px 또는 100px * 100px
emailNeedsAgreement OptionalBoolean 이메일 정보 제공 동의 필요할 경우 True
isEmailValid OptionalBoolean 이메일 유효성
간혹 이메일 실소유자에 의해 카카오계정 이메일이 무효화 되는 경우 false
isEmailVerified OptionalBoolean 이메일 인증 여부
email String 이메일 주소
ageRangeNeedsAgreement OptionalBoolean 연령대 정보 제공 동의 필요 여부
ageRange AgeRange 사용자 카카오계정의 연령대
birthdayNeedsAgreement OptionalBoolean 생일 정보 제공 동의 필요 여부
birthday String MMDD 형식의 생일
birthdayType BirthdayType 생일 양력/음력 구분, 양력(SOLAR)/음력(LUNAR)
genderNeedsAgreement OptionalBoolean 성별을 얻기 위해 추가 동의가 필요한지에 대한 여부
gender Gender 사용자 카카오계정의 성별
  • AgeRange : 카카오계정 정보 중 연령대를 나타냅니다.
Name Value Description
AGE_0_9 0~9 0 ~ 9세
AGE_10_14 10~14 10 ~ 14세
AGE_15_19 15~19 15 ~ 19세
AGE_20_29 20~29 20 ~ 29세
AGE_30_39 30~39 30 ~ 39세
AGE_40_49 40~49 40 ~ 49세
AGE_50_59 50~59 50 ~ 59세
AGE_60_69 60~69 60 ~ 69세
AGE_70_79 70~79 70 ~ 79세
AGE_80_89 80~89 80 ~ 89세
AGE_90_ABOVE 90~ 90세 이상