전자서명(단건) API

카카오톡 앱을 사용하여 이용자의 개인정보(이름, 생년월일, 휴대폰번호)로 1건의 계약 체결 수단으로 사용되는 카카오 전자서명 API 입니다. 개발하는 웹/앱 방식에 따라 카카오톡 채널로 카카오 인증 메시지를 전송하여 인증하는 "채널메시지 인증"과 카카오 앱을 즉시 실행하여 카카오 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 "앱투앱 인증" 방식 중 선택하여 연동할 수 있습니다.

1. RequestSign - 전자서명(단건) 요청

  • 카카오톡 이용자에게 단건(1건) 문서의 전자서명을 요청합니다.

function RequestSign($ClientCode, $KakaoSign)

Parameter

순번 변수명 타입 길이 필수 설명
ClientCode String 12 Y 이용기관 코드
KakaoSign KakaoSign - Y 전자서명 요청 정보

Return KakaoSignReceipt Throws BarocertException

2. GetSignStatus - 전자서명(단건) 상태확인

  • 전자서명(단건) 요청 후 반환받은 접수아이디로 인증 진행 상태를 확인합니다.

function getSignStatus($ClientCode, $ReceiptID)

Parameter

순번 변수명 타입 길이 필수 설명
ClientCode String 12 Y 이용기관 코드
ReceiptID String 32 Y 접수 아이디

Return KakaoSignStatus Throws BarocertException

3. VerifySign - 전자서명(단건) 검증

  • 완료된 전자서명을 검증하고 전자서명값(signedData)을 반환 받습니다.

  • 카카오 보안정책에 따라 검증 API는 1회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.

  • 전자서명 완료일시로부터 10분 이후에 검증 API를 호출하면 오류가 반환됩니다.

이용기관 서버에서는 전자서명 검증을 통해 반환받은 이용자의 개인정보(CI, 성명, 생년월일, 휴대폰번호)와 전자서명을 요청한 이용자의 개인정보를 비교해 올바른 이용자인지 검증해야 합니다.
function verifySign($ClientCode, $ReceiptID)

Parameter

순번 변수명 타입 길이 필수 설명
ClientCode String 12 Y 이용기관 코드
ReceiptID String 32 Y 접수 아이디

Return KakaoSignResult Throws BarocertException

4. 객체정보

4.1. BarocertException

순번 변수명 타입 길이 필수 설명
Code Integer - Y API 처리에 대한 응답코드
message String - Y API 처리에 대한 응답메시지

4.2. KakaoSign

순번 변수명 타입 길이 필수 설명
receiverHP String 11 Y 수신자 휴대폰번호
→ 하이픈(-) 제외하고 입력
receiverName String 80 Y 수신자 성명
receiverBirthday String 8 Y 수신자 생년월일
→ 형식: yyyyMMdd
signTitle String 40 Y 서명 요청 제목
extraMessage String 500 N 커스텀 메시지
expireIn Integer 4 Y 요청 만료시간
→ 최대: 1000초(s) / 권장: 300초(s)
tokenType String 4 Y 원문 유형
  • TEXT원문 텍스트 데이터
  • HASH원문을 해쉬한 데이터
  • PDFPDF를 해쉬한 데이터
token String 2800 Y 원문

tokenType="PDF" 경우,

Hash(SHA-256), Base64(URL Safe No Padding)

appUseYN Boolean - N 앱투앱 인증 방식 이용 여부
  • True앱투앱 인증
  • False채널 메시지 인증 : 기본값
returnURL String 1000 조건부 복귀 URL
→ 앱투앱 인증 이용 호출할 URL 또는 앱스킴

appUseYN=True 경우 필수

4.3. KakaoSignReceipt

순번 변수명 타입 길이 필수 설명
receiptID String 32 Y 접수아이디
scheme String - N 앱스킴

appUseYN=True 경우 반환

4.4. KakaoSignStatus

순번 변수명 타입 길이 필수 설명
receiptID String 32 Y 접수아이디
clientCode String 12 Y 이용기관 코드
state Integer 1 Y 상태
  • 0대기
  • 1완료
  • 2만료
requestDT String 14 Y 전자서명 요청일시
→ 형식: yyyyMMddHHmmss
viewDT String 14 N 전자서명 조회일시
→ 형식: yyyyMMddHHmmss
completeDT String 14 N 전자서명 완료일시
→ 형식: yyyyMMddHHmmss
expireDT String 14 Y 전자서명 만료일시
→ 형식: yyyyMMddHHmmss
verifyDT String 14 N 전자서명 검증일시
→ 형식: yyyyMMddHHmmss

4.5. KakaoSignResult

순번 변수명 타입 길이 필수 설명
receiptID String 32 Y 접수아이디
state Integer 1 Y 상태
  • 0대기
  • 1완료
  • 2만료
signedData String - Y 전자서명값
ci String - N AES 암호화 CI
receiverName String - Y AES 암호화 수신자 성명
receiverYear String - Y AES 암호화 수신자 출생년도
→ 형식 : yyyy
receiverDay String - Y AES 암호화 수신자 출생월일
→ 형식 : MMdd
receiverHP String - Y AES 암호화 수신자 휴대폰번호
receiverGender String - Y AES 암호화 수신자 성별
  • MALE남성
  • FEMALE여성