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

# Codis de resultat de la validació en bases de dades

> Codis de Validació en bases de dades de Didit: coincidència, difunt, menor, document no trobat o error biomètric. Des de $0.05/check.

L'API de [Validació en bases de dades](https://docs.didit.me/ca/core-technology/database-validation/overview.md) de Didit consulta el registre civil oficial de cada país — RENAPER (Argentina, \$0.20/comprovació amb coincidència facial biomètrica), Receita Federal (Brasil, \$0.20), Tribunal Electoral SIB (Panamà, \$0.75 biomètric), Junta Central Electoral (República Dominicana, \$0.05) i 14 més —, amb facturació per consulta satisfactòria, sense mínims mensuals.

Quan executes una Validació en bases de dades, obtens dues capes de resultat:

1. Un **codi de resultat estàndard** que funciona de la mateixa manera a tots els països compatibles, de manera que pots escriure una única lògica de gestió que els cobreixi tots.
2. Un **codi de detall específic per país** opcional que t'indica exactament quina condició ha retornat el registre governamental — útil per a suport, analítica i per decidir si cal demanar a l'usuari que ho reintenti.

Aquesta pàgina enumera tots els valors que pots veure i t'explica com reaccionar davant de cadascun.

## Codis de resultat estàndard

Aquests codis són idèntics a tots els països. Construeix la teva lògica de revisió, rebuig i reintent sobre aquests codis — no sobre els codis de detall per país.

| Codi de resultat | Significat | Es pot reintentar? | Gestió recomanada |
| :- | :- | :-: | :- |
| `MATCH` | El registre ha confirmat la identitat i tots els camps comprovats han coincidit. | — | Aprova. |
| `PARTIAL_MATCH` | El registre ha trobat un registre, però un o més dels camps que el servei ha comparat no han coincidit del tot (normalment el nom o la data de naixement). Els camps que decideixen el resultat varien segons el servei — consulta [Mètodes de coincidència](https://docs.didit.me/ca/core-technology/database-validation/database-validation-matching-methods.md). | — | Envia a revisió o configura una [Acció per a coincidència parcial](https://docs.didit.me/ca/core-technology/database-validation/database-validation-warnings.md) per rebutjar automàticament. |
| `NO_MATCH` | El registre no ha retornat cap coincidència per a les dades enviades. | No | Rebutja, o envia a revisió segons la teva política. |
| `DOCUMENT_SUPERSEDED` | El registre ha confirmat la identitat de la persona, però l'**edició del document** presentada no és la que té registrada — posteriorment s'ha emès una edició més nova, de manera que la credencial física ha quedat obsoleta. La lletra d'*ejemplar* del DNI de l'Argentina és el cas canònic. Diferent de `NO_MATCH` (la persona no ha coincidit) i de `DOCUMENT_NOT_FOUND` (no hi ha cap registre en absolut): només la credencial física està desactualitzada. | No | Envia a revisió i sol·licita l'edició vigent del document. Segueix la teva **Acció de no coincidència** i activa [`DATABASE_VALIDATION_DOCUMENT_SUPERSEDED`](https://docs.didit.me/ca/core-technology/database-validation/database-validation-warnings). |
| `DOCUMENT_NOT_FOUND` | El número d'identificació és sintàcticament vàlid però no existeix al registre governamental. | No | Rebutja. |
| `INVALID_DOCUMENT_FORMAT` | El número d'identificació enviat té un format incorrecte (longitud errònia, caràcters no numèrics, suma de comprovació incorrecta). | No | Demana a l'usuari que torni a introduir el número de document. |
| `INVALID_INPUT` | Un camp d'entrada obligatori (selfie, gènere, data de naixement, etc.) mancava o tenia un format incorrecte. | No | Demana a l'usuari que torni a enviar el camp que manca. La sessió es tornarà a processar automàticament un cop s'hagin proporcionat les dades — consulta [`COULD_NOT_PERFORM_DATABASE_VALIDATION`](https://docs.didit.me/ca/core-technology/database-validation/database-validation-warnings). |
| `MINOR_BLOCKED` | El registre ha retingut les dades perquè la persona és menor d'edat. S'aplica en jurisdiccions amb lleis de protecció de dades per a menors (LGPD del Brasil, Argentina). | No | Rebutja. Respecta el marc legal local — no ho reintentis. |
| `DECEASED` | El registre informa que la persona ha traspassat. | No | Rebutja. |
| `BIOMETRIC_NO_MATCH` | Per a validacions biomètriques (Argentina, Panamà), la puntuació de coincidència facial ha quedat per sota del llindar d'acceptació. | No | Rebutja, o envia a revisió. |
| `BIOMETRIC_IMAGE_UNUSABLE` | No s'ha pogut processar la selfie — la imatge estava buida, no contenia cap cara, tenia baixa qualitat o el registre no l'ha pogut llegir. | Sí | Demana a l'usuari que torni a fer-se la selfie. |
| `INCONCLUSIVE` | El registre no ha pogut determinar si la persona coincideix — el resultat és genuïnament incert (pot ser que estigui al registre o no). Diferent de `NO_MATCH` (absent de manera definitiva) i de `BIOMETRIC_IMAGE_UNUSABLE` (un problema tècnic d'imatge): no s'ha confirmat res en cap sentit, per la qual cosa `match_type` és `null`. | Potser | Envia a revisió. Un reintent amb una selfie més clara o dades addicionals pot resoldre-ho. |
| `REGISTRY_UNAVAILABLE` | El registre governamental no està disponible temporalment (temps d'espera esgotat, error de connectivitat, 5xx de l'origen). | Sí | Reintenta després d'un breu retard. Didit ja reintenta els errors transitoris automàticament, per la qual cosa veure això a l'informe final significa que s'han esgotat els reintents. Quan un registre falla de manera continuada, s'envia un correu electrònic a la teva organització un cop la interrupció es prolonga i un altre quan se'n restableix l'accés — consulta [Notificacions de disponibilitat](https://docs.didit.me/ca/core-technology/database-validation/overview.md#notificacions-de-disponibilitat). |
| `REGISTRY_ERROR` | El registre ha retornat un error inesperat que no encaixa en cap dels casos anteriors. | Potser | Escala-ho a suport amb el codi de detall. |

> [!NOTE]
>
> El valor `outcome_code` es troba dins de cada entrada de la matriu `validations` a l'informe de validació. Consulta [Informe de validació en bases de dades](https://docs.didit.me/ca/core-technology/database-validation/database-validation-report.md) per veure on s'ubica a la resposta.

> [!NOTE]
>
> `REGISTRY_UNAVAILABLE` i `REGISTRY_ERROR` indiquen que el registre d'origen mai ha respost a la consulta, de manera que aquests dos resultats **no es facturen** - consulta [preus](https://docs.didit.me/ca/core-technology/database-validation/overview.md). Qualsevol altre codi de resultat és una resposta real i de pagament del registre, fins i tot una que no confirma res (`INCONCLUSIVE`, `BIOMETRIC_IMAGE_UNUSABLE`) o que rebutja el que has enviat (`INVALID_DOCUMENT_FORMAT`, `INVALID_INPUT` — com a codis de resultat signifiquen que el propi registre ha rebutjat les dades, després d'haver-se enviat la consulta).
>
> Les dades d'entrada que mai arriben a un registre no generen cap codi de resultat: `POST /v3/database-validation/` respon `400` quan un valor no compleix les regles de format del país, i un servei de flux de treball amb camps absents o amb format incorrecte s'omet amb [`COULD_NOT_PERFORM_DATABASE_VALIDATION`](https://docs.didit.me/ca/core-technology/database-validation/database-validation-warnings). Cap d'aquests casos es factura. Trobaràs el desglossament complet a la [pàgina de preus de Validació en bases de dades](https://docs.didit.me/ca/getting-started/database-validation-pricing.md).

## Codis de detall específics per país

El codi de detall es retorna com a `outcome_detail` juntament amb `outcome_code`. Només els països indicats a continuació produeixen codis de detall a més del resultat estàndard; tota la resta de països admesos retornen només els codis estàndard.

### Argentina (RENAPER)

L'Argentina utilitza una validació biomètrica 1×1 contra el registre d'identitat nacional RENAPER, combinant el DNI, una selfie i el gènere declarat.

| Codi de detall | Resultat estàndard | Què significa |
| :- | :- | :- |
| `300` | `INVALID_DOCUMENT_FORMAT` | El camp DNI ha de ser un número de 7–8 dígits. |
| `301` | `DOCUMENT_NOT_FOUND` | El DNI enviat no coincideix amb cap registre vàlid. |
| `303` | `INVALID_INPUT` | El camp de la selfie era buit. |
| `304` | `INVALID_INPUT` | El camp de gènere era buit o no contenia cap dels valors `M`, `F` o `X`. |
| `305` | `NO_MATCH` | No s'ha trobat la combinació de DNI i gènere. |
| `306` | `REGISTRY_UNAVAILABLE` | La consulta no es pot dur a terme en aquest moment. |
| `307` | `REGISTRY_UNAVAILABLE` | Error en connectar amb el sistema públic de validació d'identitat. |
| `311` | `REGISTRY_ERROR` | La integració no té accés a aquest producte. |
| `313` | `MINOR_BLOCKED` | El registre pertany a una persona menor d'edat. |
| `400` | `REGISTRY_UNAVAILABLE` | Error de connexió. |
| `401` | `NO_MATCH` | No s'han trobat resultats per a les dades proporcionades. |
| `405` | `BIOMETRIC_IMAGE_UNUSABLE` | Conflicte amb la imatge; no es pot processar. |
| `406` | `BIOMETRIC_IMAGE_UNUSABLE` | Error en el processament de la imatge. |
| `NO.HIT` | `BIOMETRIC_NO_MATCH` | La puntuació de coincidència facial ha quedat per sota del llindar d'acceptació (\< 50). |
| `INTERNAL_ERROR` | `REGISTRY_UNAVAILABLE` | S'ha superat el temps d'espera. |

### Brasil (Receita Federal — Consulta CPF)

El Brasil valida el CPF contra el servei oficial de CPF de la Receita Federal, amb un tractament explícit per a menors segons la LGPD (Lei Geral de Proteção de Dados) i l'Estatut Digital d'Infants i Adolescents.

| Codi de detall | Resultat estàndard | Què significa |
| :- | :- | :- |
| `200` | `MATCH` | CPF trobat i dades retornades satisfactòriament. |
| `206` | `MATCH` | CPF trobat, però alguns camps no essencials no s'han retornat. |
| `400` | `INVALID_DOCUMENT_FORMAT` | El número de CPF no és vàlid. |
| `404` | `DOCUMENT_NOT_FOUND` | No existeix cap CPF amb el número enviat. |
| `422` | `MINOR_BLOCKED` | Les dades d'un menor de 18 anys s'ometen segons la LGPD (Llei 13.709/2018). La resposta inclou `minor_under_18: true`. |
| `451` | `MINOR_BLOCKED` | Les dades d'un menor de 16 anys s'ometen segons la LGPD i l'Estatut Digital d'Infants i Adolescents (Llei 15.211/2025). La resposta inclou `minor_under_18: true` i `minor_under_16: true`. |
| `500` | `REGISTRY_UNAVAILABLE` | Error del servidor d'origen. |
| `504` | `REGISTRY_UNAVAILABLE` | Temps d'espera de la passarel·la — la sol·licitud no ha arribat a l'API de Consulta CPF. |

> [!NOTE]
>
> Per als resultats `MINOR_BLOCKED` al Brasil, `source_data` continua retornant els indicadors `lgpd_minor`, `minor_under_18` i `minor_under_16` perquè puguis aplicar fluxos adaptats a l'edat sense necessitat de reintentar.

### Panamà (SIB — Tribunal Electoral)

Panamà utilitza validació biomètrica contra el registre del SIB (Servicio de Identificación Biométrica) gestionat pel Tribunal Electoral. Si es produeix un error tècnic del SIB, la sessió passa automàticament a una consulta 1×1 com a alternativa.

| Codi de detall | Resultat estàndard | Què significa |
| :- | :- | :- |
| `601` | `REGISTRY_UNAVAILABLE` | L'operador no existeix a la base de dades. |
| `602` | `MINOR_BLOCKED` | El ciutadà té menys de 12 anys. |
| `603` | `DECEASED` | El ciutadà ha mort. |
| `604` | `NO_MATCH` | El ciutadà té un registre no vàlid. |
| `605` | `NO_MATCH` | Ciutadà no reconegut. |
| `606` | `INVALID_INPUT` | El camp cédula és buit. |
| `607` | `DOCUMENT_NOT_FOUND` | Ciutadà no trobat. |
| `608` | `REGISTRY_ERROR` | No hi ha accés al SIB per a aquest client. |
| `610` | `BIOMETRIC_IMAGE_UNUSABLE` | Error general de validació facial. |
| `611` | `BIOMETRIC_IMAGE_UNUSABLE` | No s'ha enviat la imatge per a la comparació. |
| `612` | `BIOMETRIC_IMAGE_UNUSABLE` | La imatge no té contingut. |
| `613` | `BIOMETRIC_IMAGE_UNUSABLE` | Format d'imatge no vàlid. |
| `614` | `BIOMETRIC_IMAGE_UNUSABLE` | No s'ha detectat cap cara a la imatge. |
| `615` | `BIOMETRIC_NO_MATCH` | No s'ha assolit el llindar de similitud. |

### Altres països admesos

Els països següents retornen només els codis de resultat estàndard; no hi ha codis de detall específics per país que s'hagin de gestionar.

* **Bolívia, Colòmbia, Costa Rica, El Salvador, Espanya, Guatemala, Hondures, Paraguai, Uruguai, Veneçuela** — Consulta 1×1 contra el registre civil corresponent. Els resultats es corresponen directament amb `MATCH`, `NO_MATCH`, `DOCUMENT_NOT_FOUND`, `INVALID_DOCUMENT_FORMAT` o `REGISTRY_UNAVAILABLE`.
* **Xile (Registro Civil)** — Consulta de RUT. Es correspon amb els resultats estàndard més `MINOR_BLOCKED` quan el registre marca que es tracta d'un menor d'edat.
* **República Dominicana (JCE)** — Consulta de cédula que retorna una validesa booleana; es correspon amb `MATCH` o `NO_MATCH`.
* **Equador (Registro Civil)** — Consulta de cédula.
* **Mèxic (RENAPO, més INE per a 2×2)** — Consulta de CURP a través de RENAPO. Quan `validation_type` és `two_by_two`, s'executa un encreuament addicional amb l'INE; tots dos alimenten els mateixos codis de resultat estàndard.
* **Perú (RENIEC)** — Consulta de DNI.

## Guia de gestió

El gestor robust més senzill té aquest aspecte:

```typescript theme={null}
switch (result.outcome_code) {
  case "MATCH":
    return approve();
  case "PARTIAL_MATCH":
    return review();
  case "NO_MATCH":
  case "DOCUMENT_NOT_FOUND":
  case "DECEASED":
  case "MINOR_BLOCKED":
  case "BIOMETRIC_NO_MATCH":
    return decline();
  case "INVALID_DOCUMENT_FORMAT":
  case "INVALID_INPUT":
    return askUserToFixInput(result.outcome_detail);
  case "BIOMETRIC_IMAGE_UNUSABLE":
    return askUserToRetakeSelfie();
  case "REGISTRY_UNAVAILABLE":
  case "REGISTRY_ERROR":
    return review();  // Didit already retried; a human can decide.
  default:
    return review();
}
```

> [!NOTE]
>
> No cal ramificar segons `outcome_detail` per a la lògica de negoci; utilitza'l per a l'analítica, la depuració i els tiquets de suport. Es garanteix que l'`outcome_code` estàndard es mantindrà estable entre països i al llarg del temps.

## Vegeu també

* [Advertiments de validació en bases de dades](https://docs.didit.me/ca/core-technology/database-validation/database-validation-warnings.md) — les etiquetes d'advertència a nivell de sessió (`COULD_NOT_PERFORM_DATABASE_VALIDATION`, `DATABASE_VALIDATION_PARTIAL_MATCH`, `DATABASE_VALIDATION_NO_MATCH`) i com configurar les accions de revisió/rebuig de la teva aplicació.
* [Informe de validació en bases de dades](https://docs.didit.me/ca/core-technology/database-validation/database-validation-report.md) — l'estructura completa de la resposta i on apareixen `outcome_code` / `outcome_detail`.
* [Països admesos per a la validació en bases de dades](https://docs.didit.me/ca/core-technology/database-validation/database-validation-supported-countries.md) — la llista completa de països i mètodes de coincidència.


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