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

# Enriquiment d'adreces IP en transaccions: país, ASN, VPN

> Didit enriqueix cada transacció amb context de la IP: país, ASN, VPN, Tor i centre de dades. 1,000 al mes inclosos, després $0.001 cadascun.

Cada transacció que inclou una adreça IP del dispositiu s'enriqueix al servidor en temps real abans que les regles l'avaluïn. L'enriquiment afegeix el país, la ciutat, els indicadors de VPN, Tor i centre de dades, l'ASN i l'operador, tots disponibles com a condicions de regla.

## Quan s'executa l'enriquiment

En línia durant la creació de la transacció:

1. Envies `POST /v3/transactions/` amb `subject.device_context.network_context.ip_address` (o la IP del dispositiu de qualsevol part).
2. Didit cerca la IP a una memòria cau en memòria (TTL de 24 hores).
3. Si no és a la memòria cau, consulta la taula compartida d'enriquiment d'IP (antiguitat d'aproximadament 30 dies).
4. Si la dada és antiga o no hi és, resol la IP mitjançant el pipeline d'enriquiment de Didit, amb commutació automàtica entre proveïdors.
5. Els camps enriquits s'escriuen de nou al registre de la transacció i queden disponibles per a les regles.

L'enriquiment és **en línia**: es completa abans que s'executin les regles, però **no bloqueja en cas d'error**. Si l'enriquiment no es pot completar, la transacció continua endavant; l'adreça IP simplement apareix sense dades d'enriquiment.

## Camps enriquits

| Camp | Descripció |
| - | - |
| `ip_country` | Nom del país |
| `ip_country_code` | ISO 3166-1 alfa-2 quan ho resol Didit (un valor que hagis enviat es manté tal com l'has enviat); les condicions de regla normalitzen les dues formes |
| `ip_state` | Subdivisió (estat, regió) |
| `ip_city` | Nom de la ciutat |
| `latitude`, `longitude` | Coordenades geogràfiques |
| `isp` | Nom del proveïdor d'accés a Internet |
| `organization` | Nom de l'organització registrada |
| `is_vpn_or_tor` | Booleà: la IP és una sortida VPN o Tor coneguda |
| `is_data_center` | Booleà: la IP pertany a un rang d'allotjament o de centre de dades |
| `time_zone` | Zona horària IANA (p. ex. `America/New_York`) |
| `time_zone_offset` | Desfasament respecte a UTC |
| `asn_number` | Número del sistema autònom (ASN) |
| `asn_organization` | Organització registrada de l'ASN |
| `connection_type` | `mobile`, `broadband`, `dialup`, `corporate`, ... |
| `carrier` | Operador mòbil (per a adreces IP mòbils) |
| `proxy_type` | `VPN`, `TOR`, `PUBLIC_PROXY`, o null |

## Ús dels camps enriquits a les regles

Qualsevol dels camps enriquits pot ser una [condició de regla](https://docs.didit.me/ca/transaction-monitoring/rules.md). Patrons habituals:

**Jurisdicció d'alt risc segons la IP**

```
condition: applicant.ip_country_code IN ['IRN', 'PRK', 'SYR']
action: add_score(35), add_tags(['high_risk_ip_country'])
```

**Ús de VPN / Tor**

```
condition: applicant.is_vpn_or_tor == true
action: change_status('IN_REVIEW'), add_tags(['anonymization'])
```

**Origen des d'un centre de dades / no residencial**

```
condition: applicant.is_data_center == true AND amount > 10000
action: add_score(30)
```

**País de la IP ≠ país del KYC**

```
condition: applicant.ip_country_code != applicant.country_code
action: add_score(15), add_tags(['geo_mismatch'])
```

## Capes de memòria cau

| Capa | TTL | Finalitat |
| - | - | - |
| Memòria cau en memòria | 24 hores | Consulta en menys d'un mil·lisegon per a les IP més consultades |
| Taula compartida d'enriquiment d'IP | \~30 dies | Compartida entre instàncies; més barata que tornar a resoldre |
| Pipeline d'enriquiment | n/a | Dades noves quan cap altra capa no les té |

Els encerts a les dues primeres capes no tenen cost addicional. El consum de les resolucions noves es pot mesurar: consulta la consola de facturació.

## Comportament davant errors

* La creació de la transacció **mai falla** perquè l'enriquiment hagi fallat.
* Els camps d'enriquiment que falten simplement no coincideixen amb cap condició de regla que els faci servir.
* Les alertes sobre enriquiments encallats arriben a l'equip d'operacions mitjançant la monitorització interna; no tenen cap impacte de cara al client.

## Filtratge de validesa

Les adreces IP no encaminables s'ometen abans de l'enriquiment:

* Privades (10/8, 172.16/12, 192.168/16)
* Loopback (127/8)
* Enllaç local (169.254/16)
* Multidifusió, no especificada

Així s'estalvia quota dels proveïdors i s'eviten dades d'enriquiment sense sentit.

## Inspecció de l'enriquiment d'una transacció

**Mitjançant l'API.** No hi ha un bloc d'enriquiment separat. Els camps enriquits s'escriuen a l'objecte `device.network_context` de la part, al costat de la `ip_address` que has enviat, a l'entrada corresponent de la llista `parties`:

```json theme={null}
"parties": [
  {
    "role": "APPLICANT",
    "vendor_data": "user-42",
    "device": {
      "network_context": {
        "ip_address": "203.0.113.5",
        "ip_country": "United States",
        "ip_country_code": "US",
        "ip_state": "California",
        "ip_city": "San Francisco",
        "is_vpn_or_tor": false,
        "is_data_center": false,
        "asn_number": 64496,
        "asn_organization": "Example ISP",
        "proxy_type": null
      }
    }
  }
]
```

Els camps que has enviat a la sol·licitud es conserven; l'enriquiment només omple les claus que has omès, i les claus que el resolutor ha retornat buides s'ometen. Consulta l'[esquema de resposta](https://docs.didit.me/ca/transaction-monitoring/response-schema.md#device) per veure l'estructura completa de `device`.

**A la consola.** La pàgina de detall de la transacció mostra l'enriquiment de la IP a la pestanya **IP i dispositiu**, amb un marcador al mapa.

## Consideracions de privacitat

* Les adreces IP en brut s'emmagatzemen amb la transacció.
* Les dades d'enriquiment són en una taula compartida indexada per adreça IP, no per usuari.
* La supressió pel dret a l'oblit elimina les IP de la transacció; l'entrada de la memòria cau compartida es manté (no permet identificar personalment ningú).

## Passos següents

> [card] [Regles](https://docs.didit.me/ca/transaction-monitoring/rules.md)
>
> Fes servir els camps enriquits a les condicions.

> [card] [Biblioteca de regles](https://docs.didit.me/ca/transaction-monitoring/rules-library.md)
>
> Regles predefinides basades en IP.

> [card] [Esquema de resposta](https://docs.didit.me/ca/transaction-monitoring/response-schema.md)
>
> On apareix l'enriquiment de la IP.


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