> ## 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.

# Estats de monitoratge de transaccions: transacció i cas

> Estats de Didit per a transaccions, casos i Travel Rule, amb transicions. 1,000 transaccions al mes incloses; després, $0.001 cadascuna.

Transaction Monitoring té tres màquines d'estat independents: la **transacció**, cada **cas** i (quan correspongui) la **comprovació de la Travel Rule**. Aquesta pàgina és la referència.

## Estat de la transacció

S'estableix en crear-la i s'actualitza al llarg del cicle de vida.

| Estat | Significat |
| - | - |
| `APPROVED` | La transacció ha superat totes les regles per sota del llindar de revisió. |
| `IN_REVIEW` | La puntuació ha superat el llindar de revisió, o una regla ha exigit explícitament la revisió. Cal l'atenció de l'analista. |
| `DECLINED` | La puntuació ha superat el llindar de rebuig, o una regla ha rebutjat explícitament la transacció. La transacció queda rebutjada. |
| `AWAITING_USER` | L'usuari ha de fer alguna acció perquè la transacció es pugui liquidar. Didit només l'estableix mitjançant una regla: l'acció `change_status` d'una regla (per exemple, la regla opcional de la biblioteca `travel-rule-pending-action`, que s'activa en una transferència de la Travel Rule en `ON_HOLD`), o una acció de regla que ha exigit una verificació addicional (s'ha creat una sessió de remediació). Una transferència de la Travel Rule que necessita una prova del control de la cartera no l'estableix per si sola: la transacció manté l'estat que li assignen les teves regles (normalment `APPROVED`), i el bloc `action_required` inclou l'URL de titularitat de la cartera sempre que hi hagi una sessió de widget pendent. Consulta el bloc `action_required` de la transacció per saber l'acció concreta i l'URL. |

### Transicions

```mermaid theme={null}
stateDiagram-v2
    [*] --> APPROVED: Score < review threshold, no blocking rules
    [*] --> IN_REVIEW: Score >= review threshold
    [*] --> DECLINED: Score >= decline threshold, or rule decline action
    [*] --> AWAITING_USER: Rule action change_status → AWAITING_USER
    IN_REVIEW --> APPROVED: Analyst cleared
    IN_REVIEW --> DECLINED: Analyst declined
    AWAITING_USER --> APPROVED: Remediation session approved
    AWAITING_USER --> DECLINED: Remediation session declined
    AWAITING_USER --> IN_REVIEW: Remediation session ended in review
```

Nota: fora de la Travel Rule no hi ha cap transició directa des de `APPROVED` o `DECLINED` cap a altres estats.
En expirar una Travel Rule, el teu `timeout_outcome` estableix `IN_REVIEW` (`HOLD`) o `DECLINED` (`REJECT`) independentment de l'estat actual, i una regla que s'activa després d'una transició de la Travel Rule pot canviar una transacció `APPROVED`.
Per fer correccions, utilitza els canvis d'estat des de la consola; queden registrats al registre d'auditoria.

## Alertes

No hi ha cap estat d'alerta independent.
Una alerta oberta és una transacció en `IN_REVIEW` o `AWAITING_USER`, així que utilitza l'estat de la transacció anterior.
Consulta [Alertes](https://docs.didit.me/ca/transaction-monitoring/alerts.md).

## Estat del cas

Consulta [Gestió de casos](https://docs.didit.me/ca/console/case-management/cases.md) per al detall complet.

| Estat | Significat |
| - | - |
| `OPEN` | En investigació activa. |
| `AWAITING_USER` | Esperant informació per part de l'usuari. |
| `RESOLVED` | Tancat amb una resolució: `FALSE_POSITIVE`, `VALID_THREAT`, `INCONCLUSIVE`, `REQUIREMENTS_NOT_MET` o `REQUIREMENTS_SATISFIED`. |

Els casos tenen una **prioritat** independent (`LOW`, `MEDIUM`, `HIGH`).

## Estat de la comprovació de la Travel Rule

Les transferències d'actius virtuals sota la Travel Rule del GAFI fan un **intercanvi dedicat de 13 estats**, separat de l'estat de la transacció anterior.
Una transferència de sortida comença en `AWAITING_COUNTERPARTY`, `NOT_APPLICABLE` (per sota de `threshold_amount`), `UNCONFIRMED_OWNERSHIP` (la cartera de la contrapart s'ha declarat autoallotjada), `COMPLETED` o `COUNTERPARTY_MISMATCHED_DATA` (una coincidència `INTERNAL` en una cartera verificada, segons la coincidència del nom), `COUNTERPARTY_VASP_NOT_FOUND` o `COUNTERPARTY_VASP_NOT_REACHABLE`.
Una transferència d'entrada també pot començar en `ON_HOLD` o `NOT_ENOUGH_COUNTERPARTY_DATA`, i un registre sunrise que coincideix amb una cartera verificada, amb un nom de beneficiari coincident o absent, passa directament de `COMPLETED` a `FINISHED`.
L'intercanvi acaba en `FINISHED`, `CANCELLED` o `EXPIRED`.

| Estat | Significat |
| - | - |
| `AWAITING_COUNTERPARTY` | Enviada a la contrapart; s'espera la seva resposta. Una transferència enviada per TRUST es manté en aquest estat fins que caduca, perquè TRUST no retorna res que Didit pugui llegir. En una aplicació de sandbox, la transferència va al [Didit Test VASP](https://docs.didit.me/ca/transaction-monitoring/travel-rule-sandbox.md), que respon dins de Didit amb l'escenari que triïs. |
| `UNCONFIRMED_OWNERSHIP` | La titularitat de la cartera del beneficiari encara no s'ha demostrat. |
| `ON_HOLD` | Didit només l'estableix en transferències d'entrada: un registre sunrise o una consulta `TRP` entrant amb una cartera que no és a la teva llibreta d'adreces (o, en una consulta només amb el nom, el nom no coincideix amb cap titular verificat únic), o una consulta `TRP` entrant que necessita la teva decisió manual (l'acceptació automàtica està desactivada, o no s'ha pogut lliurar la resposta automàtica). No canvia per si sol l'estat de la transacció; la regla opcional de la biblioteca `travel-rule-pending-action` estableix `AWAITING_USER`. Resol-la amb `POST /v3/transactions/{id}/travel-rule/ownership/`. |
| `COMPLETED` | Les dades de l'ordenant i del beneficiari coincideixen: es pot difondre on-chain. |
| `FINISHED` | S'ha informat del hash on-chain; l'intercanvi s'ha tancat. |
| `CANCELLED` | Cancel·lada des d'un estat no final. |
| `EXPIRED` | El termini de confirmació ha vençut. Només expira una transferència que encara és en `AWAITING_COUNTERPARTY` en arribar al termini, comprovat cada 15 minuts; la resta d'estats mai caduquen. El teu `timeout_outcome` s'aplica a la transacció, i aquest canvi no envia cap webhook `transaction.status.updated`. |
| `COUNTERPARTY_MISMATCHED_DATA` | El nom del beneficiari no coincideix. |
| `COUNTERPARTY_VASP_NOT_FOUND` | Cap canal no ha pogut resoldre la contrapart. |
| `COUNTERPARTY_VASP_NOT_REACHABLE` | La contrapart està identificada, però Didit no hi ha pogut lliurar el missatge: el seu endpoint `TRP` era inaccessible o ha informat d'un LEI diferent o absent, o d'un nom diferent, o un canal de xarxa (GTR, TRUST, VerifyVASP, Sygna Bridge) no ha pogut lliurar el missatge. |
| `COUNTERPARTY_VASP_GENERAL_DECLINE` | La contrapart ha rebutjat l'intercanvi. |
| `NOT_ENOUGH_COUNTERPARTY_DATA` | Una consulta `TRP` entrant no ha identificat el beneficiari ni pel nom ni per l'adreça de la cartera. No té termini i l'endpoint de titularitat no el pot resoldre, així que cancel·la-la amb `action: "cancel"`; no es notifica al remitent. Didit mai l'estableix en una transferència de sortida; només apareix allà si tu el registres manualment, i pots reintentar aquesta transferència amb `action: "resend"`. |
| `NOT_APPLICABLE` | Per sota de `threshold_amount`, així que no s'ha intercanviat res; o un valor que tu has registrat en una transferència que Didit no executa (Travel Rule desactivada, una transacció amb un tipus que no és `travelRule`, o un valor antic). |

Les integracions antigues encara poden enviar els valors heretats `UNKNOWN`, `COMPLIANT`, `PENDING_ACTION`, `PENDING_COUNTERPARTY`, `FAILED` i `EXEMPT`; Didit els mapeja automàticament als estats anteriors.

Consulta [Travel Rule](https://docs.didit.me/ca/transaction-monitoring/travel-rule.md#cicle-de-vida) per a la referència oficial.

## Estat del resultat del proveïdor

Cada resultat d'un proveïdor extern (cribratge de carteres, monitoratge de moneda fiduciària, cribratge de sancions) es desa amb el seu propi estat. Es mostra a `provider_results[]` de la resposta de la transacció.

| Estat | Significat |
| - | - |
| `PENDING` | Consulta al proveïdor en curs. |
| `COMPLETED` | Resultat retornat correctament. |
| `FAILED` | El proveïdor ha retornat un error o s'ha superat el temps d'espera. |
| `SKIPPED` | El proveïdor s'ha omès deliberadament (p. ex. transacció per sota del llindar). |

## Resultats de les execucions de regles

Cada `TransactionRuleRun` té:

* `matched` (booleà): la regla s'ha activat?
* `is_test` (booleà): la regla estava en mode TEST?
* `mode`: `ACTIVE`, `DISABLED`, `TEST` en el moment de l'avaluació.
* `score_delta`: contribució a la puntuació (si s'ha activat i està activa).
* `status_target`: l'estat que la regla ha sol·licitat (si és l'acció `change_status`).

Consulta [Regles](https://docs.didit.me/ca/transaction-monitoring/rules.md) per a l'anatomia de les regles.

## Codis de motiu de decisió

Valors habituals de `reason` en les transicions d'estat:

| Motiu | Significat |
| - | - |
| `rule_score_threshold` | La puntuació ha superat el llindar de revisió o de rebuig. |
| `rule_change_status` | L'acció `change_status` d'una regla ha forçat un estat. |
| `analyst_approved` / `analyst_declined` / `analyst_cleared` | Acció manual de l'analista. |
| `user_action_approved` / `user_action_declined` / `user_action_in_review` | Resultat de la sessió de remediació vinculada (l'acció de l'usuari sol·licitada mentre l'estat és `AWAITING_USER`). |
| `provider_update` | El proveïdor extern ha actualitzat el resultat. |
| `aml_confirmed_sanction` | El cribratge AML ha confirmat una coincidència amb sancions. |
| `blocklist_applicant` / `blocklist_counterparty` | Aplicació de la llista de bloqueig a una part. |

## Següents passos

> [card] [Puntuació de risc](https://docs.didit.me/ca/transaction-monitoring/risk-scoring.md)
>
> Com les puntuacions es corresponen amb els estats.

> [card] [Alertes](https://docs.didit.me/ca/transaction-monitoring/alerts.md)
>
> Cicle de vida de l'alerta.

> [card] [Casos](https://docs.didit.me/ca/transaction-monitoring/cases.md)
>
> Cicle de vida del cas.


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