> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/api-rest/midapi-v2/daf.md).

# DAF (Document Anti-Fraud)

**DAF (Document Anti-Fraud)** es un servicio que analiza el documento de identidad (y, opcionalmente, una selfie) y determina si son auténticos y consistentes entre sí. El servicio se integra como parte del ecosistema de APIs de Facephi.

A partir del documento (y, si se aporta, la selfie), DAF ejecuta un conjunto de validaciones antifraude y devuelve un diagnóstico único:

* **APPROVED**: el documento (y, en su caso, la correspondencia con la selfie) supera las validaciones.
* **DECLINED**: se detecta una inconsistencia, manipulación o incumplimiento de calidad/formato que impide validar el documento.

### Naturaleza asíncrona

DAF es un servicio asíncrono: la llamada que inicia la validación no bloquea a la espera del resultado. Responde de inmediato con un identificador de transacción (`transactionId`) y el consumer obtiene el resultado mediante consultas de estado (polling).

### Flujo de integración

La integración típica sigue estos pasos:

1. Obtener un [token de consumer](/api-rest/midapi-v2/autenticacion.md) válido para autenticar todas las llamadas.
2. [Subir los assets](/api-rest/midapi-v2/daf/subida-de-assets.md) del documento (y, opcionalmente, la selfie) al servicio de almacenamiento, obteniendo una `fileKey` por cada uno.
3. [Iniciar la validación](/api-rest/midapi-v2/daf/iniciar-validacion.md) en DAF enviando las `fileKeys` obtenidas. DAF responde de inmediato con un `transactionId`.
4. [Consultar el estado](/api-rest/midapi-v2/daf/consultar-estado.md) de la transacción mediante polling hasta obtener un estado terminal.

### Resumen de endpoints

| Endpoint                  | Método | Descripción                                                                                               |
| ------------------------- | ------ | --------------------------------------------------------------------------------------------------------- |
| `/consumer/token`         | POST   | Emite el token JWT del consumer (validez 1 h). Requiere las cabeceras `platform-id` y `platform-api-key`. |
| `/storage`                | POST   | Sube un asset (documento o selfie) y devuelve su `fileKey`.                                               |
| `/v2/daf/validate`        | POST   | Inicia una validación DAF. Responde `202` con `transactionId`.                                            |
| `/v2/daf/{transactionId}` | GET    | Consulta el estado/resultado de una transacción (polling).                                                |
