> 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/confirmacion-de-fraude.md).

# Confirmación de fraude

Si, tras una revisión posterior, se confirma que una transacción concreta correspondía a un intento de fraude, el consumer puede notificarlo a DAF. Esta información se usa internamente para reforzar futuras detecciones sobre el mismo documento o identidad. Este paso es opcional.

### Endpoint

```
POST /v2/daf/fraud-report
```

### Headers

| Nombre            | Tipo   | Requerido | Descripción                                                                                                |
| ----------------- | ------ | --------- | ---------------------------------------------------------------------------------------------------------- |
| **Authorization** | string | **Sí**    | Token de consumer en formato `Bearer <token>` (ver [Autenticación](/api-rest/midapi-v2/autenticacion.md)). |
| **consumer-id**   | string | **Sí**    | Identificador del consumer.                                                                                |

### Cuerpo de la solicitud

**Content-Type:** `application/json`

#### Parámetros

| Parámetro       | Tipo   | Requerido | Descripción                                                                                                                  |
| --------------- | ------ | --------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `transactionId` | string | **Sí**    | Identificador de la transacción DAF que se confirma como fraude.                                                             |
| `categories`    | array  | **Sí**    | Una o más categorías del fraude detectado. Cada valor debe pertenecer al catálogo de **categorías válidas** (ver más abajo). |
| `comment`       | string | No        | Comentario libre, máx. 500 caracteres.                                                                                       |

#### Categorías válidas

El campo `categories` solo admite los siguientes códigos:

| Código                              | Descripción                                         |
| ----------------------------------- | --------------------------------------------------- |
| `document_is_manipulated`           | El documento está manipulado.                       |
| `document_shown_from_screen`        | El documento se muestra desde una pantalla.         |
| `document_is_printed_copy`          | El documento es una copia impresa.                  |
| `selfie_shown_from_screen`          | La selfie se muestra desde una pantalla.            |
| `selfie_is_manipulated`             | La selfie está manipulada.                          |
| `selfie_document_portrait_mismatch` | La selfie no coincide con el retrato del documento. |
| `injected_media`                    | El contenido (imagen/vídeo) fue inyectado.          |

{% hint style="info" %}
Este listado refleja el catálogo vigente **en el momento de publicar esta guía**. El servicio valida las categorías contra el catálogo actualizado; envía únicamente los códigos de esta tabla.
{% endhint %}

#### Ejemplo de solicitud

```json
{
  "transactionId": "1c7d...e9",
  "categories": ["document_is_manipulated", "selfie_is_manipulated"],
  "comment": "Confirmado como fraude tras revisión interna"
}
```

### Respuestas

#### `200` Éxito

```json
{
  "accepted": true
}
```

Todas las acciones aplicables de la confirmación quedaron registradas correctamente. Esto incluye el enrolamiento del rostro en las blocklists aplicables (ver más abajo). La operación es **idempotente**: si el rostro ya estaba en una blocklist, o si la transacción ya se había reportado previamente, el reintento se considera igualmente un éxito y devuelve `200`.

#### `400` Bad Request

Alguna de las `categories` enviadas no pertenece al catálogo de categorías válidas. No se registra ninguna acción; corrige las categorías y reintenta.

#### `422` Unprocessable Entity

La transacción no admite reporte: solo son admisibles transacciones finalizadas en estado `COMPLETED`.

#### `503` Service Unavailable

Alguna de las acciones aplicables de la confirmación **no pudo completarse**. La confirmación no se considera plenamente registrada; el consumer debe **reintentar** más tarde o, si el problema persiste, **notificarlo a soporte** indicando el `transactionId`. La operación es idempotente, por lo que reintentar es seguro.

### Blocklists de rostros

Cuando la transacción confirmada como fraude incluye selfie, su rostro se enrola en las blocklists que apliquen, de forma que futuras validaciones lo detecten (códigos `200`/`201`, ver [respuesta de resultado](/api-rest/midapi-v2/daf/respuesta-de-resultado.md)):

* **Blocklist de la plataforma:** el rostro se enrola siempre en la blocklist propia de la plataforma.
* **Blocklist global:** además, si la plataforma participa en la blocklist global compartida, el rostro se enrola también en ella.

{% hint style="info" %}
La participación en la **blocklist global** es **configurable por plataforma** (activada por defecto) y se coordina con Facephi; no se controla mediante la API. El ajuste es simétrico: afecta tanto a la **búsqueda** durante la validación (una plataforma sin blocklist global solo se compara contra su propia blocklist) como al **enrolamiento** en esta confirmación de fraude (el rostro se añade solo a la blocklist de la plataforma). Si la transacción se procesó sin selfie (sin `TOKEN_FACE_IMAGE`), no se enrola ningún rostro en ninguna blocklist.
{% endhint %}

{% hint style="info" %}
Se recomienda enviar un único reporte de fraude por transacción. No obstante, reintentar es **seguro**: la operación es idempotente y un reporte ya registrado devuelve `200` sin duplicar efectos.
{% endhint %}
