본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

관련사이트

사이드 메뉴

카카오맵

검색

이 문서는 톡디지털카드디지털카드 발급 기능에 대한 소개와 API 문서를 제공합니다.

카카오가 발급하는 톡학생증, 톡사원증 외에도 제휴 서비스–발급처가 원하는 다양한 카드를 직접 기획/연동하여, 사용자에게 발급 서비스를 제공하고, 일련의 발급과정을 거쳐 사용자의 카카오톡 지갑에 담을 수 있습니다.

톡디지털카드와 관련된 주요 정책은 다음과 같으며 세부 정책 수립, 연동 운영 방식에 있어서 카카오와의 계약 및 협의가 필요합니다.

  • 디지털카드는 카카오톡에 가입된 국내 사용자의 카카오계정에 발급됩니다.
  • 카드에는 발급처에서 지정한 카드데이터(속성 정보)를 포함시킬 수 있습니다.
  • 카드의 발급 및 관리, 회수는 발급처에서 관리합니다.

톡디지털카드에 대한 자세한 사항은 이해하기를 참고합니다.

제휴 안내

톡디지털카드는 카카오와 제휴 계약 체결 후 이용할 수 있습니다. 제휴 문의는 카카오 제휴 안내 사이트에서 가능합니다.

디지털카드 발급 방식은 두 가지가 있습니다.

  • 앱 전환 방식: 사용자가 카카오톡 앱을 직접 실행시켜 디지털카드 발급
  • 채널 메시지 방식: 톡디지털카드 공식 카카오톡 채널이 발송한 발급 요청 메시지에서 디지털카드 발급

아래 이미지는 이해를 돕기 위한 사용자의 디지털카드 발급 과정입니다. ❶디지털카드 발급 요청 페이지와 ❷ 카카오톡 앱 실행은 발급처에서 직접 구현해야 합니다.

앱 전환 발급 방식

톡디지털카드 공식 카카오톡 채널에서 발급 요청 메시지가 발송됩니다.

채널 메시지 발급 방식

채널 메시지 발급 과정

  1. 데이터 생성 API를 요청해 새로운 디지털카드 데이터 명세를 생성합니다.
  2. 디자인 명세 생성 API를 요청해 데이터 명세에 적용할 디자인 명세를 생성합니다.
  1. 발급 제안 API를 요청하면 톡디지털카드 서버에서 사용자에게 앱투앱(App to app) 또는 채널 메시지 방식으로 해당 디지털카드 발급을 제안합니다.
  2. 사용자는 발급 미리보기 페이지를 확인하고 파트너가 설정한 동의항목과 본인 확인 절차를 거쳐 디지털카드를 발급받습니다.
  3. 발급 대상 검증이 필요한 경우 톡디지털카드 서버는 사용자 정보 요청 웹훅으로 발급처에 사용자 정보를 확인합니다.
  4. 디지털카드 발급이 가능한 경우, 톡디지털카드 서버는 발급 요청 웹훅으로 발급처에 이를 전달합니다.
  5. 발급처는 발급 요청 웹훅을 받은 후 발급 처리 API를 요청해 디지털카드를 발급할 수 있습니다.
    • 발급된 디지털카드의 고유 번호(cardId)가 응답으로 반환됩니다.
  1. 발급 회수 API를 요청하면 톡디지털카드 서버에서 사용자에게 발급된 디지털카드를 회수합니다.

발급 대상의 카카오계정 정확성을 검증하기 위해 카카오계정 본인인증 또는 카카오톡 인증 서비스를 활용한 전자서명을 발급 과정에 추가할 수 있습니다. 발급처가 보유한 본인 확인 정보와 카카오계정의 본인 정보를 비교해 디지털카드 발급 대상의 동일성을 확인합니다.

아래 이미지는 이해를 돕기 위한 사용자의 본인인증이 포함된 발급 과정입니다.

카카오계정 본인인증 과정 추가 발급 대상 검증

* 본인인증되지 않은 카카오계정이거나 계정 정보가 서비스와 다르면 발급되지 않음

카카오톡 인증 서비스 전자서명 과정 추가 발급 대상 검증

* 카카오 인증서가 없는 계정은 인증서 발급 과정을 먼저 수행
  1. 카카오디벨로퍼스 앱을 생성 해 서비스 정보를 등록합니다. 기존 앱의 설정과 사용자 정보를 그대로 사용할 수도 있습니다.
  2. 앱에 사업자 정보를 등록해 비즈 앱으로 전환합니다.
    • 중요: 비즈 앱의 사업자 정보는 디지털카드 발급처의 사업자 정보와 동일해야 합니다.
  3. 디지털카드 동의 화면이나 제출 요청 메시지를 보낼 비즈니스 채널을 생성합니다.
  4. 앞서 생성한 비즈 앱과 비즈니스 채널을 연결합니다.
  5. API를 호출할 서버의 IP를 허용 IP 주소로 등록합니다.
    • 중요: 톡디지털카드 API는 서버에서 앱 어드민 키(Admin key)를 사용해 호출하므로, 보안을 위해 반드시 허용 IP를 등록해야 합니다. 만약 다른 카카오 API도 함께 사용하는 경우, 해당 API를 호출하는 서버의 IP도 모두 등록해야 합니다.
  6. 카카오 로그인 기능을 사용 설정합니다.
  7. 발급 과정을 참고해 필요한 기능을 연동합니다.
메서드URL인증 방식
POSThttps://digitalcard-partner.kakao.com/issue-credential/definitions서비스 앱 어드민 키

새로운 디지털카드의 데이터 명세를 만듭니다.

발급 이력이 없는 데이터 명세은 수정하기로 데이터를 수정할 수 있습니다. 디지털카드 발급으로 사용자에게 발급할 수 있습니다.

어드민 앱 키를 헤더에 담아 POST로 요청합니다. 생성할 디지털카드의 데이터를 파라미터로 포함해야 합니다.

요청 성공 시 응답 헤더에 생성된 디지털카드 고유 번호가 입력된 리다이렉트(Redirect) URI가 헤더에 포함됩니다. 응답 본문은 생성한 발급데이터 명세 고유 번호(credentialDefinitionId)를 포함하는 JSON 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
nameString디지털카드 이름O
cardNameString카드명 규칙
카드마다 다른 카드명을 적용하고 싶을 때 사용
카드 데이터의 어떤 값을 카드명에 포함할지 JSON 경로로 지정 가능
{{$.credentialSubject.${FIELD_NAME}}} 형식, 예제 참고

참고: cardName 지정 없이 카드 발급 시, 카드명은 name 값으로 지정
X
propertiesObject디지털카드의 데이터별 규격 객체, 예제 참고O
needServiceTermBoolean디지털카드 발급 시 파트너 약관 동의항목 필요 여부, 파트너 약관 참고O
termsUrlString파트너 약관 URL(기본값: null)

참고: needServiceTermtrue인 경우 설정 필요
X
authLevelString디지털카드 발급 대상 검증 방법, 발급 대상 검증 참고, 아래 중 하나
  • NONE: 검증 안함
  • ACCOUNT_AUTH: 카카오 계정 본인인증
  • SIGN: 카카오 인증서 서명
O
channelPublicIdString발급처 카카오톡 채널 ID, 채널 메시지 참고X
needChannelPlusBoolean디지털카드 발급 시 선택동의로 채널 추가 노출 여부 (기본값 true), 카카오톡 채널 친구 추가 참고X
이름설명필수
LocationLocation: /issue-credential/definitions/${CREDENTIAL_DEFINITION_ID}
리다이렉트 URI
O
이름타입설명필수
credentialDefinitionIdString발급데이터 명세 고유 번호O
curl -L -X POST 'https://digitalcard-partner.kakao.com/issue-credential/definitions' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-d '{
"name": "ifkakao기념카드",
"properties": {
"author": {
"name": "https://schema.org/name"
},
"datePublished": "https://schema.org/datePublished"
},
"needServiceTerm": false,
"authLevel": "NONE",
"channelPublicId": "_CiN",
"cardName": "{{$.credentialSubject.author.name}} 카드"
}'
// 201 Created
// Location: /issue-credential/definitions/1ed8024a-cb4d-6341-a94b-2f025d46c87c
{
"credentialDefinitionId": "1ed8024a-cb4d-6341-a94b-2f025d46c87c"
}
메서드URL인증 방식
GEThttps://digitalcard-partner.kakao.com/issue-credential/definitions/{CREDENTIAL_DEFINITION_ID}서비스 앱 어드민 키

디지털카드 데이터를 확인합니다.

어드민 앱 키를 헤더에 담아 GET으로 요청합니다. 요청 URL에 경로 변수(Path variable)로 발급데이터 명세 고유 번호(credentialDefinitionId)를 포함해 특정 디지털카드 데이터만 확인할 수 있습니다.

요청 성공 시 응답은 디지털카드 데이터 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
CREDENTIAL_DEFINITION_IDString조회할 발급데이터 명세 고유 번호, 예제 참고X
이름타입설명필수
credentialDefinitionResponseCredentialDefinitionResponse디지털카드 데이터 정보O
이름타입설명필수
idString발급데이터 명세 고유 번호O
nameString디지털카드 이름O
cardNameString카드명 규칙X
propertiesObject디지털카드의 데이터별 규격 객체, 키와 값의 쌍으로 구성, 예제 참고O
needServiceTermBoolean디지털카드 발급 시 파트너 약관 동의항목 필요 여부, 파트너 약관 참고O
termsUrlString파트너 약관 URL(기본값: null)O
authLevelString디지털카드 발급 대상 검증 방법, 발급 대상 검증 참고, 아래 중 하나
  • NONE: 검증 안함
  • ACCOUNT_AUTH: 카카오 계정 본인인증
  • SIGN: 카카오 인증서 서명
O
channelPublicIdString발급처 카카오톡 채널 ID, 채널 메시지 참고O
stateString디지털카드 활성화 여부
  • true: 활성
  • false: 비활성
O
curl -L -X GET 'https://digitalcard-partner.kakao.com/issue-credential/definitions/${CREDENTIAL_DEFINITION_ID} \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}'
// HTTP/1.1 200 OK
{
"name": "브런치 작가 카드",
"context": ["https://www.w3.org/2018/credentials/examples/v1", "https://schema.org"],
"type": ["Author Card"],
"properties": {
"author": {
"name": "https://schema.org/name"
},
"datePublished": "https://schema.org/datePublished"
},
"needServiceTerm": false,
"termsUrl": null,
"authLevel": "NONE",
"channelPublicId": "_CiN",
"needChannelPlus": true,
"state": "ACTIVE"
}
메서드URL인증 방식
GEThttps://digitalcard-partner.kakao.com/issue-credential/definitions서비스 앱 어드민 키

디지털카드 데이터를 확인합니다.

어드민 앱 키를 헤더에 담아 GET으로 요청합니다.

요청 성공 시 응답은 각 디지털카드 데이터를 값으로 갖는 List입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
credentialDefinitionResponseCredentialDefinitionResponse[]디지털카드 데이터 리스트O
이름타입설명필수
idString발급데이터 명세 고유 번호O
nameString디지털카드 이름O
cardNameString카드명 규칙X
propertiesObject디지털카드의 데이터별 규격 객체, 키와 값의 쌍으로 구성, 예제 참고O
needServiceTermBoolean디지털카드 발급 시 파트너 약관 동의항목 필요 여부, 파트너 약관 참고O
termsUrlString파트너 약관 URL(기본값: null)O
authLevelString디지털카드 발급 대상 검증 방법, 발급 대상 검증 참고, 아래 중 하나
  • NONE: 검증 안함
  • ACCOUNT_AUTH: 카카오 계정 본인인증
  • SIGN: 카카오 인증서 서명
O
channelPublicIdString발급처 카카오톡 채널 ID, 채널 메시지 참고O
stateString디지털카드 활성화 여부
  • true: 활성
  • false: 비활성
O
curl -L -X GET 'https://digitalcard-partner.kakao.com/issue-credential/definitions' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}'
// HTTP/1.1 200 OK
[
{
"id": "1ed513ba-6dfb-6fac-8055-cba3246a4667",
"name": "학생인증카드",
"properties": ["alumniOf"],
"needServiceTerm": true,
"authLevel": "SIGN",
"channelPublicId": "_CiN",
"termsUrl": "https://www.kakao.com/policy/terms?type=a&lang=ko",
"state": "ACTIVE"
},
{
"id": "1ed76d7a-3c17-61ac-9e27-0710cdad622b",
"name": "브런치 작가 카드",
"context": ["https://www.w3.org/2018/credentials/examples/v1", "https://schema.org"],
"type": ["Author Card"],
"properties": {
"author": {
"name": "https://schema.org/name"
},
"datePublished": "https://schema.org/datePublished"
},
"needServiceTerm": false,
"authLevel": "NONE",
"channelPublicId": "_CiNNN",
"termsUrl": null,
"state": "ACTIVE",
"cardName": "{{$.credentialSubject.author.name}} 카드"
}
]
메서드URL인증 방식
PATCHhttps://digitalcard-partner.kakao.com/issue-credential/definitions/${CREDENTIAL_DEFINITION_ID}서비스 앱 어드민 키

특정 디지털카드 데이터를 수정합니다.

발급 이력이 없는 데이터 명세(credentialDefinition)만 수정 가능합니다.

어드민 앱 키를 헤더에 담아 PATCH로 요청합니다. 요청 URL에 경로 변수(Path variable)로 발급데이터 명세 고유 번호(credentialDefinitionId)를 포함해야 합니다.

요청 성공 시 응답 헤더에 수정된 디지털카드 고유 번호가 입력된 리다이렉트(Redirect) URI가 포함됩니다. 응답 본문은 수정된 디지털카드 데이터가 포함된 JSON 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
Content-TypeContent-Type: application/merge-patch+json
요청 데이터 타입
O
이름타입설명필수
CREDENTIAL_DEFINITION_IDString디지털카드 고유 번호O
이름타입설명필수
nameString디지털카드 이름X
cardNameString카드명 규칙
카드마다 다른 카드명을 적용하고 싶을 때 사용
카드 데이터의 어떤 값을 카드명에 포함할지 JSON 경로로 지정 가능
{{$.credentialSubject.${FIELD_NAME}}} 형식

참고: cardName 지정 없이 카드 발급 시, 카드명은 name 값으로 지정
X
needServiceTermBoolean디지털카드 발급 시 파트너 약관 동의항목 필요 여부, 파트너 약관 참고X
termsUrlString파트너 약관 URL(기본값: null)

참고: needServiceTermtrue인 경우 설정 필요
X
authLevelString디지털카드 발급 대상 검증 방법, 발급 대상 검증 참고, 아래 중 하나
  • NONE: 검증 안함
  • ACCOUNT_AUTH: 카카오 계정 본인인증
  • SIGN: 카카오 인증서 서명
X
channelPublicIdString발급처 카카오톡 채널 IDX
stateString디지털카드 활성화 여부
  • true: 활성
  • false: 비활성
X
이름설명필수
LocationLocation: /issue-credential/definitions/${CREDENTIAL_DEFINITION_ID}
리다이렉트 URI
O
이름타입설명필수
credentialDefinitionResponseCredentialDefinitionResponse디지털카드 데이터O
curl -L -X PATCH 'https://digitalcard-partner.kakao.com/issue-credential/definitions/1ed513ba-6dfb-6fac-8055-cba3246a4667' \
-H 'Content-Type: application/merge-patch+json' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-d '{
"name": "카카오 학생인증카드"
}'
// HTTP/1.1 200 OK
// Location: /issue-credential/definitions/1ed513ba-6dfb-6fac-8055-cba3246a4667
{
"id": "1ed513ba-6dfb-6fac-8055-cba3246a4667",
"name": "카카오 학생인증카드",
"context": ["https://www.w3.org/2018/credentials/examples/v1", "https://schema.org"],
"type": ["Author Card"],
"properties": {
"author": {
"name": "https://schema.org/name"
},
"datePublished": "https://schema.org/datePublished"
},
"needServiceTerm": false,
"authLevel": "NONE",
"channelPublicId": "_CiNNN",
"termsUrl": null,
"state": "ACTIVE"
}
메서드URL인증 방식
GEThttps://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}서비스 앱 어드민 키

특정 디지털카드의 디자인 명세 정보를 조회합니다.

어드민 앱 키를 헤더에 담아 GET으로 요청합니다. 조회할 디자인 명세 고유 번호(DESIGN_DEFINITION_ID)를 경로 변수로 포함해야 합니다.

요청 성공 시 응답은 디자인 명세 정보가 포함된 JSON 객체입니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
DESIGN_DEFINITION_IDString디자인 명세 고유 번호(designDefinitionId)O
이름타입설명필수
-DesignDefinitionResponse디자인 명세 정보 객체O
이름타입설명필수
idString디자인 명세 고유 번호(designDefinitionId)O
nameString디자인 명세 이름O
credentialDefinitionIdString디자인 명세가 적용된 카드 발급데이터 명세 고유 번호O
designTemplateCodeString디자인 명세에서 사용할 카드 템플릿 코드, 아래 중 하나
  • PROFILE_A: 프로필A
  • PROFILE_B: 프로필B
  • HEADLINE_A: 헤드라인A
  • HEADLINE_B: 헤드라인B
  • HEADLINE_C: 헤드라인C
  • IMAGE: 이미지
O
contentContent카드 템플릿 설정O
designActionsAction[]기능 버튼 설정X
designHomeHome톡디지털카드 홈 설정X
designDetailsDetails카드 정보 설정X
이름타입설명필수
textColorString카드 템플릿의 텍스트 색상, 아래 중 하나
  • WHITE: 흰색
  • BLACK: 검은색(기본값)
X
backgroundImageNameString카드 템플릿의 카드 이미지 파일명(형식: PNG)O
titleValueContent카드 템플릿의 타이틀 텍스트X
subTitleValueContent카드 템플릿의 서브 타이틀 텍스트X
infosTitleValueContent[]카드 템플릿의 카드 정보X
badgeValueContent카드 우측 상단 배지 텍스트X
이름타입설명필수
valueString텍스트에 적용할 문구, JSONata 포맷 지원(참고)O
jsonataInputObjectvalue가 JSONata 포맷인 경우 표현식에서 사용할 데이터(기본값: null)X
이름타입설명필수
titleString정보 이름 텍스트에 적용할 문구O
valueString정보 값 텍스트에 적용할 문구, JSONata 포맷 지원(참고)O
jsonataInputObjectvalue가 JSONata 포맷인 경우 표현식에서 사용할 데이터(기본값: null)X
이름타입설명
valueString기능 버튼 이름
landingUrlString기능 버튼 선택 시 이동할 URL
이름타입설명필수
logoNameString톡디지털카드 홈에 표시할 로고 이미지 파일명O
thumbnailNameString톡디지털카드 홈에 표시할 썸네일 이미지 파일명O
backgroundImageUrlString지갑홈 카드의 배경 이미지 URLX
backgroundColorsString[]지갑홈 카드의 배경 그라데이션 색상 정보
좌측 상단과 우측 하단, 2개의 색상 코드값 필요 (#000000 형식)
X
themeString카드의 색상 테마
DARK 또는 LIGHT 중 하나
X
이름타입설명필수
backgroundImageNameString카드 정보에 표시할 백그라운드 이미지 파일명X
infoDetailsInfo세부 정보 내용X
descriptionsString[]참고 정보 텍스트X
이름타입설명필수
titleString세부 정보 타이틀 텍스트O
valueString세부 정보 값 텍스트, JSONata 포맷 지원(참고)O
imageString세부 정보 이미지 파일명X
linkStringvalue 문구 선택 시 이동할 링크 URLX
jsonataInputObjectvalue가 JSONata 포맷인 경우 표현식에서 사용할 데이터(기본값: null)X
curl -L -X GET 'https://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}'
{
"id": "1ef6e602-fbe0-6986-9313-d97e58edc574",
"name": "동네카드 기본",
"credentialDefinitionId": "1ef6e5ec-0206-6292-9313-d97e58edc574",
"designTemplateCode": "PROFILE_B",
"content": {
"textColor": "BLACK",
"backgroundImageName": "static.png",
"title": {
"value": "{{$.credentialSubject.region1}} {{$.credentialSubject.region2}}",
"jsonataInput": null
},
"subTitle": {
"value": "3년째 거주중입니다.",
"jsonataInput": null
},
"info1": {
"title": "전입일",
"value": "2020. 12. 31.",
"jsonataInput": null
},
"info2": {
"title": "이름",
"value": "{{$.credentialSubject.name}}",
"jsonataInput": null
},
"badge": null
},
"designActions": [
{
"value": "트렌드랭킹",
"landingUrl": "https://www.daum.net"
}
],
"designHome": {
"logoName": "ico_localcard.png",
"thumbnailName": "img_logo_localcard.png"
},
"designDetails": {
"backgroundImageName": null,
"info": [
{
"title": "이름",
"value": "{{$.credentialSubject.name}}"
},
{
"title": "주소",
"value": "{{$.credentialSubject.roadAddress}}"
},
{
"title": "전입일",
"value": "2020. 12. 31."
}
],
"descriptions": ["카카오톡 전자증명서로 발급되었습니다."]
}
}
메서드URL인증 방식
GEThttps://digitalcard-partner.kakao.com/designs/definitions서비스 앱 어드민 키

파트너가 소유한 전체 디지털카드 디자인 명세 정보를 조회합니다.

어드민 앱 키를 헤더에 담아 GET으로 요청합니다. 요청 성공 시 응답은 디자인 명세 정보가 포함된 배열입니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
definitionsDesignDefinitionResponse[]디자인 명세 정보 배열O
curl -L -X GET 'https://digitalcard-partner.kakao.com/designs/definitions' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}'
{
"definitions": [
{
"id": "1ef6e602-fbe0-6986-9313-d97e58edc574",
"name": "동네카드 기본",
"credentialDefinitionId": "1ef6e5ec-0206-6292-9313-d97e58edc574",
"designTemplateCode": "PROFILE_B",
"content": {
"textColor": "BLACK",
"backgroundImageName": "static.png",
"title": {
"value": "{{$.credentialSubject.region1}} {{$.credentialSubject.region2}}",
"jsonataInput": null
},
"subTitle": {
"value": "3년째 거주중입니다.",
"jsonataInput": null
},
"info1": {
"title": "전입일",
"value": "2020. 12. 31.",
"jsonataInput": null
},
"info2": {
"title": "이름",
"value": "{{$.credentialSubject.name}}",
"jsonataInput": null
},
"badge": null
},
"designActions": [
{
"value": "트렌드랭킹",
"landingUrl": "https://www.daum.net"
}
],
"designHome": {
"logoName": "ico_localcard.png",
"thumbnailName": "img_logo_localcard.png"
},
"designDetails": {
"backgroundImageName": null,
"info": [
{
"title": "이름",
"value": "{{$.credentialSubject.name}}"
},
{
"title": "주소",
"value": "{{$.credentialSubject.roadAddress}}"
},
{
"title": "전입일",
"value": "2020. 12. 31."
}
],
"descriptions": ["카카오톡 전자증명서로 발급되었습니다."]
}
}
// ...
]
}
메서드URL인증 방식
POSThttps://digitalcard-partner.kakao.com/designs/definitions서비스 앱 어드민 키

디지털카드 디자인 명세를 생성합니다.

어드민 앱 키를 헤더에 담아 POST로 요청합니다. 요청 성공 시 응답은 생성한 디자인 명세 정보가 포함된 JSON 객체입니다.

파트너는 디자인 명세에 사용할 이미지 파일을 제휴 계약 체결 시 전달받은 연락 창구로 별도 전달해야 합니다. 이미지 파일명은 각 디자인 요소를 구체적으로 나타낼 수 있도록 지정합니다. 디자인 명세 생성 API는 톡디지털카드 시스템에 디자인 명세를 생성하는 역할만 수행하며, 전달한 이미지는 명세 생성 시 파일명을 지정해 명세에 적용할 수 있습니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
Content-TypeContent-Type: application/json
요청 데이터 타입
O
이름타입설명필수
credentialDefinitionIdString디자인 명세를 적용할 발급데이터 명세 고유 번호O
nameString디자인 명세 이름O
designTemplateCodeString디자인 명세에서 사용할 카드 템플릿 코드, 아래 중 하나
  • PROFILE_A: 프로필A
  • PROFILE_B: 프로필B
  • HEADLINE_A: 헤드라인A
  • HEADLINE_B: 헤드라인B
  • HEADLINE_C: 헤드라인C
  • IMAGE: 이미지
O
cardContentContent카드 템플릿 설정O
이름타입설명필수
-DesignDefinitionResponse디자인 명세 정보O
curl -L -X POST 'https://digitalcard-partner.kakao.com/designs/definitions' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"credentialDefinitionId": "1ED95FA9-997E-68FD-833D-B3E23C0895C9",
"name": "카드 디자인 기본",
"designTemplateCode": "HEADLINE_A",
"cardContent": {
"textColor": "WHITE",
"backgroundImageName": "backgroundImageFileName.png",
"title": {
"value": "타이틀"
},
"subTitle": {
"value": "서브 타이틀"
}
}
}'
메서드URL인증 방식
PUThttps://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}서비스 앱 어드민 키

디지털카드 디자인 명세를 수정합니다.

어드민 앱 키를 헤더에 담아 PUT로 요청합니다. 조회할 디자인 명세 고유 번호(ID)를 경로 변수로 포함해야 합니다.

요청 성공 시 응답은 생성한 디자인 명세 정보가 포함된 JSON 객체입니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
Content-TypeContent-Type: application/json
요청 데이터 타입
O
이름타입설명필수
IDString디자인 명세 고유 번호(designDefinitionId)O
이름타입설명필수
nameString디자인 명세 이름O
designTemplateCodeString디자인 명세에서 사용할 카드 템플릿 코드, 아래 중 하나
  • PROFILE_A: 프로필A
  • PROFILE_B: 프로필B
  • HEADLINE_A: 헤드라인A
  • HEADLINE_B: 헤드라인B
  • HEADLINE_C: 헤드라인C
  • IMAGE: 이미지
O
cardContentContent카드 템플릿 설정O
이름타입설명필수
-DesignDefinitionResponse디자인 명세 정보O
curl -L -X PUT 'https://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"name": "카드 디자인 기본",
"designTemplateCode": "HEADLINE_A",
"cardContent": {
"textColor": "WHITE",
"backgroundImageName": "backgroundImageFileName.png",
"title": {
"value": "타이틀"
},
"subTitle": {
"value": "서브 타이틀"
}
}
}'
메서드URL인증 방식
PUThttps://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}/design-actions서비스 앱 어드민 키

디지털카드의 기능 버튼을 수정합니다.

어드민 앱 키를 헤더에 담아 PUT로 요청합니다. 수정할 디자인 명세 고유 번호(DESIGN_DEFINITION_ID)를 경로 변수로 포함해야 합니다.

요청 성공 시 응답은 수정한 디자인 명세 정보가 포함된 JSON 객체입니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
Content-TypeContent-Type: application/json
요청 데이터 타입
O
이름타입설명필수
IDString디자인 명세 고유 번호(designDefinitionId)O
이름타입설명필수
designActionsAction[]기능 버튼 설정O
이름타입설명필수
-DesignDefinitionResponse디자인 명세 정보O
curl -L -X PUT 'https://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}/design-actions' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"designActions": [
{
"value": "버튼 1",
"landingUrl": "www.daum.net"
}
]
}'
메서드URL인증 방식
PUThttps://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}/design-home서비스 앱 어드민 키

톡디지털카드 홈 디자인을 수정합니다.

어드민 앱 키를 헤더에 담아 PUT로 요청합니다. 수정할 디자인 명세 고유 번호(DESIGN_DEFINITION_ID)를 경로 변수로 포함해야 합니다.

요청 성공 시 응답은 수정한 디자인 명세 정보가 포함된 JSON 객체입니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
Content-TypeContent-Type: application/json
요청 데이터 타입
O
이름타입설명필수
IDString디자인 명세 고유 번호(designDefinitionId)O
이름타입설명필수
designHomeHome톡디지털카드 홈 설정O
이름타입설명필수
-DesignDefinitionResponse디자인 명세 정보O
curl -L -X PUT 'https://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}/design-home' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"designHome": {
"logoName": "logo.png",
"thumbnailName": "thumbnail.png"
}
}'
메서드URL인증 방식
PUThttps://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}/design-details서비스 앱 어드민 키

디지털카드의 카드 정보를 수정합니다.

어드민 앱 키를 헤더에 담아 PUT로 요청합니다. 수정할 디자인 명세 고유 번호(DESIGN_DEFINITION_ID)를 경로 변수로 포함해야 합니다.

요청 성공 시 응답은 수정한 디자인 명세 정보가 포함된 JSON 객체입니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
Content-TypeContent-Type: application/json
요청 데이터 타입
O
이름타입설명필수
DESIGN_DEFINITION_IDString디자인 명세 고유 번호(designDefinitionId)O
이름타입설명필수
designDetailsDetails카드 정보 설정O
이름타입설명필수
-DesignDefinitionResponse디자인 명세 정보O
curl -L -X PUT 'https://digitalcard-partner.kakao.com/designs/definitions/${DESIGN_DEFINITION_ID}/design-details' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"designDetails": {
"backgroundImageName": null,
"info": [
{
"title": "상세 1",
"value": "상세 1의 값"
},
{
"title": "상세 2",
"value": "상세 2의 값"
}
],
"descriptions": ["카드에 대한 설명"]
}
}'
메서드URL인증 방식
POSThttps://digitalcard-partner.kakao.com/issue-credential/offer서비스 앱 어드민 키

사용자에게 디지털카드 발급을 제안합니다.

사용자는 채널 메시지 또는 앱투앱 방식으로 디지털카드를 발급합니다. 발급 준비가 완료되면 설정된 웹훅(Webhook) URL로 파트너에게 발급을 요청합니다.

어드민 앱 키를 헤더에 담아 POST로 요청합니다. 디지털카드 고유 번호를 파라미터로 포함해야 합니다.

요청 성공 시 응답 헤더에 요청 접수 번호(credentialTransactionId)가 입력된 리다이렉트(Redirect) URI가 포함됩니다. 응답 본문은 요청 접수 번호가 포함된 JSON 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
credentialDefinitionIdString발급데이터 명세 고유 번호O
accountObject사용자 식별 정보, 아래 중 하나 포함:
  • appUserId: 앱에 연결된 사용자의 회원번호
  • phoneNumber:카카오톡에 가입된 전화번호(형식: 8210XXXXXXXX)

주의: 채널 메시지 발급 방식인 경우 필수
X
sendBizMessageBoolean발급 제안 알림톡 전송 여부(기본값: true)X
이름타입설명필수
credentialTransactionIdString요청 접수 번호O
curl -L -X PATCH 'https://digitalcard-partner.kakao.com/issue-credential/offer' \
-H 'Content-Type: application/json' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-d '{
"account": {
"phoneNumber": "821051171111"
},
"credentialDefinitionId": "1ed513ba-6dfb-6fac-8055-cba3246a4667",
"sendBizMessage": true
}'
// HTTP/1.1 201 Created
{
"credentialTransactionId": "1ed60cd4-71de-6ac1-bb8a-638a3b172337"
}
메서드URL인증 방식
POSThttps://digitalcard-partner.kakao.com/issue-credential/${CREDENTIAL_TRANSACTION_ID}/cancel서비스 앱 어드민 키

사용자에게 전달한 디지털카드 발급 제안을 취소합니다.

디지털카드가 발급되기 전에만 취소 가능합니다.

어드민 앱 키를 헤더에 담아 POST로 요청합니다. 요청 URL에 경로 변수(Path variable)로 요청 접수 번호(credentialTransactionId)를 포함해야 합니다.

요청 성공 시 응답은 본문 없이 HTTP 204 상태 코드만 반환합니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
CREDENTIAL_TRANSACTION_IDString요청 접수 번호O
curl -L -X POST 'https://digitalcard-partner.kakao.com/issue-credential/1ed60cd4-71de-6ac1-bb8a-638a3b172337/cancel' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}'
HTTP/1.1 204
메서드URL인증 방식
POSThttps://digitalcard-partner.kakao.com/issue-credential/${CREDENTIAL_TRANSACTION_ID}/issue서비스 앱 어드민 키

사용자에게 디지털카드를 발급합니다.

발급 전 디지털카드 발급 > 발급 제안 API 호출 후 발급 요청 웹훅(Webhook)을 받아야 합니다.

어드민 앱 키를 헤더에 담아 POST로 요청합니다. 요청 URL에 경로 변수(Path variable)로 요청 접수 번호(credentialTransactionId)를 포함해야 합니다.

요청 성공 시 응답 헤더에 요청 접수 번호가 입력된 리다이렉트(Redirect) URI가 포함됩니다. 응답 본문은 요청 접수 번호가 포함된 JSON 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
CREDENTIAL_TRANSACTION_IDString요청 접수 번호O
이름타입설명필수
accountObject사용자 식별 정보, 아래 포함:
appUserId: 사용자 회원번호
O
claimsObject디지털카드 발급 정보, 디지털카드 데이터 > 생성에서 입력한 properties값 설정 필요O
validStartAtString발급 일자(기본값: 발급 당일, 형식: yyyy-MM-dd'T'HH:mm:ss)
예: 2022-12-15T13:05:00
X
validEndAtString만료 일자(기본값: 2999년 12월 31일, 형식: yyyy-MM-dd'T'HH:mm:ss)
예: 2024-12-31T23:59:59
X
이름설명필수
LocationLocation: /issue-credential/${CREDENTIAL_TRANSACTION_ID}
리다이렉트 URI
O
이름타입설명필수
credentialTransactionIdString요청 접수 번호O
cardIdString디지털카드 고유 번호O
curl -L -X POST 'https://digitalcard-partner.kakao.com/issue-credential/1ed60cd4-71de-6ac1-bb8a-638a3b172337/issue' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-d '{
"account": {
"appUserId": 123456
},
"claims": {
"author": {
"name": "홍길동"
},
"datePublished": "2022-12-06"
}
}'
// HTTP/1.1 201 Created
// Location: /issue-credential/1ed60cd4-71de-6ac1-bb8a-638a3b172337
{
"credentialTransactionId": "1eecfcd0-00d0-6c88-9141-459517a553e9",
"cardId": "1eecfcd0-8402-67df-ba0f-e9cfbbcc1f57"
}
메서드URL인증 방식
PUThttps://digitalcard-partner.kakao.com/issue-credential/cards/${CARD_ID}서비스 앱 어드민 키

사용자에게 발급된 디지털카드 정보를 수정합니다.

어드민 앱 키를 헤더에 담아 PUT으로 요청합니다. 요청 URL에 경로 변수(Path variable)로 디지털카드 고유 번호(CARD_ID)를 포함해야 합니다. 디지털카드 고유 번호는 디지털카드 발급 > 발급 처리 요청의 응답으로 반환된 값입니다. 파라미터로 사용자 식별 정보를 포함해야 합니다.

요청 성공 시 응답은 본문 없이 HTTP 204 상태 코드만 반환합니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
CARD_IDString디지털카드 고유 번호O
이름타입설명필수
accountObject사용자 식별 정보, 아래 포함:
appUserId: 앱에 연결된 사용자의 회원번호
O
claimsObject디지털카드 발급 정보, 디지털카드 데이터 > 생성에서 입력한 properties값 설정 필요O
sendTmsBoolean카드 정보 수정 알림 TMS 발송 여부(기본값: false)X
reasonStringTMS에 표기할 카드 정보 수정 이유X
validStartAtString발급 일자(기본값: 발급 당일, 형식: yyyy-MM-dd'T'HH:mm:ss)
예: 2022-12-15T13:05:00
X
validEndAtString만료 일자(기본값: 2999년 12월 31일, 형식: yyyy-MM-dd'T'HH:mm:ss)
예: 2024-12-31T23:59:59
X
curl -L -X PUT "https://digitalcard-partner.kakao.com/issue-credential/cards/1ED76E4F-0B7F-6DB3-9493-370976F1DB5F" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \
-d '{
"account": {
"appUserId": 123456
},
"claims": {
"author": {
"name": "홍길동"
},
"datePublished": "2022-12-06"
},
"sendTms": true,
"reason": "카드 정보 변경"
}'
HTTP/1.1 204
메서드URL인증 방식
DELETEhttps://digitalcard-partner.kakao.com/issue-credential/cards/${CARD_ID}서비스 앱 어드민 키
지원 종료

디지털카드 발급 > 발급 회수의 신규 API를 제공합니다. 신규 API는 디지털카드 고유 번호로 요청하도록 사용성이 개선되었습니다. 기존 API는 더 이상 지원하지 않습니다.


사용자에게 발급된 디지털카드를 회수합니다.

사용자가 보유한 디지털카드는 삭제됩니다.

어드민 앱 키를 헤더에 담아 DELETE로 요청합니다. 요청 URL에 경로 변수(Path variable)로 디지털카드 고유 번호(CARD_ID)를 포함해야 합니다. 디지털카드 고유 번호는 디지털카드 발급 > 발급 처리 요청의 응답으로 반환된 값입니다. 파라미터로 사용자 식별 정보를 포함해야 합니다.

요청 성공 시 응답은 본문 없이 HTTP 204 상태 코드만 반환합니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
CARD_IDString디지털카드 고유 번호O
이름타입설명필수
accountObject사용자 식별 정보, 아래 포함:
appUserId: 앱에 연결된 사용자의 회원번호
O
messageString사용자에게 안내될 회수 사유X
curl -L -X DELETE "https://digitalcard-partner.kakao.com/issue-credential/cards/1ED76E4F-0B7F-6DB3-9493-370976F1DB5F" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}" \
-d '{
"account": {
"appUserId": 123456
},
}'
HTTP/1.1 204
메서드URL인증 방식
GEThttps://digitalcard-partner.kakao.com/issue-credential서비스 앱 어드민 키

특정 디지털카드의 발급 이력을 확인합니다.

어드민 앱 키를 헤더에 담아 GET으로 요청합니다. 파라미터로 사용자 식별 정보를 포함해야 합니다.

요청 성공 시 응답은 발급 이력이 포함된 JSON 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
appUserIdString사용자 회원번호O
idString요청 접수 번호O
reasonString발급 실패 사유, 아래 중 하나:
  • USER_QUIT: 사용자 진행 중단
  • ILLEGAL_CREDENTIAL_CONTENT: 발급 정보가 유효하지 않음
  • PARTNER_SYSTEM_ERROR: 발급처 시스템 오류
  • WITHDRAWN: 발급처 회수
  • USER_DELETED: 유저 삭제
X
이름타입설명필수
credentialDefinitionIdString발급데이터 명세 고유 번호O
appUserIdLong사용자 회원번호O
stateString발급 상태, 아래 중 하나
  • OFFERED: 발급 제안중
  • REQUESTED: 발급 제안 수락 후 발급 과정 진행중
  • ISSUED: 발급 완료
  • CANCELED: 발급 제안 취소
  • ABANDONED: 발급 실패
  • DELETED: 발급 완료 후 사용자가 삭제 또는 파트너에 의해 회수됨
O
updatedAtString최근 발급 상태 변경 시각(형식: yyyy-MM-dd'T'HH:mm:ss)
예: 2024-12-31T23:59:59
O
createdAtString발급 시각(형식: yyyy-MM-dd'T'HH:mm:ss)
예: 2024-12-31T23:59:59
O
cardCard발급 정보, stateISSUED인 경우에만 응답에 포함(기본값: 없음)X
이름타입설명필수
cardIdString디지털카드 고유 번호O
nameString디지털카드 이름O
credentialDefinitionIdString발급데이터 명세 고유 번호X
verifiableCredentialVerifiableCredential디지털카드 내용O
이름타입설명필수
typeList디지털카드 데이터 규격 이름 리스트O
@contextListW3C Verifiable Credential Contexts에 정의된 디지털카드 데이터 규격O
credentialSubjectObject디지털카드 내용O
curl -L -G GET 'https://digitalcard-partner.kakao.com/issue-credential' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-d "appUserId=${APP_USER_ID}"
curl -L -G GET 'https://digitalcard-partner.kakao.com/issue-credential/1ed60cd4-71de-6ac1-bb8a-638a3b172337' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-d "appUserId=${APP_USER_ID}"
// HTTP/1.1 200 OK
{
"credentialDefinitionId": "1ed513ba-6dfb-6fac-8055-cba3246a4667",
"appUserId": 123456,
"state": "ISSUED",
"updatedAt": "2022-11-22T20:27:36.482866",
"createdAt": "2022-11-22T19:29:59.455595",
"card": {
"cardId": "1edd812c-1520-6ffe-83cc-7d0a6f96f613",
"name": "학생인증카드",
"verifiableCredential": {
"type": ["VerifiableCredential"],
"@context": ["https://schema.org", "https://www.w3.org/2018/credentials/v1"],
"credentialSubject": {
"name": "value"
}
}
}
}
메서드URL인증 방식
GEThttps://digitalcard-partner.kakao.com/issue-credential/cards/${CARD_ID}서비스 앱 어드민 키

발급된 디지털카드의 내용을 확인합니다.

어드민 앱 키를 헤더에 담아 GET으로 요청합니다. 요청 URL에 경로 변수(Path variable)로 디지털카드 고유 번호(cardId)를 포함해야 합니다. 파라미터로 사용자 식별 정보를 포함해야 합니다.

요청 성공 시 응답은 디지털카드 내용을 포함한 JSON 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
CARD_IDString디지털카드 고유 번호O
이름타입설명필수
appUserIdString사용자 회원번호O
이름타입설명필수
-Card발급 정보O
curl -L -G GET 'https://digitalcard-partner.kakao.com/issue-credential/cards/1ed513ba-6dfb-6fac-8055-cba3246a4667' \
-H 'Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}' \
-d "appUserId=${APP_USER_ID}"
// HTTP/1.1 200 OK
{
"cardId": "1edd812c-1520-6ffe-83cc-7d0a6f96f613",
"credentialDefinitionId": "1edc976d-dbc3-64c0-8500-5f7f65a27a9b",
"name": "학생인증카드",
"verifiableCredential": {
"type": ["VerifiableCredential"],
"@context": ["https://schema.org", "https://www.w3.org/2018/credentials/v1"],
"credentialSubject": {
"name": "value"
}
}
}
메서드URL인증 방식
GEThttps://digitalcard-partner.kakao.com/partner서비스 앱 어드민 키

파트너 정보를 확인합니다.

어드민 앱 키를 헤더에 담아 GET으로 요청합니다. 요청 성공 시 응답은 파트너 정보를 포함한 JSON 객체입니다. 요청 실패 시 에러 코드에서 에러 코드로 원인을 확인합니다.

이름설명필수
AuthorizationAuthorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}
인증 방식, 서비스 앱 어드민 키로 인증 요청
O
이름타입설명필수
nameString파트너 이름O
appIdNumber파트너의 카카오디벨로퍼스 앱 아이디O
webhookUrlString웹훅 URL, GET/POST 모두 수신 가능 필요X
authorizationString웹훅 호출 시 인증이 필요한 경우 사용될 웹훅 헤더 토큰X
curl -L -X GET "https://digitalcard-partner.kakao.com/partner" \
-H "Authorization: KakaoAK ${SERVICE_APP_ADMIN_KEY}"
// HTTP/1.1 200 OK
{
"name": "까까오",
"appId": 123456,
"imgUrl": "https://t1.kakaocdn.net/zzng_static/for-fun/144.png",
"webhookUrl": "https://partner.com/callback",
"authorization": "",
"state": "ACTIVE"
}

디지털카드 발급 및 삭제 과정에 필요한 정보를 요청하거나 전달하기 위해, 톡디지털카드 서버에서 발급처에 호출합니다. 웹훅(Webhook) URL은 제휴 계약 시 파트너 등록 과정에서 설정합니다. 필요 시, 파트너는 인증을 위한 파트너 인증 키(PARTNER_API_KEY)를 톡디지털카드 서버에 전달해 웹훅 호출 시 사용하도록 요청할 수 있습니다.

메서드URL인증 방식
GET/${WEBHOOK_URL}파트너 인증 키

디지털카드 발급 과정에서 디지털카드 발급 제안 API 호출 후 발급 대상 검증이 필요한 경우, 사용자 정보를 확인하기 위해 호출합니다.

이름설명필수
AuthorizationAuthorization: ${PARTNER_API_KEY}
인증 방식, 파트너 인증 키로 인증 요청
X
이름타입설명필수
WEBHOOK_URLString웹훅 URLO
이름타입설명필수
credentialTransactionIdString요청 접수 번호O
stateString상태 설명, AUTHINFO로 고정O
이름타입설명필수
nameString사용자 이름X
birthDateString사용자 생년월일X
메서드URL인증 방식
POST/${WEBHOOK_URL}파트너 인증 키

디지털카드 발급을 요청합니다.

디지털카드 발급 과정에서 디지털카드 발급 제안 완료 후 디지털카드 발급이 가능한 경우 호출합니다. 이후 발급처는 디지털카드 발급 처리 API로 사용자에게 디지털카드를 발급할 수 있습니다.

이름설명필수
AuthorizationAuthorization: ${PARTNER_API_KEY}
인증 방식, 파트너 인증 키로 인증 요청
X
이름타입설명필수
WEBHOOK_URLString웹훅 URLO
이름타입설명필수
stateString상태 설명, CREDENTIAL_REQUESTED로 고정O
credentialTransactionIdString발급요청 접수 번호O
accountObject사용자 식별 정보, 아래 포함:
appUserId: 사용자 회원번호
O
메서드URL인증 방식
POST/${WEBHOOK_URL}파트너 인증 키

사용자가 디지털카드를 삭제할 경우, 디지털카드 삭제 사실을 전달하기 위해 호출합니다.

발급처는 발급요청 접수 번호(credentialTransactionId)와 회원번호(appUserId)로 어떤 디지털카드가 삭제되었는지 파악할 수 있습니다. 발급처는 웹훅 요청에 대해 지정된 HTTP 상태 코드로 응답해야 합니다.

  • 204: 요청 수신 성공
  • 401: 올바르지 않은 파트너 인증 키
이름설명필수
AuthorizationAuthorization: ${PARTNER_API_KEY}
인증 방식, 파트너 인증 키로 인증 요청
X
이름타입설명필수
stateString디지털카드 발급 상태
CREDENTIAL_DELETED(디지털카드 삭제)로 고정
O
credentialTransactionCredentialTransaction발급요청 접수 번호
(예: 14ef6ae3-c371-42aa-bcba-9e3d6aaf6b25)
O
accountObject사용자 식별 정보, 아래 포함:
appUserId: 사용자 회원번호
O
이름타입설명필수
idString발급요청 접수 번호
(예: 14ef6ae3-c371-42aa-bcba-9e3d6aaf6b25)
O
stateString요청 상태
DELETED로 고정
O
cardIdString디지털카드 고유 번호O

도움이 되었나요?