송신 VASP에게 가상자산의 이전에 대한 데이터를 요청합니다
자산 이전 데이터 요청은 자산 이전 허가 요청과 반대로, 이미 On-Chain 트랜잭션이 발생하여 익명의 입고가 발생 했을 시, 트래블룰 데이터를 상대방으로부터 얻기 위한 방법입니다.
❗️IVMS101 표준은 객체가 복잡하기에 CODE-Cipher를 이용하길 권고 드립니다. 내부 보안상의 사유로 부득이하게 사용하지 못할 경우 개발자 가이드의 IVMS101 표준 항목을 자세히 읽어 주세요.
❗️동기 방식으로 작동하는 API로 요청 후 즉시 응답을 받을 수 있습니다.
Path Parameter
이름 | 필수 여부 | 타입 | 설명 |
---|---|---|---|
vaspEntityId | 필수 | string | TXID로 VASP찾기에서 결과로 나온 VASP의 entityId |
Request
송금인(Originator)의 개인정보는 2024.8.7 이후 개인인 경우 개인의 이름과 생년월일, 법인인 경우 법인과 대표자의 이름에 대한 정보만 보내기로 합니다.
이름 | 필수 여부 | 타입 |
---|---|---|
transferId | 필수 | string |
txid | 필수 | string |
vout | 옵션 | string |
payload | 필수 | string |
transferId: 'TXID로 VASP찾기'에서 사용한 'requestId'를 그대로 사용 합니다.
txid: 이미 On-Chain 트랜잭션이 발생한 TXID 입니다. 가상자산 이전을 위해 블록체인 상에 실행된 특정한 트랜잭션을 식별하기 위한 고유한 값입니다. 블록체인 API 에 의해서 생성되며 유일한 값입니다.
vout: utxo타입 코인의 경우 복수의 블록체인 트랜잭션이 하나의 txid 를 공유하면서 그룹을 형성할 수 있습니다. 이때, 고유한 트랜잭션을 식별하기 위해 이 값을 사용합니다.
vout란? https://learnmeabitcoin.com/technical/transaction/input/vout/
payload: IVMS101 메시지를 담기 위한 객체입니다. IVMS101 Request 페이지를 참고해서 작성해주세요.
{
"transferId": "681f27dd-43e4-4ea3-9bcc-607426d6349f",
"txid": "311BFF73D9B7969CCF1042186180159C724FAB59013A7A034A93E5FB9D6BAFE6",
"vout": "",
"payload": "encrypted ivms101 payload"
}
Response
이름 | 필수 여부 | 타입 |
---|---|---|
result | 필수 | string |
reasonType | 옵션 | string |
reasonMsg | 옵션 | string |
transferId | 필수 | string |
currency | 옵션 | string |
amount | 옵션 | string |
historicalCost | 옵션 | string |
tradePrice | 옵션 | string |
tradeCurrency | 옵션 | string |
isExceedingThreshold | 옵션 | String |
payload | 필수 | string |
result: 가상자산의 이전 데이터 요청의 결과입니다.
-normal
: 정상적으로 처리 되어 상대방에서 트래블룰 데이터를 전송 받은 경우입니다.
-error
: 비 정상인 경우 반환됩니다. reasonType 값으로 상세 내용을 구분할 수 있습니다.
reasonType: result 필드 값이 denied 인 경우 이 필드가 추가 됩니다.
-NOT_FOUND_TXID
: TXID를 찾을 수 없는 경우입니다.
-LACK_OF_INFORMATION
: IVMS101 데이터 구성에 필요한 정보가 없을 경우입니다.
-UNKNOWN
: 그 밖에 다른 이유입니다.
reasonMsg: reasonType 을 설명하는 상세 메시지를 정의합니다.
transferId: '자산 이전 데이터 요청'의 request 로 부터 받은 transferId입니다.
currency: 출고된 가상자산의 심볼로 대소문자를 구분하지 않습니다.
amount: 출고된 가상자산의 총 볼륨입니다.
historicalCost: 출고된 가상자산의 취득 원가입니다. (국세청 요구 사항이지만, 아직은 사용하지 않습니다.)
tradePrice: 출고 당시 법정 화폐로 환산한 가상자산 전송 금액입니다. 아래의 'tradePrice' 계산법을 참고해 주세요
tradeCurrency: 법정 화폐로 환산할 때 사용한 ISO 4217 표준을 따르는 법정 화폐 코드입니다. "KRW", "USD", "EUR", "JPY", "CNY", "GBP", "CAD", "AUD", "HKD", "SGD"가 입력 가능하며 그 외의 화폐코드를 사용하게 되면 CODE 팀에게 알려주세요! 자세한 내용은 개발 FAQ페이지를 참고 부탁드립니다.
isExceedingThreshold: tradePrice가 법령에서 지정한 트래블룰 적용 기준을 초과하는지 여부로, true 또는false로 입력합니다.
payload(Required): IVMS101 메시지가 담긴 객체입니다. 상세 내용은 IVMS101 Response 페이지를 참고해주세요.
'tradePrice' 계산법
'tradePrice'에는 해당 자산의 수량과 가격을 곱하여 법정 화폐로 계산한 값을, tradeCurrency에는 법정 화폐의 종류를 입력해야 합니다. 예를 들어 2 BTC를 이전하는 경우, 그 시점의 가격이 $42,708라고 한다면 총 가격은 42,708*2 = 85,416 달러 입니다. 이 경우 다음과 같이 입력해야 합니다.
"tradePrice": "85416",
"tradeCurrency": "USD",