검증 결과 조회 API
검증 결과 조회
GET
http://<enclave-endpoint>/v1/verifications
지난 검증 요청에 대한 목록을 조회할 수 있습니다.
다음 API는 VerifyVASP를 통해 요청된 검증 히스토리를 조회합니다. 쿼리 매개변수는 모두 선택사항이며 입력된 모든 매개변수는 AND 연산을 통해 조회됩니다.
Request Query Parameters
Field Name | Data Type | Required | Example | Description |
---|---|---|---|---|
fromDate | string | false | “2022-01-01” | 사용자 검증 요청 결과 조회 시작 날짜. (기본값: 1970-01-01) |
toDate | string | false | "2011-01-15” | 사용자 검증 요청 결과 조회 끝 날짜. (기본값: API 조회 시점) |
symbol | string | false | "ETH” | 가상 자산 심벌 |
network | string | false | "Ethereum" | 가상 자산이 배포된 블록체인 네트워크 이름 |
txHash | string | false | “0x9fd7bfd46e4402c7197b4d8deb0199fcf7c1f57ef70c339f403a1cb060c31c28” | 트랜잭션 아이디 (Transaction hash, txHash). |
result | string | false | “VERIFIED” | 사용자 검증 수행 결과. (하단 설명 참조) |
actionType | string | false | “SEND” | VASP Transaction Type. (하단 설명 참조) |
oppositeVaspId | string | false | “27372039731940175” | 상대 VASP ID. ID of VASP that is the opposite side of verification to query. |
originatorAccountNumber | string | false | “0x5811001506550d8356a215be229c15b6ef371a9a” | Originator의 지갑 주소. |
beneficiaryAccountNumber | string | false | “0x5811001506550d8356a215be229c15b6ef371a9b” | Beneficiary의 지갑 주소. |
page | number | false | 1 | 페이징 넘버 (default : 1) |
rpp | number | false | 10 | 레코드 개수 (default : 10) |
result 필드에는 다음과 같은 값이 들어갈 수 있습니다.
“VERIFIED”, ”DENIED”, ”UNKNOWN”, ”ERROR” 중 한 개의 값을 갖습니다.
VERIFIED: 검증이 성공적으로 끝난 경우, 사용자에게 아무런 문제가 없음을 의미합니다.
DENIED: 지갑 주소는 맞지만 사용자(송신인 포함)에게 문제가 발견된 경우 (e.g. lack of KYC credential)
UNKNOWN: 지갑 주소가 모르는 주소일 경우 (VASP가 소유하지 않은 경우)
ERROR: 기타 다른 에러가 발생한 경우
actionType 필드에는 다음과 같은 값이 들어갈 수 있습니다.
"SEND", "RECEIVE" 중 한 개의 값을 갖습니다.
VASP Transaction Type으로 구분됩니다.
SEND: VASP에서 송신한 경우.
RECEIVE: VASP에서 수신한 경우.
Response Body
Field Name | Data Type | Required | Example | Description |
---|---|---|---|---|
count | number | true | 172 | 모든 검증 결과 개수. |
page | number | true | 1 | 페이징 넘버 (default : 1) |
rpp | number | true | 10 | 레코드 개수 (default : 10) |
verifications | array | true | - | 사용자 검증 결과 목록 |
verifications.verificationId | string | true | "12345" | 사용자 검증 결과 아이디 |
verifications.verificationUuid | string | true | "4615aa9d-ac64-4997-a9e6-0e772c57c7ef" | 사용자 검증 요청 아이디 |
verifications.result | string | false | "VERIFIED" | 사용자 검증 수행 결과. (하단 설명 참조) |
verifications.reason | string | false | "OK" | 검증이 실패한 경우에 그 이유를 나타내는 에러 코드 (하단 설명 참조). 성공적인 경우에는 "OK" |
verifications.assetInfo | object | true | - | 전송할 가상 자산에 대한 정보 |
verifications.assetInfo.symbol | string | true | “ETH” | VA. Virtual Asset. 전송할 가상 자산 심벌 |
verifications.assetInfo.network | string | false | "Ethereum" | 가상 자산이 배포되어 있는 블록체인 네트워크 이름 |
verifications.assetInfo.amount | string | true | “0.024” | 실제 전송할 가상 자산의 양 |
verifications.assetInfo.isExceedingThreshold | boolean | true | true | 전송할 가상 자산의 법정 화폐 환산 금액이 법령에서 정한 금액 (1000달러 or 100만 원) 이상인지의 여부를 표시한 flag |
verifications.assetInfo.tradePrice | string | true | “2439800” | 전송할 가상 자산을 법정 화폐로 환산한 금액 |
verifications.assetInfo.tradeCurrency | string | true | “KRW” | 전송할 가상 자산을 법정 화폐로 환산했을 때 사용한 화폐 코드 |
verifications.assetInfo.tradeISODatetime | string | true | “2022-02-06T23:13:43.513Z” | 전송할 가상 자산을 법정 화폐로 환산했을 때 시세 적용 기준 시간, ISO 포맷으로 입력 |
verifications.txHash | string | true | “0x9fd7bfd46e4402c7197b4d8deb0199fcf7c1f57ef70c339f403a1cb060c31c28” | 트랜잭션 아이디 (Transaction hash, txHash). |
verifications.vout | string | false | "2" | 트랜잭션 내에서 몇 번째 거래인지 구별할 수 있는 인덱스 값 |
verifications.originatingVaspId | string | true | "15952089931162058999" | 송신 거래소 아이디 |
verifications.originatorAccountNumber | string | true | [”0xtest001506550d8356a215be229c15b6ef371a9a”] | 송신인에 대한 계좌 번호 (지갑 주소) |
verifications.ivms101Originator | string | true | "{'originatorPersons':[{'naturalPerson':{'name':{'nameIdentifier':[{'primaryIdentifier':'Taylor','nameIdentifierType':'LEGL'}]},'accountNumber':['1G3qCGKP5dQtQ7secCPTCDPU9Wfjp9x3Hb']}" | IVMS101 메시징 포맷의 송신인 정보 |
verifications.ivms101OriginatingVasp | string | true | "{'legalPerson':{'name':{'nameIdentifier':[{'legalPersonName':'A Exchange','legalPersonNameIdentifierType':'LEGL'}]},'geographicAddress':[{'addressType':'GEOG','postcode':'12345','townName':'Yeoksam-dong','addressLine':['Gangnam-gu, Gangbuck-do'],'country':'KR'}],'nationalIdentification':{'nationalIdentifier':'KR001','nationalIdentifierType':'RAID','registrationAuthority':'RA001'}}}" | IVMS101 메시징 포맷의 송신 거래소 정보 |
verifications.beneficiaryVaspId | string | true | "15952089931162058777" | 수신 거래소 아이디 |
verifications.beneficiaryAccountNumber | string | true | [”0xtest001506550d8356a215be229c15b6ef371a9b”] | 수신인에 대한 계좌 번호 (지갑 주소) |
verifications.ivms101Beneficiary | string | true | "{'originatorPersons':[{'naturalPerson':{'name':{'nameIdentifier':[{'primaryIdentifier':'James','nameIdentifierType':'LEGL'}]},'accountNumber':['1G3qCGKP5dQtQ7secCPTCDPU9Wfjp9x3Hb']}" | IVMS101 메시징 포맷의 수신인 정보 |
verifications.ivms101BeneficiaryVasp | string | true | "{'legalPerson':{'name':{'nameIdentifier':[{'legalPersonName':'B Exchange','legalPersonNameIdentifierType':'LEGL'}]},'geographicAddress':[{'addressType':'GEOG','postcode':'12345','townName':'Yeoksam-dong','addressLine':['Gangnam-gu, Gangbuck-do'],'country':'KR'}],'nationalIdentification':{'nationalIdentifier':'KR002','nationalIdentifierType':'RAID','registrationAuthority':'RA001'}}}" | IVMS101 메시징 포맷의 수신 거래소 정보 |
verifications.verifiedAt | string | true | "2022-02-22T14:41:50.000Z" | 사용자 검증 결과 전달받은 시간 |
verifications.orderedAt | Date | true | "2022-02-22T14:42:12.000Z" | 트랜잭션 아이디를 리포팅 받은 시간, 또는 에러 리포팅 받은 시간 |
verifications.createdAt | Date | true | "2022-02-22T14:41:49.000Z" | 사용자 검증 요청 시간 |
result 필드에는 다음과 같은 값이 들어갈 수 있습니다.
“VERIFIED”, ”DENIED”, ”UNKNOWN”, ”ERROR” 중 한 개의 값을 갖습니다.
VERIFIED: 검증이 성공적으로 끝난 경우, 사용자에게 아무런 문제가 없음을 의미합니다.
DENIED: 지갑 주소는 맞지만 사용자(송신인 포함)에게 문제가 발견된 경우 (e.g. lack of KYC credential)
UNKNOWN: 지갑 주소가 모르는 주소일 경우 (VASP가 소유하지 않은 경우)
ERROR: 기타 다른 에러가 발생한 경우
reason 필드에는 다음과 같은 값이 들어갈 수 있습니다.
message
필드에는, 아래 표에 설명된 값을 string으로 전달합니다. (하단 표 내용 참조)
reason
(string)
result
(string)
message
(string)
Description
UNKNOWN-SYMBOL
DENIED
해당 VASP에서 취급하지 않는다고 판명된 심벌 이름
거래소에서 취급하지 않는 심벌일 경우 (VASP가 취급하지 않는 자산일 경우)
UNKNOWN-NETWORK
DENIED
해당 VASP에서 취급하지 않는다고 판명된 네트워크 이름
거래소에서 취급하지 않는 네트워크이거나 네트워크 정보가 불충분한 경우 (심벌은 동일하지만 네트워크가 맞지 않는 경우)
UNKNOWN-ADDRESS
DENIED
해당 VASP 소유의 주소가 아니라고 판명된 지갑 주소
가상 자산 주소가 해당 VASP의 주소가 아닌 경우
LACK-OF-INFORMATION
DENIED
부족한 개인 정보 필드 코드 목록 (쉼표로 구분)
상대방 사용자의 정보가 검증을 수행하기에 부족한 경우
UNAVAILABLE-INFORMATION
DENIED
넘겨줄 수 없는 개인 정보 필드 코드 목록 (쉼표로 구분)
상대방이 요청한 개인 정보가 없거나 넘겨줄 수 없는 경우
BLACKLISTED
DENIED
-
상대방 사용자에 대한 sanction screening 결과 문제가 있는 경우
UNVERIFIED-KYC
DENIED
-
자신의 VASP의 해당 사용자가 KYC 인증이 되어 있지 않은 경우
MISMATCHED-NAME
DENIED
-
수신자의 이름이 송신 VASP에서 보내준 이름과 일치하지 않는 경우
NOT-ALLOWED
DENIED
거부 사유
송수신 VASP에서 어떤 이유로든 해당 사용자 검증 요청을 거부한 경우
UNDEFINED-ERROR
DENIED
에러 내용
그 밖에, 따로 정의되어 있지 않은 에러가 발생한 경우
BENEFICIARY-ACCOUNT-NOT-MATCHED
ERROR
-
송신자가 입력한 수신자 주소가 수신 VASP에 의해 변경되어 반환되었을 경우
REQUEST-TIMEOUT
ERROR
-
수신 VASP에서 사용자 검증 VASP API 호출이 시간 초과로 실패했을 경우
verifications.assetInfo.isExceedingThreshold 필드에는 다음과 같은 값이 들어갈 수 있습니다.
true, false 중 한 개의 값을 갖습니다.
true: 전송할 가상 자산의 법정 화폐 환산 금액이 법령에서 정한 금액 이상인 경우.
false: 전송할 가상 자산의 법정 화폐 환산 금액이 법령에서 정한 금액 미만인 경우.
Last updated