Saltar al contingut principal
PATCH
curl

Autoritzacions

x-api-key
string
header
requerit

La clau d'API de la teva aplicació, des de Developers -> API keys a la Business Console. La clau primària té accés complet. Una clau amb nom pot tenir l'abast limitat: cap, lectura o escriptura per recurs, limitada a determinats fluxos de treball o a sessions aprovades, a una llista d'adreces IP i a una data de caducitat. 401 significa que la clau és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap clau, que la clau no té accés a aquest recurs o acció, o que la sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una ruta de sessió significa que la sessió està fora dels fluxos de treball o estats de la clau. Una clau sense accés a fitxers multimèdia rep els URL d'imatge, vídeo i PDF com a null, i una clau sense permís d'escriptura de sessions rep els enllaços de sessió i els tokens com a null. Consulta https://docs.didit.me/console/api-keys.

Paràmetres de ruta

transaction_id
string<uuid>
requerit

UUID de transacció estable de Didit que posseeix la transferència.

Cos

application/json

Proporciona exactament un d'aquests valors: payment_txn_id (finalitzar), action=cancel, action=resend, action=update_compliance_email amb compliance_email, action=update_originator_wallet amb wallet_address, o action=beneficiary_vasp amb beneficiary_vasp.

payment_txn_id
string

El hash de la transacció on-chain. Requereix que la transferència sigui una transferència sortint en estat COMPLETED.

action
enum<string>

"cancel" cancel·la una transferència que no es troba en un estat terminal. "resend" torna a executar l'encaminament d'una transferència de sortida bloquejada en l'estat COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE o NOT_ENOUGH_COUNTERPARTY_DATA. "update_compliance_email" substitueix el correu electrònic de compliment al qual s'envia la sol·licitud, en una transferència de sortida en un d'aquests tres estats; envia "resend" després. "update_originator_wallet" registra la cartera des d'on han sortit realment els fons (wallet_address, memo). "beneficiary_vasp" designa el VASP contrapart tu mateix (requereix beneficiary_vasp) per a una transferència de sortida en un d'aquests estats: s'encamina a aquest VASP i es torna a enviar.

Opcions disponibles:
cancel,
resend,
update_compliance_email,
update_originator_wallet,
beneficiary_vasp
compliance_email
string<email>

Obligatori amb action: update_compliance_email. Es desa com el beneficiary_data.counterparty_vasp_email d'aquesta transferència: pertany únicament a aquesta transferència i no s'afegeix a cap entrada de directori ni a cap llista de contactes.

Maximum string length: 254
wallet_address
string

Amb action: update_originator_wallet: la cartera des d'on han sortit els fons. Quan es coneixen les entrades UTXO de la transferència, ha de ser una d'elles.

Maximum string length: 128
memo
string

Amb action: update_originator_wallet: el memo o l'etiqueta de la cartera en una xarxa amb memo. Opcional.

Maximum string length: 256
beneficiary_vasp
string<uuid>

Obligatori amb action=beneficiary_vasp: l'id d'un VASP del directori, obtingut de GET /v3/travel-rule/vasps/. La teva selecció té prioritat sobre qualsevol pas de descobriment automàtic, que mai la sobreescriurà.

Resposta

La transferència actualitzada. Després de update_compliance_email, el seu estat no canvia i manté reason: email_undeliverable fins al següent resend.

Objecte de transferència complet retornat pels endpoints de confirmació de titularitat i de finalització/cancel·lació. Mentre la titularitat de la cartera d'una transferència entrant no estigui confirmada, els camps originator_data i beneficiary_data de la contrapart es retornen emmascarats (es manté la primera lletra de cada paraula; la cartera, la cadena i l'encaminament del VASP continuen sent llegibles) i data_masked és true.

uuid
string<uuid>
status
enum<string>
Opcions disponibles:
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>
Opcions disponibles:
INBOUND,
OUTBOUND
rail
enum<string> | null

El rail pel qual s'ha encaminat la transferència, o null quan no se n'ha seleccionat cap (per exemple, per sota del llindar, una cartera autoallotjada de la contrapart, un registre posterior al dipòsit o cap contrapart accessible). INTERNAL significa que ambdues parts són aplicacions de Didit; EMAIL significa que s'ha contactat amb la contrapart mitjançant un enllaç de recollida enviat per correu electrònic. TEST_VASP significa que el Didit Test VASP ha respost a la transferència de sandbox. A través de GTR, VERIFYVASP i SYGNA, Didit llegeix la resposta de la contrapart a partir de la resposta de la xarxa o fent-ne un sondeig cada 5 minuts. TRUST només envia, de manera que una transferència TRUST roman en AWAITING_COUNTERPARTY fins que caduca. Un rail de xarxa només s'utilitza quan has connectat la teva pròpia afiliació a aquesta xarxa. Es tria després que la creació de la transacció retorni, de manera que és null en aquesta resposta.

Opcions disponibles:
INTERNAL,
TRP,
GTR,
TRUST,
VERIFYVASP,
SYGNA,
EMAIL,
TEST_VASP,
null
protocol
string | null
ivms_version
string
Exemple:

"ivms101.2023"

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

Part ordenant. Per a una transferència entrant, els valors de la contrapart s'emmascaren fins que se'n confirmi la titularitat.

beneficiary_data
object

Part beneficiària. Per a una transferència entrant, els valors de la contrapart s'emmascaren fins que es confirmi la titularitat.

name_match
object · null · null

La comparació de noms que ha decidit la transferència, o null fins que se n'hagi executat una. Mentre les parts estan emmascarades, i a la còpia de l'altre client d'un intercanvi INTERNAL, transfer_name, compared_name, matched_names i mismatched_names s'oculten. score i matched poden discrepar: matched segueix l'estrictesa, score és la similitud dels dos noms complets.

data_match
object | null

Comparació camp per camp de les dades de les parts de la transferència amb el que l'altra part sap sobre el titular de la cartera. Nomena camps i resultats, mai valors, de manera que continua sent llegible mentre les dades de la contrapart estan emmascarades. Null fins que s'executi una comparació.

mismatched_fields
string[]

Drecera per a data_match.mismatched_fields. Buit quan no hi ha cap diferència.

data_unmasked
object | null

Registre d'auditoria del moment en què es van desenmascarar les dades de la contrapart. És null mentre les dades continuïn emmascarades, així com per a transferències sortints.

data_masked
boolean

Cert mentre les dades personals de la contrapart estiguin emmascarades en aquesta resposta.

created_at
string<date-time>
delivery
object | null

Estat en què es troba l'últim missatge que aquesta transferència deu a l'altra part. És nul quan la transferència mai no n'ha degut cap (per exemple, per sota de threshold_amount, una cartera autoallotjada declarada o un registre de sunrise).

discovery
object[]

Com Didit ha cercat la contrapart, una entrada per cada pas que s'ha executat. Buit quan no s'ha executat cap descobriment, per exemple en una transferència entrant.

reason
string

Per què una transferència COUNTERPARTY_VASP_NOT_FOUND o COUNTERPARTY_VASP_NOT_REACHABLE està encallada; "" per a qualsevol altre estat. Un lliurament fallit ho determina primer, només a COUNTERPARTY_VASP_NOT_REACHABLE: email_undeliverable (el proveïdor de correu ha refusat el correu electrònic de compliment i no queda cap adreça per provar: quan s'ha enviat, en un recordatori o com un rebot permanent notificat més tard) o delivery_failed (el canal que l'estava lliurant ha fallat definitivament: un canal de xarxa ha refusat el missatge o s'ha quedat sense reintents, un host d'identitat TRP no ha respost o l'host TRP de la contrapart no ha acceptat la consulta). En cas contrari, el rastreig de discovery ho determina: awaiting_end_user (cap pas ha indicat una contrapart a la qual Didit pugui arribar), directory_match_no_route (un pas ha indicat un VASP del directori que no té ruta), picked_member_without_proven_wallet (l'usuari final ha triat un client de Didit que no ha demostrat el control de la cartera) o no_directory_match quan el rastreig no dóna cap altre motiu. Un reenviament fa avançar la transferència, de manera que el motiu s'esborra. Consulta Per què una transferència està encallada.

next_actions
object[]

Què fa avançar la transferència; [] per a qualsevol estat excepte COUNTERPARTY_VASP_NOT_FOUND o COUNTERPARTY_VASP_NOT_REACHABLE. email_undeliverable ofereix update_compliance_email i després resend. delivery_failed ofereix resend. Un motiu de descobriment ofereix select_counterparty_vasp, declare_self_hosted, add_vasp_hint i resend.

chain_details
object

Com anomena la cadena de la transferència les seves dues carteres, quan es tracta de més d'una adreça pagant-ne una altra. Buit ({}) per a una transferència de cadena basada en comptes (EVM, Solana, Tron), on les dues adreces són les carteres. La coincidència, l'encaminament i la llibreta d'adreces llegeixen primer les carteres d'aquí.

Darrera modificació el 7 de novembre del 2026