전자서명(복수) API
전자서명(복수) API
토스 앱을 사용하여 이용자의 개인정보(이름, 생년월일, 휴대폰번호)로 최대 100건의 계약 체결 수단으로 사용하는 토스 전자서명 API 입니다. 개발하는 웹/앱 방식에 따라 토스 앱으로 푸시(Push) 인증 메시지를 전송하여 인증하는 “푸시(Push) 인증”과 이용기관 앱에서 토스 앱을 실행하여 토스 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 “앱투앱 인증” 방식 중 선택하여 연동할 수 있습니다.
1. RequestMultiSign - 전자서명(복수) 요청
토스 이용자에게 복수(최대 100건) 문서의 전자서명을 요청합니다.
function requestMultiSign($ClientCode, $MultiSign)
					Parameter
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| ClientCode | String | 12 | Y | 이용기관 코드 | |
| MultiSign | MultiSign | - | Y | 전자서명 요청 정보 | 
Return MultiSignReceipt Throws BarocertException
2. GetMultiSignStatus - 전자서명(복수) 상태확인
전자서명(복수) 요청 후 반환받은 접수아이디로 인증 진행 상태를 확인합니다.
function getMultiSignStatus($ClientCode, $ReceiptID)
					Parameter
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| ClientCode | String | 12 | Y | 이용기관 코드 | |
| ReceiptID | String | 32 | Y | 접수 아이디 | 
Return MultiSignStatus Throws BarocertException
3. VerifyMultiSign - 전자서명(복수) 검증
완료된 전자서명을 검증하고 전자서명값(signedData)을 반환 받습니다.
토스 보안정책에 따라 검증 API는 2회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.
전자서명 만료일시 이후에 검증 API를 호출하면 오류가 반환됩니다.
function verifyMultiSign($ClientCode, $ReceiptID)
						Parameter
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| ClientCode | String | 12 | Y | 이용기관 코드 | |
| ReceiptID | String | 32 | Y | 접수 아이디 | 
Return MultiSignResult Throws BarocertException
4. 객체정보
4.1. BarocertException
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| Code | Integer | - | Y | API 처리에 대한 응답코드 | |
| message | String | - | Y | API 처리에 대한 응답메시지 | 
4.2. MultiSign
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| receiverHP | String | 11 | Y | 수신자 휴대폰번호 → 하이픈(-) 제외하고 입력  | 
							|
| receiverName | String | 80 | Y | 수신자 성명 | |
| receiverBirthday | String | 8 | Y | 수신자 생년월일 → 형식: yyyyMMdd  | 
							|
| expireIn | Integer | 4 | Y | 요청 만료시간 → 최대: 1,800초(s) / 권장: 300초(s)  | 
							|
| token | List<MultiSignTokens> | 100 | Y | 원문 | |
| appUseYN | Boolean | - | N | 
									앱투앱 인증 방식 이용 여부
									
  | 
							|
| deviceOSType | String | 7 | 조건부 | 
									모바일장비 운영체제
									
  | 
							|
| returnURL | String | 1000 | 조건부 | 
									복귀 URL → 앱투앱 인증 이용시 호출할 URL 또는 앱스킴  | 
							
4.3. MultiSignTokens
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| reqTitle | String | 40 | Y | 인증요청 메시지 제목 | |
| tokenType | String | 4 | Y | 
									원문 유형
									
  | 
							|
| token | String | 2,000 | Y | 
									원문
									 tokenType="PDF" 경우, Hash(SHA-256), Base64(URL Safe No Padding)  | 
							
4.4. MultiSignReceipt
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| receiptID | String | 32 | Y | 접수아이디 | |
| scheme | String | - | N | 앱스킴 | 
4.5. MultiSignStatus
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| receiptID | String | 32 | Y | 접수아이디 | |
| clientCode | String | 12 | Y | 이용기관 코드 | |
| state | Integer | 1 | Y | 
									상태
									
  | 
							|
| expireDT | String | 14 | Y | 전자서명 만료일시 → 형식: yyyyMMddHHmmss  | 
							
4.6. MultiSignResult
| 순번 | 변수명 | 타입 | 길이 | 필수 | 설명 | 
|---|---|---|---|---|---|
| receiptID | String | 32 | Y | 접수아이디 | |
| state | Integer | 1 | Y | 
									상태
									
  | 
							|
| receiverName | String | 80 | Y | AES 암호화 수신자 성명 | |
| receiverYear | String | 4 | Y | 
									AES 암호화
									수신자 출생년도
									 → 형식 : yyyy  | 
							|
| receiverDay | String | 4 | Y | 
									AES 암호화
									수신자 출생월일
									 → 형식 : MMdd  | 
							|
| receiverHP | String | 11 | Y | AES 암호화 수신자 휴대폰번호 | |
| receiverGender | String | 6 | N | 
									AES 암호화
									수신자 성별
									
  | 
							|
| receiverEmail | String | - | N | AES 암호화 수신자 이메일 | |
| receiverForeign | String | 9 | N | 
									AES 암호화
									외국인 여부
									
  | 
							|
| MultiSignedData | List<String> | 100 | Y | 전자서명값 | |
| ci | String | - | N | AES 암호화 CI | |
| di | String | - | N | AES 암호화 DI |