> 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/docs.facephi-pt-br/api-rest/midapi-v2/daf/confirmacion-de-fraude.md).

# Confirmação de fraude

Se, após uma revisão posterior, for confirmado que uma transação específica correspondia a uma tentativa de fraude, o consumidor pode notificá-lo à DAF. Essas informações são usadas internamente para reforçar detecções futuras sobre o mesmo documento ou identidade. Esta etapa é opcional.

### Endpoint

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

### Cabeçalhos

| Nome              | Tipo   | Obrigatório | Descrição                                                                                                                       |
| ----------------- | ------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **Authorization** | string | **Sim**     | Token do consumidor no formato `Bearer <token>` (veja [Autenticação](/docs.facephi-pt-br/api-rest/midapi-v2/autenticacion.md)). |
| **consumer-id**   | string | **Sim**     | Identificador do consumidor.                                                                                                    |

### Corpo da solicitação

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

#### Parâmetros

| Parâmetro       | Tipo   | Obrigatório | Descrição                                                                                                                  |
| --------------- | ------ | ----------- | -------------------------------------------------------------------------------------------------------------------------- |
| `transactionId` | string | **Sim**     | Identificador da transação DAF que é confirmada como fraude.                                                               |
| `categories`    | array  | **Sim**     | Uma ou mais categorias da fraude detectada. Cada valor deve pertencer ao catálogo de **categorias válidas** (veja abaixo). |
| `comment`       | string | Não         | Comentário livre, máx. 500 caracteres.                                                                                     |

#### Categorias válidas

O campo `categories` só admite os seguintes códigos:

| Código                              | Descrição                                         |
| ----------------------------------- | ------------------------------------------------- |
| `document_is_manipulated`           | O documento está manipulado.                      |
| `document_shown_from_screen`        | O documento é exibido em uma tela.                |
| `document_is_printed_copy`          | O documento é uma cópia impressa.                 |
| `selfie_shown_from_screen`          | A selfie é exibida em uma tela.                   |
| `selfie_is_manipulated`             | A selfie está manipulada.                         |
| `selfie_document_portrait_mismatch` | A selfie não corresponde ao retrato do documento. |
| `injected_media`                    | O conteúdo (imagem/vídeo) foi injetado.           |

{% hint style="info" %}
Esta lista reflete o catálogo vigente **no momento da publicação deste guia**. O serviço valida as categorias contra o catálogo atualizado; envie apenas os códigos desta tabela.
{% endhint %}

#### Exemplo de solicitação

```json
{
  "transactionId": "1c7d...e9",
  "categories": ["document_is_manipulated", "selfie_is_manipulated"],
  "comment": "Confirmado como fraude após revisão interna"
}
```

### Respostas

#### `200` Sucesso

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

Todas as ações aplicáveis da confirmação foram registradas corretamente. Isso inclui o enrolamento do rosto nas listas de bloqueio aplicáveis (veja abaixo). A operação é **idempotente**: se o rosto já estava em uma lista de bloqueio, ou se a transação já tinha sido reportada anteriormente, a nova tentativa é considerada igualmente um sucesso e retorna `200`.

#### `400` Requisição inválida

Alguma das `categories` enviadas não pertence ao catálogo de categorias válidas. Nenhuma ação é registrada; corrija as categorias e tente novamente.

#### `422` Entidade não processável

A transação não permite reporte: só são admissíveis transações finalizadas no estado `COMPLETED`.

#### `503` Serviço indisponível

Alguma das ações aplicáveis da confirmação **não pôde ser concluída**. A confirmação não é considerada totalmente registrada; o consumer deve **tentar novamente** mais tarde ou, se o problema persistir, **notificar o suporte** informando o `transactionId`. A operação é idempotente, portanto tentar novamente é seguro.

### Listas de bloqueio de rostos

Quando a transação confirmada como fraude inclui selfie, seu rosto é enrolado nas listas de bloqueio aplicáveis, de forma que validações futuras o detectem (códigos `200`/`201`, veja [resposta de resultado](/docs.facephi-pt-br/api-rest/midapi-v2/daf/respuesta-de-resultado.md)):

* **Lista de bloqueio da plataforma:** o rosto é sempre enrolado na lista de bloqueio própria da plataforma.
* **Lista de bloqueio global:** além disso, se a plataforma participa da lista de bloqueio global compartilhada, o rosto também é enrolado nela.

{% hint style="info" %}
A participação na **lista de bloqueio global** é **configurável por plataforma** (ativada por padrão) e é coordenada com Facephi; não é controlada por meio da API. O ajuste é simétrico: afeta tanto a **busca** durante a validação (uma plataforma sem lista de bloqueio global só é comparada com sua própria lista de bloqueio) quanto ao **enrolamento** nesta confirmação de fraude (o rosto é adicionado apenas à lista de bloqueio da plataforma). Se a transação foi processada sem selfie (sem `TOKEN_FACE_IMAGE`), nenhum rosto é enrolado em qualquer lista de bloqueio.
{% endhint %}

{% hint style="info" %}
Recomenda-se enviar um único reporte de fraude por transação. No entanto, tentar novamente é **seguro**: a operação é idempotente e um relato já registrado retorna `200` sem duplicar efeitos.
{% endhint %}
