> 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/identity-api/identity-api-reference/onboarding/morphology/document-validation/document-validation-data.md).

# Dados da validação de documento

Obtém os resultados da análise morfológica do documento **assim que o processo de validação tiver sido concluído com sucesso**.

{% hint style="info" %}
Os campos da resposta dependerão do provedor de morfologia configurado.
{% endhint %}

### Endpoint

```
POST /verify/documentValidation/data
```

### Cabeçalhos

| Nome          | Tipo   | Obrigatório | Descrição                                                     |
| ------------- | ------ | ----------- | ------------------------------------------------------------- |
| **x-api-key** | string | **Sim**     | API Key de autorização de acesso.                             |
| **family**    | string | Não         | Valor: **Onboarding**. Obrigatório com o serviço de Tracking. |

{% hint style="info" %}
Todas as chamadas aos Endpoints para Tracking com **Identity Platform** devem conter o header `family`.
{% endhint %}

### Corpo da solicitação

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

#### Parâmetros

| Parâmetro              | Tipo   | Obrigatório | Descrição                                                                                      |
| ---------------------- | ------ | ----------- | ---------------------------------------------------------------------------------------------- |
| `scanReference`        | string | **Sim**     | **Número de referência** do escaneamento.                                                      |
| `type`                 | string | Não         | ⚠️ Valor **obsoleto**. Será removido em versões futuras.                                       |
| `rastreamento`         | object | Não         | Objeto que representa as informações de Tracking necessárias.                                  |
| `tracking.extraData`   | string | Não         | Token gerado pelo SDK Mobile/Web. Contém informações de Tracking tokenizadas com a Plataforma. |
| `tracking.operationId` | string | Não         | Identificador de operação gerado pelo SDK Mobile/Web.                                          |

#### Exemplo de solicitação

```json
{
  "scanReference": "fe294c25-17e1-4d98-a958-710edbf00064",
  "type": "1",
  "tracking": {
    "extraData": "BQABAQG2gBNjuHN4kLmPqYf7R...",
    "operationId": "123e4567-e89b-12d3-a456-426614174000"
  }
}
```

### Respostas

#### `200` Sucesso

#### Parâmetros de resposta — `document`

Detalhes da validação do documento e informações extraídas.

| Parâmetro          | Tipo   | Nullable | Descrição                                                                                                                                                                                                                                |
| ------------------ | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dateOfBirthParts` | object | Sim      | Partes da data de nascimento (`year`, `month`, `day`).                                                                                                                                                                                   |
| `dob`              | string | Sim      | Data de nascimento no formato **YYYY-MM-DD**.                                                                                                                                                                                            |
| `expiry`           | string | Sim      | Data de expiração do documento no formato **YYYY-MM-DD**.                                                                                                                                                                                |
| `expiryDateParts`  | object | Sim      | Partes da data de expiração (`year`, `month`, `day`).                                                                                                                                                                                    |
| `firstName`        | string | Sim      | Nome do titular do documento.                                                                                                                                                                                                            |
| `lastName`         | string | Sim      | Sobrenome do titular do documento.                                                                                                                                                                                                       |
| `gender`           | string | Sim      | Gênero do titular do documento.                                                                                                                                                                                                          |
| `idSubtype`        | string | Sim      | Subtipo do documento.                                                                                                                                                                                                                    |
| `issuingCountry`   | string | Sim      | País que emitiu o documento.                                                                                                                                                                                                             |
| `nationality`      | string | Sim      | Nacionalidade do titular do documento.                                                                                                                                                                                                   |
| `number`           | string | Sim      | Número do documento.                                                                                                                                                                                                                     |
| `optionalData2`    | string | Sim      | Campo de dados opcionais adicionais.                                                                                                                                                                                                     |
| `status`           | string | Não      | Estado de verificação do documento. Valores possíveis: `APPROVED_VERIFIED`, `DENIED_FRAUD`, `DENIED_UNSUPPORTED_ID_TYPE`, `DENIED_UNSUPPORTED_ID_COUNTRY`, `ERROR_NOT_READABLE`. Ver [Resultados da Verificação](#verification-results). |
| `type`             | string | Sim      | Tipo de documento. Valores possíveis: `PASSPORT`, `DRIVING_LICENSE`, `ID_CARD`, `VISA`                                                                                                                                                   |
| `issuingDate`      | string | Sim      | Data de emissão do documento.                                                                                                                                                                                                            |
| `issuingDateParts` | object | Sim      | Partes da data de emissão (`year`, `month`, `day`).                                                                                                                                                                                      |
| `issuingPlace`     | string | Sim      | Local onde o documento foi emitido.                                                                                                                                                                                                      |
| `issuingAuthority` | string | Sim      | Autoridade que emitiu o documento.                                                                                                                                                                                                       |

#### Parâmetros de resposta — `transaction`

Metadados da transação e informações de processamento.

| Parâmetro               | Tipo   | Descrição                                                           |
| ----------------------- | ------ | ------------------------------------------------------------------- |
| `date`                  | string | Data de criação da transação no formato **ISO 8601**.               |
| `merchantScanReference` | string | Referência de leitura fornecida pelo comerciante.                   |
| `source`                | string | Origem da transação.                                                |
| `status`                | string | Estado de processamento da transação.                               |
| `updatedAt`             | string | Carimbo de data/hora da última atualização no formato **ISO 8601**. |

#### Parâmetros de resposta — `verification`

Resultados da verificação e checagens adicionais realizadas.

| Parâmetro          | Tipo   | Nullable | Descrição                                           |
| ------------------ | ------ | -------- | --------------------------------------------------- |
| `additionalChecks` | object | Sim      | Checagens de verificação adicionais realizadas.     |
| `mrzCheck`         | object | Sim      | Resultados da verificação da Machine Readable Zone. |

#### Resultados da Verificação

O campo `document.status` na resposta de Document Validation Data indica o resultado da verificação:

| Status                               | Descrição                                                                                     |
| ------------------------------------ | --------------------------------------------------------------------------------------------- |
| **APPROVED\_VERIFIED**               | Verificado e aprovado com sucesso para uso.                                                   |
| **DENIED\_FRAUD**                    | A verificação falhou devido a conteúdo fraudulento ou manipulação suspeita.                   |
| **DENIED\_UNSUPPORTED\_ID\_TYPE**    | O tipo de documento não é compatível com o sistema de validação.                              |
| **DENIED\_UNSUPPORTED\_ID\_COUNTRY** | O país do documento não é compatível com o sistema de validação.                              |
| **ERROR\_NOT\_READABLE**             | Não foi possível processar devido à baixa qualidade da imagem ou a problemas de legibilidade. |

#### Exemplo de resposta

```json
{
  "document": {
    "dateOfBirthParts": {
      "year": "1995",
      "month": "10",
      "day": "16"
    },
    "dob": "XXXX-10-16",
    "expiry": "XXXX-10-16",
    "expiryDateParts": {
      "year": "XXXX",
      "month": "XX",
      "day": "XX"
    },
    "firstName": "XXX XXXXX",
    "gender": null,
    "idSubtype": null,
    "issuingCountry": "CHL",
    "lastName": "XXXX XXXXXX",
    "nationality": null,
    "number": "XXXXXXXXX",
    "optionalData2": "XXXXXX K",
    "status": "APPROVED_VERIFIED",
    "type": "ID_CARD",
    "issuingDate": null,
    "issuingDateParts": null,
    "issuingPlace": null,
    "issuingAuthority": null
  },
  "transaction": {
    "date": "2024-01-18T17:48:49.598029Z",
    "merchantScanReference": "680f8ef8-3ff5-XXXXX-XXXX-97182d998dfb",
    "source": "API",
    "status": "DONE",
    "updatedAt": "2024-01-18T17:49:15.310078Z"
  },
  "verification": {
    "additionalChecks": null,
    "mrzCheck": null
  }
}
```

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

```json
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": []
}
```

#### `401` Não autorizado

```json
{
  "message": "Unauthorized"
}
```

#### `403` Acesso negado

```json
{
  "Message": "User is not authorized to access this resource with an explicit deny"
}
```

#### `502` Gateway inválido

```json
{
  "status": 502,
  "title": "Bad Gateway",
  "detail": "Server got an invalid response.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502"
}
```

#### `504` Tempo limite do gateway

```json
{
  "message": "Endpoint request timed out"
}
```
