> 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/country-integrations/chile/previred/create-previred-transaction.md).

# Criar transação Previred

Serviço que inicia o Fluxo de Integração completo com Previred e retorna um identificador de transação.

Este serviço processa todos os dados de validação com Previred, gera a documentação de evidência e conformidade e retorna um ID de transação que pode ser usado para recuperar o token gerado e os documentos de evidência.

### Pré-requisitos

Antes de chamar este serviço, é necessário contar com:

* Um `serviceTransactionId` válido obtido ao chamar a `/onboarding/v2/identity`.
* Um `scanReference` válido obtido ao chamar a `/verify/documentValidation/v2/start`.

### Endpoint

```
POST /services/previred
```

### Cabeçalhos

| Nome          | Tipo   | Obrigatório | Descrição                         |
| ------------- | ------ | ----------- | --------------------------------- |
| **x-api-key** | string | **Sim**     | API key de autorização de acesso. |

### Corpo da solicitação

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

#### Parâmetros

| Parâmetro                         | Tipo   | Obrigatório | Descrição                                                                  |
| --------------------------------- | ------ | ----------- | -------------------------------------------------------------------------- |
| `customerId`                      | string | **Sim**     | ID do cliente atribuído à instituição que realiza a solicitação.           |
| `identityTransactionId`           | string | **Sim**     | Identificador retornado ao chamar a `/v2/identity`.                        |
| `documentValidationScanReference` | string | **Sim**     | Identificador retornado ao chamar a `/verify/documentValidation/v2/start`. |
| `ipVerified`                      | string | **Sim**     | Endereço IP do endpoint de Verificação de Identidade.                      |
| `callbackUrl`                     | string | Não         | URL de callback opcional para notificações de conclusão da transação.      |

#### Exemplo de solicitação

```json
{
  "customerId": "customer_123",
  "identityTransactionId": "2db602ee-3564-4304-af95-92a52eaae12d",
  "documentValidationScanReference": "doc_scan_456",
  "ipVerified": "192.168.1.100",
  "callbackUrl": "https://example.com/callback"
}
```

### Respostas

#### `200` Sucesso

#### Parâmetros de resposta

| Parâmetro       | Tipo    | Descrição                                                                |
| --------------- | ------- | ------------------------------------------------------------------------ |
| `timestamp`     | integer | Marca de tempo Unix da resposta em segundos.                             |
| `transactionId` | string  | ID de transação vinculado ao processo de geração de evidência.           |
| `hash`          | string  | Cadeia de controle da mensagem recebida pelo serviço (dado informativo). |

#### Exemplo de resposta

```json
{
  "timestamp": 1709708084,
  "transactionId": "0fec0e8d-3ef3-477f-ae9e-e350cda74b33",
  "hash": "61cf9b68412783c57dd5a9b0ca702a0902d81054"
}
```

#### `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` Proibido

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

#### `404` Não encontrado

```json
{
  "status": 404,
  "title": "Not Found",
  "detail": "Transaction not found.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404"
}
```

#### `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 esgotado no gateway

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