> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Esquema de resposta KYT: referència del payload

> Resposta de transacció de Didit: puntuació, regles, parts, dispositiu i IP, cribratge cripto i Travel Rule. 1,000 al mes, després $0.001 cadascun.

Aquesta pàgina documenta el payload complet que retornen `POST /v3/transactions/` i `GET /v3/transactions/{transaction_id}/`. Tots dos endpoints retornen el mateix objecte `TransactionDetail`. La [referència de l'API](https://docs.didit.me/ca/management-api/transactions/get.md) conté l'esquema camp per camp, i aquesta pàgina n'explica el contingut pas a pas.

## Estructura de primer nivell

```json theme={null}
{
  "uuid": "abcdef12-3456-4890-abcd-ef1234567890",
  "environment": "live",
  "transaction_number": 4123,
  "txn_id": "tx-0001",
  "txn_date": "2026-04-16T12:00:00Z",
  "zone_id": "Europe/Madrid",
  "transaction_type": "finance",
  "action_type": "withdrawal",
  "direction": "OUTBOUND",
  "status": "IN_REVIEW",
  "source": "LIVE",
  "amount": "12500",
  "currency": "EUR",
  "currency_type": "fiat",
  "amount_in_default_currency": null,
  "default_currency_code": null,
  "preferred_currency_amount": "13520.75",
  "preferred_currency_code": "USD",
  "payment_details": "Withdrawal to bank account",
  "payment_txn_id": null,
  "score": 65,
  "severity": "MEDIUM",
  "decision_reason_code": "rule_score_threshold",
  "decision_reason_label": "Score above review threshold",
  "vendor_data": "user-42",
  "metadata": { "subject": { ... }, "counterparty": { ... } },
  "props": { "order_id": "ORD-7891" },
  "tags": [ ... ],
  "parties": [ ... ],
  "payment_methods": [ ... ],
  "documents": [ ... ],
  "activities": [ ... ],
  "alerts": [],
  "rule_runs": [ ... ],
  "provider_results": [ ... ],
  "travel_rule": { ... } | null,
  "network_snapshot": { ... } | null,
  "remediation": { ... } | null,
  "action_required": { ... } | null,
  "cost_breakdown": { ... } | null
}
```

Hi ha dos identificadors que descriuen la mateixa transacció. `uuid` és l'identificador estable de Didit i és el que `GET /v3/transactions/{transaction_id}/` espera al camí de la URL. `txn_id` és el `transaction_id` que vas proporcionar en el moment de crear la transacció. `transaction_number` és el número seqüencial associat a l'aplicació que mostra la consola.

El subjecte i la contrapart que vas enviar no es retornen com a claus de primer nivell. Són les entrades de l'array `parties`, que es distingeixen pel `role`, i `vendor_data` de primer nivell és una còpia pràctica del `vendor_data` del sol·licitant.

## Camps clau

### Camps financers

* `amount` / `currency` — import de la transacció tal com s'ha enviat. `amount` és una cadena decimal sense zeros finals (`"1500"`, `"0.5"`), amb fins a 18 decimals.
* `currency_type` — `fiat` o `crypto`, tal com s'ha enviat a `currency_kind`; `null` si s'ha omès.
* `amount_in_default_currency` / `default_currency_code` — l'import prèviament convertit que has proporcionat a la sol·licitud, retornat tal com l'has enviat; `null` si no n'has enviat cap.
* `preferred_currency_amount` / `preferred_currency_code` — `amount` convertit a la moneda preferida de la teva aplicació. `null` quan no hi ha cap tipus de canvi disponible per a `currency` i no has enviat `amount_in_default_currency`.
* `payment_details` / `payment_txn_id` — la referència de pagament en text lliure i la referència externa de pagament (per exemple, un hash de transacció de blockchain) de la sol·licitud.

### Camps d'estat

* `status` — `APPROVED`, `IN_REVIEW`, `DECLINED`, `AWAITING_USER`. Les transaccions es creen com a `APPROVED`; les regles poden canviar-ne l'estat de manera síncrona.
* `score` — puntuació de risc entera acumulada per les regles. Com més alta, més risc.
* `severity` — `UNKNOWN`, `LOW`, `MEDIUM`, `HIGH`, `CRITICAL`, o `null` fins que una regla o un proveïdor la establisca.
* `decision_reason_code` / `decision_reason_label` — motiu estructurat i motiu llegible per a les persones de l'estat actual.
* `environment` - `live` o `sandbox`, des de l'aplicació que és propietària de la transacció. Una transacció `sandbox` s'emmagatzema però mai s'avalua, de manera que el seu `rule_runs` buit vol dir «no avaluada» i no «cap coincidència». Consulta [Monitoratge de transaccions en sandbox](https://docs.didit.me/ca/integration/sandbox-testing.md#monitoratge-de-transaccions-en-sandbox).
* `source` - `LIVE` per a les transaccions enviades mitjançant l'API o el SDK, `IMPORTED` per a les transaccions carregades mitjançant la importació CSV de la consola.

### Parts

Cada part de la transacció és una entrada de `parties`. L'endpoint de creació registra el subjecte com a `APPLICANT` i la contrapart opcional com a `COUNTERPARTY`; l'enumeració `role` també inclou `REMITTER` i `BENEFICIARY`. Totes les entrades comparteixen la mateixa estructura.

```json theme={null}
"parties": [
  {
    "uuid": "b1111111-2222-4333-8444-555555555555",
    "role": "APPLICANT",
    "entity_type": "individual",
    "kind": "USER",
    "vendor_data": "user-42",
    "full_name": "John Doe",
    "first_name": "John",
    "last_name": "Doe",
    "country_code": "USA",
    "dob": "1990-01-01",
    "address": { "line_1": "...", "city": "...", "country": "USA" },
    "institution_info": { "name": "...", "country_code": "..." },
    "device": {
      "fingerprint": "...",
      "persistent_device_id": "...",
      "user_agent": "...",
      "browser_family": "Chrome",
      "browser_version": "131.0",
      "platform": "web",
      "os_family": "Windows",
      "os_version": "10.0",
      "accept_language": "en-US,en;q=0.9",
      "session_id": "...",
      "session_age_ms": 84000,
      "metadata": {
        "accept_language": "en-US,en;q=0.9",
        "session_id": "...",
        "session_age_ms": 84000
      },
      "network_context": {
        "ip_address": "203.0.113.5",
        "ip_country": "United States",
        "ip_country_code": "US",
        "ip_state": "California",
        "ip_city": "San Francisco",
        "latitude": 37.7749,
        "longitude": -122.4194,
        "isp": "Example ISP",
        "organization": "Example Org",
        "is_vpn_or_tor": false,
        "is_data_center": false,
        "time_zone": "America/Los_Angeles",
        "time_zone_offset": "-0700",
        "asn_number": 64496,
        "asn_organization": "Example ISP",
        "connection_type": "isp",
        "carrier": null,
        "proxy_type": null
      }
    },
    "external_party_snapshot": null
  },
  {
    "uuid": "c2222222-3333-4444-8555-666666666666",
    "role": "COUNTERPARTY",
    "entity_type": "company",
    "kind": "EXTERNAL",
    "vendor_data": null,
    "full_name": "Acme Supplier",
    "first_name": null,
    "last_name": null,
    "country_code": "GBR",
    "dob": null,
    "address": {},
    "institution_info": {},
    "device": {},
    "external_party_snapshot": { "full_name": "Acme Supplier", "country": "GBR", "...": "..." }
  }
]
```

* `role` — `APPLICANT`, `COUNTERPARTY`, `REMITTER`, `BENEFICIARY`. Filtra per aquest camp per trobar el subjecte.
* `entity_type` — `individual`, `company`, `external`, `unhostedWallet`, tal com s'ha enviat.
* `kind` — `USER` o `BUSINESS` quan la part està vinculada a un usuari o a una empresa de Didit mitjançant `vendor_data`; `EXTERNAL` en cas contrari.
* `country_code` / `dob` — a partir de `address.country` i `date_of_birth` enviats.
* `address` / `institution_info` — els objectes tal com s'han enviat; `{}` si s'han omès.
* `external_party_snapshot` — còpia congelada de les dades de la part per a les parts `EXTERNAL`; `null` mentre la part estigui vinculada a un usuari o a una empresa de Didit.

#### `device`

`device` és el `device_context` que has enviat per a aquesta part, normalitzat a snake\_case, més l'enriquiment de la IP fet al servidor. És `{}` quan la sol·licitud no contenia cap context de dispositiu, de manera que cal tractar sempre cada clau com a opcional.

| Clau | Descripció |
| - | - |
| `fingerprint`, `persistent_device_id` | Identificadors del dispositiu tal com s'han enviat. |
| `user_agent`, `browser_family`, `browser_version`, `platform`, `os_family`, `os_version` | Atributs del navegador i del sistema operatiu tal com s'han enviat. `browser_family` i `platform` mai es deriven de `user_agent`. |
| `accept_language`, `session_id`, `session_age_ms` | Atributs de la sessió tal com s'han enviat. També es dupliquen a `device.metadata` amb els mateixos noms, que és on els emmagatzema la via de l'SDK. |
| `metadata` | Hi és quan la sol·licitud conté un objecte `metadata` o qualsevol dels tres atributs de sessió. |
| `network_context` | Context de xarxa, vegeu més avall. No hi és quan no s'ha enviat cap dada d'IP ni de xarxa. |

No hi ha cap objecte d'enriquiment separat. Quan la part tenia un `network_context.ip_address` públic, Didit el resol en línia i escriu els [camps enriquits](https://docs.didit.me/ca/transaction-monitoring/ip-enrichment.md#camps-enriquits) al mateix objecte `network_context`, omplint només les claus que no has proporcionat. Les claus que el resolutor ha retornat buides s'ometen, de manera que un `network_context` completament enriquit conté les quatre claus enviades (`ip_address`, `ip_country_code`, `latitude`, `longitude`) més les que s'hagin resolt entre `ip_country`, `ip_state`, `ip_city`, `isp`, `organization`, `is_vpn_or_tor`, `is_data_center`, `time_zone`, `time_zone_offset`, `asn_number`, `asn_organization`, `connection_type`, `carrier` i `proxy_type`. `is_vpn_or_tor` i `is_data_center` sempre hi són després d'una resolució correcta.

L'enriquiment s'omet, i `network_context` es retorna exactament tal com s'ha enviat, quan falta la IP o no és encaminable, quan l'aplicació és a sandbox, o quan la resolució ha fallat. `ip_country_code` és un codi ISO 3166-1 alpha-2 quan Didit l'ha resolt, i el que hagis enviat en cas contrari; les condicions de les regles normalitzen les dues formes abans de comparar-les.

### Mètodes de pagament

```json theme={null}
"payment_methods": [
  {
    "uuid": "...",
    "payment_method_type": "bank_account",
    "label": null,
    "fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "account_id": "DE89370400440532013000",
    "issuing_country": "DE",
    "owner_kind": "USER",
    "vendor_data": "user-42",
    "owner_name": "John Doe",
    "institution_info": {},
    "details": { "method_type": "bank_account", "account_id": "DE89370400440532013000", "issuing_country": "DE" },
    "external_owner_snapshot": null,
    "role": "SOURCE"
  }
]
```

* `role` — `SOURCE`, `DESTINATION`, `FUNDING`, `BENEFICIARY`. L'endpoint de creació assigna `SOURCE` / `DESTINATION` a partir de `direction`: en una transacció de sortida, el mètode del subjecte és el `SOURCE` i el de la contrapart és el `DESTINATION`; en una d'entrada, és a la inversa.
* `payment_method_type` — `bank_card`, `bank_account`, `e_wallet`, `crypto_wallet`, `unhosted_wallet`, `other`.
* `fingerprint` — SHA-256 sobre `type:account_id:issuing_country`, estable entre transaccions perquè puguis correlacionar la reutilització del mateix instrument. `null` quan no s'ha enviat cap `account_id`.
* `owner_kind` / `vendor_data` / `owner_name` — qui és el titular de l'instrument, seguint la mateixa convenció `USER` / `BUSINESS` / `EXTERNAL` que les parts.
* `details` — l'objecte `payment_method` tal com s'ha enviat.

### Execucions de regles

```json theme={null}
"rule_runs": [
  {
    "uuid": "...",
    "rule": "f6a7b8c9-0123-4def-b012-3456789abcde",
    "rule_title": "High-value outbound",
    "rule_description": null,
    "rule_category": "finance",
    "matched": true,
    "is_test": false,
    "mode": "ACTIVE",
    "severity": "MEDIUM",
    "score_delta": 30,
    "status_target": null,
    "action_summary": "score +30",
    "metadata": {
      "scope_match": true,
      "conditions": [
        {
          "field": "amount",
          "operator": "gt",
          "expected_value": "10000",
          "current_value": "12500",
          "matched": true,
          "group_index": null,
          "group_logic": "AND",
          "field_source": null
        }
      ],
      "aggregations": []
    },
    "created_at": "2026-04-16T12:00:01Z"
  },
  {
    "uuid": "...",
    "rule": "...",
    "rule_title": "High-risk jurisdiction counterparty",
    "rule_description": null,
    "rule_category": "finance",
    "matched": true,
    "is_test": false,
    "mode": "ACTIVE",
    "severity": "HIGH",
    "score_delta": 35,
    "status_target": "IN_REVIEW",
    "action_summary": "score +35; change_status:IN_REVIEW; add_tag:high_risk_country",
    "metadata": { "scope_match": true, "conditions": [ ... ], "aggregations": [] },
    "created_at": "2026-04-16T12:00:01Z"
  }
]
```

* `rule` — UUID de la regla que s'ha executat; `rule_title`, `rule_description` i `rule_category` se n'han copiat.
* `matched` — només es registra una execució quan es compleixen les condicions de la regla, de manera que les avaluacions reals sempre porten `matched: true`. Les regles que s'han avaluat sense coincidir no deixen cap entrada. Les dades de demostració poden incloure files amb `matched: false`.
* `is_test` / `mode` — `true` i `TEST` quan la regla s'ha executat en mode de prova; una execució de prova es registra però no afecta `status`, `score` ni `severity`.
* `score_delta` / `status_target` / `severity` — allò que ha aportat aquesta execució. `status_target` s'estableix quan s'ha executat una acció `change_status`, o quan la puntuació afegida ha superat un [llindar](https://docs.didit.me/ca/transaction-monitoring/risk-scoring.md).
* `action_summary` — un resum en text de les accions que ha executat la regla, unides amb `; ` (`score +30`, `change_status:IN_REVIEW`, `add_tag:<name>`, `add_note`, `add_to_list`, `open_case`); `null` quan la regla no ha executat cap acció.
* `metadata` — el detall de l'avaluació: `scope_match`, així com `conditions[]` i `aggregations[]`. Les dues llistes fan servir claus de valor diferents:
  * `conditions[]` — una entrada per condició amb `field`, `operator`, `expected_value`, el `current_value` llegit de la transacció, `matched`, `group_index` i `group_logic`. `field_source` és sempre `null` a les execucions de regles de transacció; només es classifica per als [esdeveniments de monitoratge](https://docs.didit.me/ca/transaction-monitoring/events.md).
  * `aggregations[]` — una entrada per cada agregació de velocitat, recompte o suma amb `metric`, `field`, `operator`, `expected_value`, el `computed_value` que ha produït l'agregació, `window`, `filters`, `matched` i `sample_references`. Les agregacions que només es poden calcular de manera asíncrona porten `computed_value: null` i `deferred: true`.

### Alertes

`alerts` és sempre un array buit actualment.
Una alerta oberta és una transacció retinguda, així que llegeix `status` (`IN_REVIEW` o `AWAITING_USER`) en el seu lloc. Consulta [Alertes](https://docs.didit.me/ca/transaction-monitoring/alerts.md).

### Activitats

El registre d'activitat de la transacció: creació, notes, revisions manuals i canvis d'estat.

```json theme={null}
"activities": [
  {
    "uuid": "...",
    "activity_type": "TRANSACTION_CREATED",
    "source": "TRANSACTION",
    "status": "APPROVED",
    "title": "withdrawal",
    "description": null,
    "metadata": { "action_type": "withdrawal", "direction": "OUTBOUND", "amount": "12500", "currency": "EUR" },
    "occurred_at": "2026-04-16T12:00:00Z"
  }
]
```

Les notes de l'analista apareixen aquí com a entrades `TRANSACTION_NOTE_ADDED`; no hi ha cap array `notes` independent.

### Documents

Fitxers adjuntats a la transacció des de la consola. `[]` quan no n'hi ha cap.

```json theme={null}
"documents": [
  {
    "uuid": "...",
    "label": "Invoice",
    "note": null,
    "uploaded_by": "...",
    "created_at": "2026-04-16T12:05:00Z",
    "files": [
      { "uuid": "...", "file_url": "https://...", "original_filename": "invoice.pdf", "file_size": 48213 }
    ]
  }
]
```

`file_url` és una URL signada de vida curta; obtén-la quan la necessitis en lloc d'emmagatzemar-la.

### Resultats dels proveïdors

Resultats dels proveïdors externs (cribratge de hash de transaccions, cribratge de carteres, monitoratge fiat i cribratge de sancions).

```json theme={null}
"provider_results": [
  {
    "uuid": "...",
    "result_type": "TRANSACTION_SCREENING",
    "provider": "merklescience",
    "status": "SCREENED",
    "severity": "HIGH",
    "score": 82,
    "summary": "Merkle Science risk: High (4/5). Dominant risk: stolen_funds. Driven by: 50% direct incoming exposure to Theft / Hack (Stolen Funds)",
    "payload": {
      "provider": "merklescience",
      "screening_type": "TRANSACTION_SCREENING",
      "transaction_hash": "0x...",
      "wallet_address": null,
      "blockchain": "ETH",
      "block_timestamp": "2026-04-01T00:07:11Z",
      "total_value_usd": 2942.31,
      "fee_usd": 0.09,
      "transaction_flows": [
        {
          "flow_type": "token",
          "from_address": "0x...",
          "to_address": "0x...",
          "amount": 72.83039728,
          "amount_usd": 235.97,
          "currency": "UNI",
          "token_name": "Uniswap",
          "token_address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
          "transaction_hash": "0x...",
          "block_timestamp": "2026-04-01T00:07:11Z",
          "index": 460,
          "success": true,
          "metadata": {
            "provider": "blockscout",
            "token_type": "ERC-20",
            "token_icon_url": "https://...",
            "token_reputation": "ok",
            "token_holders_count": "410093",
            "from": {
              "label": "ravaga.eth",
              "tags": [{ "name": "Beacon Depositor", "type": "generic" }]
            },
            "to": {
              "label": "AirSwap: Spender",
              "is_contract": true,
              "is_verified": true
            }
          }
        }
      ],
      "source_of_funds": [
        {
          "category": "stolen_funds",
          "entity_name": "Stolen Funds",
          "entity_type": "Theft",
          "entity_subtype": "Hack",
          "exposure_direction": "incoming",
          "exposure_type": "direct",
          "is_direct": true,
          "amount_usd": 1471.16,
          "percentage": 50,
          "country": ""
        }
      ],
      "destination_of_funds": [],
      "counterparty_connections": [],
      "sanctions_hit": false,
      "risk_factors": [
        {
          "source": "exposure",
          "category": "stolen_funds",
          "label": "Theft / Hack",
          "entity_name": "Stolen Funds",
          "direction": "incoming",
          "exposure_type": "direct",
          "amount_usd": 1471.16,
          "percentage": 50,
          "is_high_risk": true,
          "description": "50% direct incoming exposure to Theft / Hack (Stolen Funds)"
        }
      ],
      "raw_response": { "...": "provider-specific details" }
    },
    "created_at": "2026-04-16T12:00:02Z"
  }
]
```

`result_type`: `FIAT_MONITORING`, `WALLET_SCREENING`, `TRANSACTION_SCREENING`, `TRAVEL_RULE`, `NETWORK_GRAPH`, `CUSTOM`.

`payload.risk_factors` és l'explicació ordenada de `score`: què ha produït el veredicte, primer els factors d'alt risc i després per valor mogut. Un `score` alt sense cap entrada `is_high_risk` vol dir que el proveïdor ha valorat l'entitat amb el seu propi model d'exposició sense informar de cap coincidència amb sancions ni amb una entitat atribuïda; `summary` ho indica explícitament. Referència camp per camp: [Factors de risc](https://docs.didit.me/ca/transaction-monitoring/wallet-screening.md#factors-de-risc). Els resultats cribats abans que existís aquest camp no contenen la clau.

Per al cribratge de hash de transaccions cripto, `transaction_flows` s'omple quan hi ha enriquiment on-chain disponible. Normalitza l'activitat de la cadena perquè la consola pugui mostrar tant el resum de la transacció com el graf de visualització a partir del mateix payload de resposta.

Fonts d'enriquiment compatibles:

* Les cadenes EVM utilitzen Blockscout per normalitzar la transacció principal, les crides internes i les transferències de tokens.
* Bitcoin utilitza mempool.space per normalitzar les entrades i sortides de la transacció.
* Solana utilitza Helius per normalitzar les transferències de SOL nadiu, les transferències de tokens SPL i el context dels esdeveniments NFT disponibles.

Cada element de `transaction_flows[]` inclou camps normalitzats i estables (`flow_type`, `from_address`, `to_address`, `amount`, `amount_usd`, `currency`, `token_name`, `token_address`, `transaction_hash`, `block_timestamp`, `index`, `success`) més `metadata` específics del proveïdor.

Exemples habituals de `metadata`:

```json theme={null}
{
  "provider": "blockscout",
  "decoded_method_call": "swap(string aggregatorId, address tokenFrom, uint256 amount, bytes data)",
  "block_number": 23141214,
  "gas_used": "171843",
  "fee_native": 0.000342317619518133,
  "token_icon_url": "https://...",
  "token_reputation": "ok"
}
```

```json theme={null}
{
  "provider": "mempool",
  "role": "input",
  "previous_txid": "4c0c...",
  "previous_vout": 0,
  "scriptpubkey_type": "v0_p2wpkh",
  "fee_btc": 0.00000322,
  "block_height": 943130
}
```

```json theme={null}
{
  "provider": "helius",
  "source": "MAGIC_EDEN",
  "type": "NFT_BID",
  "description": "Wallet bid 2.5 SOL on an NFT.",
  "slot": 136658192,
  "fee_sol": 0.000005,
  "nft_event": {
    "type": "NFT_BID",
    "source": "MAGIC_EDEN",
    "nft_mints": ["3bUW..."]
  }
}
```

`metadata` és additiva i específica del proveïdor. No construeixis integracions crítiques que requereixin que totes les claus hi siguin per a cada cadena.

### Travel Rule

`null` quan la transacció no té cap transferència ni comprovació de Travel Rule. S'omple quan envies `travel_rule_details`, i també quan [Travel Rule](https://docs.didit.me/ca/transaction-monitoring/travel-rule.md) està habilitada per a l'aplicació i la transacció s'ha creat amb `transaction_category: "travelRule"`: en aquest cas Didit inicia l'intercanvi per si mateixa, amb o sense `travel_rule_details`, i informa del seu `status` aquí. Llegeix aquest camp en lloc de la sol·licitud que has enviat.
En una transferència entrant, `originator_data` i `beneficiary_data` de la contrapart continuen emmascarades (`data_masked: true`) fins que es confirmi la titularitat de la cartera (consulta [Dades emmascarades de la contrapart](https://docs.didit.me/ca/transaction-monitoring/travel-rule.md#dades-de-la-contrapart-emmascarades)).

```json theme={null}
"travel_rule": {
  "uuid": "...",
  "status": "COMPLETED",
  "required": true,
  "protocol": "TRP",
  "obligations_count": 2,
  "originator_data": { "name": "...", "wallet_address": "..." },
  "beneficiary_data": { "name": "...", "wallet_address": "..." },
  "metadata": {},
  "direction": "OUTBOUND",
  "rail": "TRP",
  "counterparty_vasp": null,
  "delivery": {
    "kind": "SEND",
    "status": "DELIVERED",
    "rail": "TRP",
    "attempts": 1,
    "last_error": "",
    "next_attempt_at": null,
    "delivered_at": "..."
  },
  "discovery": [ ... ],
  "reason": "",
  "next_actions": []
}
```

`direction`, `rail`, `counterparty_vasp`, `delivery`, `discovery`, `reason` i `next_actions` tenen la mateixa estructura que a l'endpoint de transferència.
`reason` i `next_actions` indiquen per què una transferència `COUNTERPARTY_VASP_NOT_FOUND` o `COUNTERPARTY_VASP_NOT_REACHABLE` està bloquejada i què la fa avançar, i valen `""` i `[]` per a qualsevol altre estat: consulta [Per què una transferència està bloquejada](https://docs.didit.me/ca/transaction-monitoring/travel-rule.md#per-què-una-transferència-està-bloquejada).
Cada fila de [`GET /v3/transactions/`](https://docs.didit.me/ca/management-api/transactions/list) inclou el mateix bloc.

Consulta [Travel Rule](https://docs.didit.me/ca/transaction-monitoring/travel-rule.md).

### Instantània de la xarxa

El graf emmagatzemat en si mateix, no una referència a ell. Pot provenir de qualsevol de les dues fonts següents:

* un `network_snapshot` que has enviat amb la transacció, o
* el graf que Didit construeix quan el [cribratge AML de carteres](https://docs.didit.me/ca/transaction-monitoring/aml-screening.md) acaba amb èxit per a una transacció cripto, fins i tot si la sol·licitud no portava cap `network_snapshot`. Un graf generat pel cribratge substitueix un de enviat, i un nou cribratge asíncron l'actualitza.

`null` quan no existeix cap dels dos:

```json theme={null}
"network_snapshot": {
  "uuid": "...",
  "nodes": [ ... ],
  "edges": [ ... ],
  "metrics": { }
}
```

La pàgina de detall de la transacció a la consola mostra el mateix graf.

### Etiquetes, metadades i propietats

* `tags[]`: etiquetes adjuntades (per una acció d'una regla o per un analista): `{ "uuid", "name", "color", "description", "source" }`, on `source` és `didit` per a una etiqueta predefinida i `custom` per a una de les teves.
* `metadata`: una instantània dels payloads `subject` i `counterparty` exactament tal com els vas enviar en crear la transacció, sota aquestes dues claus.
* `props`: els `custom_properties` que vas proporcionar en crear la transacció. Cada clau es pot referenciar a les condicions de les regles com a `custom_values.<key>`.

### Remediació

Quan una regla activa `AWAITING_USER`, Didit crea la sessió de verificació vinculada i la retorna en dos camps:

* `remediation`: la sessió vinculada: `{ "session_id", "session_token", "url", "status" }`. Es manté emplenat durant tota la vida de la transacció, de manera que sempre pots veure com va acabar l'acció de l'usuari.
* `action_required`: l'acció que l'usuari ha de fer ara mateix, o `null` quan ja no hi ha res pendent: `{ "type": "verification_session", "url", "session_id", "session_token", "status" }`. Redirigeix l'usuari a `url`, o passa `session_token` a un SDK de Didit. Les accions de titularitat de la cartera de Travel Rule utilitzen `{ "type": "wallet_ownership", "url", "widget_session_id", "expires_at" }` i tenen prioritat quan es podrien aplicar totes dues. Quan hi ha una acció de titularitat de cartera pendent i no s'ha pogut trobar la contrapart de la transferència, el mateix bloc també inclou `reason` i `next_actions` (consulta [descobriment de la contrapart](https://docs.didit.me/ca/transaction-monitoring/travel-rule.md#descoberta-de-la-contrapart)).

Els mateixos dos camps viatgen als payloads dels webhooks `transaction.created` i `transaction.status.updated` (`action_required`); consulta [webhooks](https://docs.didit.me/ca/transaction-monitoring/webhooks.md).

### Desglossament de costos

`null` fins que s'hagi executat una funcionalitat facturable per a la transacció. En cas contrari, `{ "total_price", "items": [ { "usage_type", "price", "details" } ] }`, amb un element per cada funcionalitat mesurada (cribratge, enriquiment, etc.).

## Conversió de moneda

`preferred_currency_amount` és `amount` convertit a la moneda preferida de la teva aplicació segons els tipus de canvi mitjans del mercat, tret que hagis proporcionat `amount_in_default_currency`, cas en què s'utilitza aquest valor preconvertit tal com és. Les condicions de regla sobre `amount` comparen l'import original; utilitza `preferred_currency_amount` a les condicions quan necessitis un únic llindar per a totes les monedes.

## Passos següents

> [card] [Envia transaccions](https://docs.didit.me/ca/transaction-monitoring/transactions.md)
>
> Esquema complet de la sol·licitud.

> [card] [Estats](https://docs.didit.me/ca/transaction-monitoring/statuses.md)
>
> Què significa cada estat.

> [card] [Puntuació de risc](https://docs.didit.me/ca/transaction-monitoring/risk-scoring.md)
>
> Com es calcula la puntuació.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.