메인 콘텐츠로 건너뛰기
PATCH
curl

인증

x-api-key
string
header
필수

Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본 키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며 특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나 만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된 IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를 벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write 권한이 없는 키는 세션 링크와 token을 null로 수신합니다. https://docs.didit.me/console/api-keys 를 참고하십시오.

경로 매개변수

transaction_id
string<uuid>
필수

해당 이체를 소유한 Didit 고유 거래 UUID입니다.

본문

application/json

payment_txn_id(finish), action=cancel, action=resend, compliance_email을 포함한 action=update_compliance_email, wallet_address를 포함한 action=update_originator_wallet, beneficiary_vasp를 포함한 action=beneficiary_vasp 중 정확히 하나만 제공하세요.

payment_txn_id
string

온체인 거래 해시입니다. 이체가 COMPLETED 상태인 출금 이체여야 합니다.

action
enum<string>

"cancel"은 최종 상태가 아닌 전송을 취소합니다. "resend"는 COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE 또는 NOT_ENOUGH_COUNTERPARTY_DATA 상태로 정체된 아웃바운드 전송의 라우팅을 다시 실행합니다. "update_compliance_email"은 이 세 가지 상태 중 하나에 있는 아웃바운드 전송에서 요청이 전송되는 컴플라이언스 이메일을 교체하며, 이후 "resend"를 보내야 합니다. "update_originator_wallet"은 실제로 자금이 인출된 지갑(wallet_address, memo)을 기록합니다. "beneficiary_vasp"는 해당 상태 중 하나에 있는 아웃바운드 전송에 대해 거래 상대방 VASP를 직접 지정(beneficiary_vasp 필요)하며, 해당 VASP로 라우팅되어 다시 전송됩니다.

사용 가능한 옵션:
cancel,
resend,
update_compliance_email,
update_originator_wallet,
beneficiary_vasp
compliance_email
string<email>

action: update_compliance_email인 경우 필수입니다. 이 전송의 beneficiary_data.counterparty_vasp_email로 유지되며, 해당 전송에만 속하고 디렉터리 항목이나 연락처 목록에 추가되지 않습니다.

Maximum string length: 254
wallet_address
string

action: update_originator_wallet인 경우: 자금이 출금된 지갑입니다. 전송의 UTXO 입력값을 알 수 있는 경우 그중 하나여야 합니다.

Maximum string length: 128
memo
string

action: update_originator_wallet인 경우: 메모 네트워크에서의 지갑 메모 또는 태그입니다. 선택 사항입니다.

Maximum string length: 256
beneficiary_vasp
string<uuid>

action=beneficiary_vasp인 경우 필수: GET /v3/travel-rule/vasps/에서 가져온 디렉터리 VASP의 id입니다. 직접 선택한 값이 모든 자동 감지 단계보다 우선하며, 자동 감지 단계에서 이를 덮어쓰지 않습니다.

응답

업데이트된 전송 내역입니다. update_compliance_email 이후에도 상태는 변경되지 않으며 다음 resend 전까지 reason: email_undeliverable 상태를 유지합니다.

소유권 확인 및 완료/취소 endpoint에서 반환되는 전체 전송 객체입니다. 인바운드 전송의 지갑 소유권이 확인되지 않은 동안에는 상대방의 originator_data 및 beneficiary_data가 마스킹되어 반환되며(각 단어의 첫 글자만 유지되고 지갑, 체인 및 VASP 라우팅은 읽을 수 있는 상태로 유지됨), data_masked는 true가 됩니다.

uuid
string<uuid>
status
enum<string>
사용 가능한 옵션:
AWAITING_COUNTERPARTY,
ON_HOLD,
COMPLETED,
FINISHED,
CANCELLED,
EXPIRED,
COUNTERPARTY_MISMATCHED_DATA,
COUNTERPARTY_VASP_NOT_FOUND,
COUNTERPARTY_VASP_NOT_REACHABLE,
UNCONFIRMED_OWNERSHIP,
COUNTERPARTY_VASP_GENERAL_DECLINE,
NOT_ENOUGH_COUNTERPARTY_DATA,
NOT_APPLICABLE
direction
enum<string>
사용 가능한 옵션:
INBOUND,
OUTBOUND
rail
enum<string> | null

이체가 라우팅된 레일이거나 레일이 선택되지 않은 경우(예: 임계값 미만, 자체 보관 거래 상대방 지갑, 입금 후 등록 또는 도달 가능한 거래 상대방 없음) null입니다. INTERNAL은 양측 모두 Didit 애플리케이션임을 의미하며, EMAIL은 거래 상대방에게 수령 링크를 이메일로 전송하여 도달했음을 의미합니다. TEST_VASP는 Didit Test VASP가 샌드박스 이체에 응답했음을 의미합니다. GTR, VERIFYVASP 및 SYGNA의 경우, Didit은 네트워크 응답을 통해 또는 5분마다 폴링하여 거래 상대방의 응답을 읽습니다. TRUST는 전송만 수행하므로 TRUST 이체는 만료될 때까지 AWAITING_COUNTERPARTY 상태로 유지됩니다. 네트워크 레일은 해당 네트워크에 대한 자체 멤버십을 연결한 경우에만 사용됩니다. 거래 생성이 반환된 후에 선택되므로 해당 응답에서는 null입니다.

사용 가능한 옵션:
INTERNAL,
TRP,
GTR,
TRUST,
VERIFYVASP,
SYGNA,
EMAIL,
TEST_VASP,
null
protocol
string | null
ivms_version
string
예시:

"ivms101.2023"

required
boolean
ownership_confirmed
boolean | null
deadline_at
string<date-time> | null
timeline
object[]
counterparty_vasp
object | null
originator_data
object

송금인 당사자 정보입니다. 인바운드 전송의 경우 소유 구조가 확인될 때까지 거래 상대방의 값이 마스킹됩니다.

beneficiary_data
object

수취인 당사자 정보입니다. 입금 거래의 경우 소유 구조가 확인될 때까지 거래 상대방의 값이 마스킹됩니다.

name_match
object · null · null

이체를 결정한 이름 비교이거나, 실행되기 전까지는 null입니다. 당사자가 마스킹되어 있는 동안, 그리고 INTERNAL 교환의 다른 고객 사본에서는 transfer_name, compared_name, matched_names, mismatched_names가 숨겨집니다. score와 matched는 일치하지 않을 수 있습니다. matched는 엄격도를 따르고, score는 두 전체 성명의 유사도입니다.

data_match
object | null

전송 당사자 데이터와 상대방이 파악하고 있는 지갑 소유자 정보 간의 필드별 비교입니다. 값은 포함하지 않고 필드와 결과만 지정하므로 거래 상대방의 데이터가 마스킹된 상태에서도 가독성이 유지됩니다. 비교가 실행되기 전까지는 null입니다.

mismatched_fields
string[]

data_match.mismatched_fields의 바로가기입니다. 일치하지 않는 항목이 없으면 비어 있습니다.

data_unmasked
object | null

거래 상대방의 데이터가 마스킹 해제된 시점의 감사 기록입니다. 데이터가 여전히 마스킹되어 있는 동안 및 외부 송금의 경우 null입니다.

data_masked
boolean

이 응답에서 거래 상대방의 개인 데이터가 마스킹되어 있는 동안 true입니다.

created_at
string<date-time>
delivery
object | null

이 이체가 상대방에게 보내야 하는 최신 메시지의 현재 상태입니다. 이체에서 메시지를 보낼 필요가 없었던 경우(예: threshold_amount 미만, 신고된 자체 보관 지갑, 선라이즈 등록)에는 null입니다.

discovery
object[]

Didit이 거래 상대방을 찾은 방식이며, 실행된 단계당 하나의 항목이 포함됩니다. 인바운드 전송과 같이 조회가 실행되지 않은 경우에는 비어 있습니다.

reason
string

COUNTERPARTY_VASP_NOT_FOUND 또는 COUNTERPARTY_VASP_NOT_REACHABLE 전송이 지연된 이유이며, 다른 모든 상태의 경우 ""입니다. COUNTERPARTY_VASP_NOT_REACHABLE에서만 전송 실패가 먼저 결정됩니다: email_undeliverable(메일 제공업체가 컴플라이언스 이메일을 거부했고 시도할 주소가 남아있지 않음: 전송 시, 알림 시, 또는 나중에 보고된 영구 반송 시) 또는 delivery_failed(전송 중이던 레일이 완전히 실패함: 네트워크 레일이 메시지를 거부했거나 재시도 횟수를 모두 소진함, TRP 신원 호스트가 응답하지 않음, 또는 거래 상대방의 TRP 호스트가 조회를 수락하지 않음). 그렇지 않으면 discovery 추적이 이를 결정합니다: awaiting_end_user(Didit이 도달할 수 있는 거래 상대방을 지정한 단계가 없음), directory_match_no_route(경로가 없는 디렉터리 VASP를 지정한 단계임), picked_member_without_proven_wallet(최종 사용자가 지갑 제어권을 증명하지 않은 Didit 고객을 선택함), 또는 추적에서 다른 이유를 제공하지 않는 경우 no_directory_match. 재전송하면 전송이 진행되므로 이유가 초기화됩니다. 전송이 지연되는 이유를 참조하십시오.

next_actions
object[]

전송을 진행시키는 작업입니다. COUNTERPARTY_VASP_NOT_FOUND 또는 COUNTERPARTY_VASP_NOT_REACHABLE 이외의 상태에서는 []입니다. email_undeliverable은 update_compliance_email, 그 다음 resend를 제공합니다. delivery_failed는 resend를 제공합니다. 발견 사유는 select_counterparty_vasp, declare_self_hosted, add_vasp_hint 및 resend를 제공합니다.

chain_details
object

둘 이상의 주소가 다른 주소로 지불할 때 전송 체인이 두 지갑의 이름을 지정하는 방식입니다. 두 주소가 곧 지갑인 계정 기반 체인 전송(EVM, Solana, Tron)의 경우 비어 있습니다({}). 매칭, 라우팅 및 주소록은 여기에서 지갑을 먼저 읽습니다.

마지막 수정일 2026년 11월 7일