Saltar para o conteúdo principal
POST
curl

Autorizações

X-Transaction-Token
string
header
obrigatório

Token de curta duração com âmbito restrito gerado pelo seu backend através de POST /v3/transactions/sdk-token/. Utilizado pelos SDKs da Didit nos endpoints /v1/transactions/ direcionados ao dispositivo.

Corpo

application/json
txnId
string
obrigatório

O seu identificador exclusivo para esta transação (mapeia para transaction_id, máx. 128 carateres).

Exemplo:

"wd-2026-07-07-0042"

type
string
obrigatório

Categoria da transação (mapeia para transaction_category), por exemplo, finance, kyc, travelRule, userPlatformEvent, gamblingBet.

Exemplo:

"travelRule"

info
object
obrigatório

Detalhes financeiros principais da transação (mapeia para transaction_details).

subject
object
obrigatório

O sujeito (requerente) da transação. externalUserId é ignorado aqui: a identidade do sujeito é sempre imposta a partir de vendor_data do token.

txnDate
string<date-time>

Quando a transação ocorreu (mapeia para transaction_at). O padrão é o momento atual se omitido.

zoneId
string

Identificador de fuso horário IANA (mapeia para time_zone), ex.: Europe/Madrid.

counterparty
object

A contraparte da transação (opcional). Mesma estrutura que subject; externalUserId tem relevância aqui.

props
object

Pares chave-valor personalizados (mapeia para custom_properties). Cada chave pode ser referenciada em condições de regras como custom_values.<key>.

travelRule
object

Detalhes da Travel Rule (mapeia para travel_rule_details). Quando a Travel Rule está ativada para a aplicação, a Didit ignora qualquer status que envie e gere a troca por si própria.

includeCryptoScreening
boolean | null

Substituição por transação para a triagem de análise de blockchain de criptoativos (mapeia para include_crypto_screening).

fingerprint_v2
object

O payload de impressão digital do dispositivo didit-fp-v2. Injetado automaticamente pelos SDKs; apenas relevante ao chamar diretamente a wire API.

Resposta

Transação submetida e monitorizada. Mesma estrutura de detalhes de GET /v3/transactions/{transaction_id}/, incluindo o bloco action_required quando o utilizador final tem de concluir uma ação de seguimento (os SDKs iniciam-na automaticamente por predefinição).

Registo completo de monitorização de uma transação, conforme retornado por GET /v3/transactions/{transaction_id}/ e POST /v3/transactions/.

uuid
string<uuid>

Identificador de transação estável da Didit. Utilize como {transaction_id} para chamadas de seguimento.

environment
enum<string>

Ambiente da aplicação proprietária da transação. Uma transação em sandbox é armazenada, mas nunca avaliada, sujeita a triagem, notificada ou faturada, pelo que o seu rule_runs vazio significa "não avaliada".

Opções disponíveis:
live,
sandbox
transaction_number
integer

Número sequencial da transação no âmbito da aplicação apresentado na Consola (ex.: 4123).

txn_id
string

O transaction_id que indicou no momento da criação (máx. 128 carateres). Único por aplicação.

txn_date
string<date-time>

Quando a transação ocorreu (a partir de transaction_at; o padrão é a hora de submissão).

zone_id
string | null

Identificador de fuso horário IANA fornecido no momento da criação.

transaction_type
string

Categoria de nível superior tal como armazenada: finance, kyc, travelRule, userPlatformEvent, gamblingBet, gamblingLimitChange, gamblingBonusChange, auditTrailEvent. Tenha em atenção que os valores com várias palavras são devolvidos em camelCase, mesmo quando enviados em snake_case.

action_type
string

Subtipo dentro da categoria (p. ex. deposit, withdrawal, transfer). É predefinido como a categoria quando não é fornecido.

direction
enum<string>

Direção em relação ao sujeito. Armazenada em maiúsculas independentemente da capitalização submetida (in/out/inbound/outbound são aceites na entrada).

Opções disponíveis:
INBOUND,
OUTBOUND
status
enum<string>

Veredito atual de monitorização. As transações são criadas como APPROVED; as regras podem alterá-las sincronamente para IN_REVIEW/DECLINED.

Opções disponíveis:
APPROVED,
IN_REVIEW,
DECLINED,
AWAITING_USER
source
enum<string>

Como o registo teve origem: LIVE para transações submetidas através da API ou SDK, IMPORTED para transações carregadas através da importação da consola.

Opções disponíveis:
LIVE,
IMPORTED
amount
string

Montante da transação como uma string decimal sem zeros à direita (por exemplo, "1500", "0.5", "0.123456789012345678"). Até 18 casas decimais.

currency
string

Código de moeda de amount. Qualquer código alfabético ISO 4217 é aceite (por exemplo, EUR, USD, NGN), bem como um símbolo de ativo criptográfico (por exemplo, BTC). Dê preferência a um código atualmente em circulação. Nem todos os códigos aceites têm uma taxa de câmbio: quando nenhuma estiver disponível para o código (por exemplo, a unidade contabilística ISO XSU, ou um símbolo criptográfico que a Didit não precifique), a conversão automática falha e preferred_currency_amount é devolvido a null, a menos que o pedido tenha fornecido um amount_in_default_currency pré-convertido.

currency_type
string | null

fiat ou crypto, conforme submetido em currency_kind.

amount_in_default_currency
string | null

Montante pré-convertido fornecido por si, como uma cadeia decimal sem zeros à direita.

default_currency_code
string | null
preferred_currency_amount
string | null

amount convertido para a moeda preferida da aplicação, quando disponível.

preferred_currency_code
string | null
payment_details
string | null

Referência ou memorando de pagamento em texto livre proveniente do envio.

payment_txn_id
string | null

Referência externa do sistema de pagamento (por exemplo, hash de transação na blockchain) a partir de payment_reference_id.

score
integer

Pontuação de risco acumulada por regras (normalmente 0–100). Mais alta = maior risco.

severity
enum<string> | null

Gravidade de risco categórica definida por regras/fornecedores (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL). null até que algo a defina.

Opções disponíveis:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
decision_reason_code
string | null

Motivo legível por máquina para o status atual.

decision_reason_label
string | null

Rótulo legível para decision_reason_code.

vendor_data
string | null

Cópia de conveniência dos vendor_data do requerente.

metadata
object

Instantâneo dos payloads de subject e counterparty conforme enviados no momento da criação.

props
object

As custom_properties que forneceu no momento da criação. Cada chave pode ser referenciada nas condições das regras como custom_values.<key>.

tags
object[]

Etiquetas associadas à transação (manualmente ou por regras).

parties
object[]

Partes da transação (requerente, contraparte).

payment_methods
object[]

Métodos de pagamento associados à transação.

documents
object[]

Ficheiros anexados à transação a partir da consola. [] quando não existem ficheiros.

activities
object[]

Entradas do registo de atividade (criação, notas, revisões manuais, alterações de estado).

alerts
object[]

Sempre vazio atualmente. Um alerta em aberto é uma transação com o estado IN_REVIEW ou AWAITING_USER.

rule_runs
object[]

Resultados da execução por regra — que regra foi acionada, com que impacto na pontuação.

provider_results
object[]

Payloads em bruto do fornecedor (triagem AML, análise de blockchain, etc.).

travel_rule
object | null

Transferência ou verificação da Travel Rule. Preenchido quando travel_rule_details foi submetido, e também quando a Travel Rule está ativada e a transação foi criada com transaction_category: travelRule (a Didit inicia a troca por si própria, mesmo sem travel_rule_details). null quando não existe qualquer transferência ou verificação. Numa transferência de entrada, os dados originator_data e beneficiary_data da contraparte permanecem mascarados (data_masked: true) até que a propriedade da carteira seja confirmada.

network_snapshot
object | null

Instantâneo do grafo de transações/partes relacionadas utilizado pelo motor de regras. Corresponde ao network_snapshot submetido com a transação ou ao grafo que a Didit gera a partir de uma triagem AML de carteiras bem-sucedida (o qual substitui o submetido). null quando nenhum deles existe.

remediation
object | null

Sessão de remediação oferecida ao utilizador quando é necessária reverificação. Substituída por action_required, que é o bloco canónico; mantida para retrocompatibilidade.

action_required
Verification session · object

Ação pendente do utilizador final necessária para concluir esta transação, ou null quando não houver nenhuma. Os SDKs da Didit iniciam automaticamente a ação por predefinição e atualizam a transação quando esta termina. Duas variantes, distinguidas por type: verification_session (uma sessão de verificação alojada criada por uma ação de regra) e wallet_ownership (uma sessão de widget de propriedade da carteira criada automaticamente para uma transferência da Travel Rule que necessita de comprovativo de controlo da carteira, condicionada pela definição da Travel Rule auto_wallet_verification). Quando ambas se podem aplicar, wallet_ownership tem precedência porque bloqueia a troca da Travel Rule.

cost_breakdown
object | null

Custo desta transação: total_price e items, um por cobrança, cada um com usage_type, price, details e created_at. Uma nova triagem da mesma transação constitui um novo item.

Última modificação em 7 de novembro de 2026