사용자 계정 검증 API
사용자 계정 검증
POST
VEGA_VERIFICATION_ACCOUNT_API_PATH
각 VASP는 송신 VASP, 수취 VASP 두 역할을 모두 수행해야 합니다.
VASP가 수취 VASP 역할을 할 때, 호출되는 API입니다.
송신자가 송신 VASP에서 출금 시 입력한 수취인의 Address(지갑 주소, 계좌번호) 와 수취인 이름 정보(optional)를 전달받아, 수취 VASP의 소유가 맞는지 확인 요청 시 호출되는 API입니다.
수취인의 이름 정보가 있을 경우, 지갑 주소뿐만 아니라 이름의 매칭 여부도 검증하여 응답합니다.
수취인의 이름 정보가 없을 경우, 지갑 주소만 검증하여 응답하면 됩니다.
Request Header
Authorization
Bearer <VEGA_VERIFICATION_AUTHORIZATION_TOKEN>
Request Body
originatingVaspId
string
true
"15952089931162060684"
지갑 주소와 수취인의 이름 정보에 대하여 검증 요청한 VASP의 ID
symbol
string
true
"ETH"
VA. Virtual Asset. 가상 자산
network
string
false
"Ethereum"
가상 자산이 배포되어 있는 블록체인 네트워크 이름 (자세한 사항은 '추가 정보' 메뉴 하단의 'network 필드 가이드'를 참조)
version
string
true
"1.0"
IVMS101 포맷의 버전 정보 (현재는 1.0)
ivms101
object
true
-
수취인의 지갑 주소와 수취인의 이름 정보가 IVMS101 메시징 프로토콜 형태로 전달된다.
ivms101.beneficiary
object
true
-
수취인에 대한 정보
ivms101.beneficiary.beneficiaryPersons
array
false
[{"naturalPerson":{"name":{"nameIdentifier":[{"primaryIdentifier":"Taylor","secondaryIdentifier":"Robbins","nameIdentifierType":"LEGL"}]}}}]
수취인 이름에 대한 정보, 법정 기준 금액 이상일 때에만 이 수취인 이름 정보가 전달된다. 이때, 지갑 주소 + 수취인 이름 함께 VASP의 소유 여부를 확인한다.
ivms101.beneficiary.accountNumber
array
true
[”0x5811001506550d8356a215be229c15b6ef371a9a”]
수취인 지갑 주소. 데이터 타입이 Array 이긴 하지만, 단 하나의 지갑 주소만으로 제한한다. 여러 개의 지갑 주소에 대해 VASP 소유 여부를 확인하고 싶다면, 이 API를 N 번 실행하도록 합니다.
network 필드는 필수가 아닙니다 (Optional). 여러 블록체인 네트워크에 배포된 가상 자산 (ex. USDT의 경우 이더리움, BSC, 솔라나 등 여러 네트워크에 배포)에 대해 상대 VASP가 network 필드 없이 나에게 호출하는 경우 다음과 같이 응답할 수 있습니다.
Network 필드가 필수인 경우: result는 'DENIED'로, reason은 'UNKNOWN-NETWORK'로 반환할 수 있습니다. 물론 상대 VASP에서 network 필드 지원을 구현하지 않았으면 거래 성공률이 낮아집니다.
Network 필드가 옵션인 경우: 상대 VASP가 생략한 network 필드를 내가 취급하는 network로 가정하고 검증한 결과를 반환할 수 있습니다. 다만, 상대 VASP와 네트워크가 다를 경우 가상 자산이 오전송 될 수 있습니다.
위 두 가지 중 어떤 응답을 반환할지는 각 VASP에서 스스로 결정할 수 있습니다. 예를 들어 상대 VASP 별로 다르게 정책을 가져갈 수도 있습니다. 각 VASP 별 상황을 고려하여 구현하시기 바랍니다.
Response Body
accountVerificationResult
string
true
"DENIED"
지갑 주소와 수취인 이름에 대한 사용자 계정 검증 결과
reason
string
false
"UNKNOWN-ADDRESS"
accountVerificationResult(사용자 계정 검증 결과) 값이 DENIED인 경우에 대한 상세 에러 코드
verifiedAt
string
true
"2022-03-03T21:52:08.092Z"
사용자 계정 검증 수행 시간
accountVerificationResult 필드에는 다음과 같은 값이 들어갈 수 있습니다.
“VERIFIED”, "DENIED" 중 한 개의 값을 갖습니다.
VERIFIED: 검증이 성공적으로 끝난 경우, 사용자에게 아무런 문제가 없음을 의미합니다.
DENIED: 지갑 주소가 VASP 소유가 아닐 경우, 또는 지갑 주소 + 수취인 이름 정보가 VASP 소유 정보가 아닌 경우, 수취인 정보에 대해 IVMS101 메시지를 잘 못 기입한 경우, 등등 가리킵니다.
reason 필드에는 다음과 같은 값이 들어갈 수 있습니다.
단, 사용자 검증 요청에 대한 결과
accountVerificationResult
필드의 값이 DENIED 일 때에만 유효합니다.
reason
(string)
result
(string)
Description
UNKNOWN-SYMBOL
DENIED
거래소에서 취급하지 않는 심벌일 경우 (VASP가 취급하지 않는 자산일 경우)
UNKNOWN-NETWORK
DENIED
거래소에서 취급하지 않는 네트워크이거나 네트워크 정보가 불충분한 경우 (심벌은 동일하지만 네트워크가 맞지 않는 경우)
UNKNOWN-ADDRESS
DENIED
가상 자산 주소가 해당 VASP의 주소가 아닌 경우
MISMATCHED-NAME
DENIED
수신자의 이름이 송신 VASP에서 보내준 이름과 일치하지 않는 경우
UNDEFINED-ERROR
DENIED
그 밖에, 따로 정의되어 있지 않은 에러가 발생한 경우
Links
IVMS101 정보 기입 가이드
Last updated