# QI Tech — Banking-as-a-Service › TED

Documentação da QI Tech em texto corrido, para colar em um LLM.
Fonte: https://docs.qitech.com.br
30 página(s).

Índice:
- Aprovar TED com Autenticação de Dois Fatores (/documentation/baas/ted/2fa/aprovar_transacao_ted_2fa)
- Realizar TED com Autenticação de Dois Fatores (/documentation/baas/ted/2fa/realizar_transferencia_2fa)
- Solicitar Reenvio de Token para uma Transação Ted (/documentation/baas/ted/2fa/solicitacao_de_reenvio_de_token)
- Aprovar Transação em Lote com Autenticação de Dois Fatores (/documentation/baas/ted/batch_2fa/aprovar_transacao_em_lote_ted_2fa)
- Solicitar Reenvio de Token para uma Transação Ted em Lote (/documentation/baas/ted/batch_2fa/solicitacao_de_reenvio_de_token_para_lote_ted)
- Realizar Transação Ted em Lote com Autenticação de Dois Fatores (/documentation/baas/ted/batch_2fa/solicitacao_de_transacao_em_lote_ted_2fa)
- Listar Transações Ted de um lote de uma conta (/documentation/baas/ted/batch/listar_transacoes_de_um_lote_de_transacoes_ted)
- Listar Transações em Lote de uma conta (/documentation/baas/ted/batch/listar_transacoes_em_lote_ted_de_uma_conta)
- Realizar Transação Ted em Lote (/documentation/baas/ted/batch/solicitacao_de_transacao_em_lote_ted)
- Consultar TED (/documentation/baas/ted/consultar_ted)
- Listar TEDs (/documentation/baas/ted/listar_teds)
- Realizar TED (/documentation/baas/ted/realizar_transferencia)
- Aprovar Agendamento de Transação Ted com Autenticação de Dois Fatores (/documentation/baas/ted/schedule_2fa/aprovacao_de_agendamento_2fa)
- Introdução a Autenticação de Dois Fatores (/documentation/baas/ted/schedule_2fa/introducao_a_agendamento_2fa)
- Solicitar Agendamento de Transação Ted com Autenticação de Dois Fatores (/documentation/baas/ted/schedule_2fa/solicitacao_de_agendamento_2fa)
- Solicitar reenvio de token para um agendamento (/documentation/baas/ted/schedule_2fa/solicitacao_de_reenvio_de_token_para_agendamento_2fa)
- Aprovar Agendamento de Transação Ted em Lote com Autenticação de Dois Fatores (/documentation/baas/ted/schedule_batch_2fa/aprovacao_de_agendamento_em_lote_2fa)
- Solicitar Agendamento de Transação Ted em Lote (/documentation/baas/ted/schedule_batch_2fa/solicitacao_de_agendamento_em_lote_2fa)
- Solicitar Reenvio de Token para um Agendamento de Transação Ted em Lote (/documentation/baas/ted/schedule_batch_2fa/solicitacao_de_reenvio_de_token_para_agendamento_em_lote_2fa)
- Cancelar Agendamento de Transação Ted em Lote (/documentation/baas/ted/schedule_batch/cancelamento_de_agendamento_em_lote)
- Listar Agendamentos de um Lote de Agendamento (/documentation/baas/ted/schedule_batch/listar_agendamentos_de_um_lote)
- Listar Lotes de Agendamento de uma conta (/documentation/baas/ted/schedule_batch/listar_agendamentos_em_lote_de_uma_conta)
- Solicitar Agendamento de Transação Ted em Lote (/documentation/baas/ted/schedule_batch/solicitacao_de_agendamento_em_lote)
- Cancelar Agendamento de Transação Ted (/documentation/baas/ted/schedule/cancelamento_de_agendamento)
- Consultar Agendamento de Transação Ted (/documentation/baas/ted/schedule/consulta_de_agendamento)
- Introdução (/documentation/baas/ted/schedule/introducao)
- Listar Agendamentos de Transação Ted de uma conta (/documentation/baas/ted/schedule/listar_agendamentos_de_uma_conta)
- Solicitar Agendamento de Transação Ted (/documentation/baas/ted/schedule/solicitacao_de_agendamento)
- Webhook de conclusão de Agendamento Ted (/documentation/baas/ted/schedule/webhook_de_conclusao_de_agendamento)
- Webhook após finalização de envio de TED (/documentation/baas/ted/webhooks)

---

# Aprovar TED com Autenticação de Dois Fatores

URL: /documentation/baas/ted/2fa/aprovar_transacao_ted_2fa

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted/ TED_KEY /validate_token
MÉTODO PUT

### Path Params

| Campo         | Tipo   | Descrição                                         | Caracteres |
|---------------|--------|---------------------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta.            | 36         |
| `ted_key`     | uuidv4 | Chave única de identificação da transferência TED | 36         |

## Autenticação via Email e SMS

Request Body

```json
{
  "token": "329123"
}
```

## Autenticação via Dispositivo

Para aprovar e finalizar a autenticação via dispositivo, a requisição deve ser enviada com um payload vazio. A validação ocorre internamente, sem necessidade de informações adicionais no corpo da requisição. É importante destacar que este endpoint só deve ser utilizado após a [solicitação de transação](./realizar_transferencia_2fa.md) ter sido iniciada.

Request Body

```json
{

}
```

## Body Params

| Campo     | Tipo   | Descrição                                                             | Caracteres |
|-----------|--------|-----------------------------------------------------------------------|------------|
| `token`   | string | Código de autenticação enviado ao aprovador de movimentações da conta **obrigatório para TFA via SMS ou e-mail**| 6          | 

## Response

STATUS 201

Response Body: Transferência Enviada

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "transaction_key": "46804f32-101e-4702-8fbc-c2dbc4c2caec",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "transaction_amount": 202.01,
  "fee_amount": 10,
  "ted_status": "sent",
  "created_at": "2021-10-22T20:30:23.459Z"
}
```

STATUS 202

Response Body: Transferência Pendente

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "transaction_amount": 202.01,
  "fee_amount": 10,
  "ted_status": "pending",
  "created_at": "2021-10-22T20:30:23.459Z"
}
```

STATUS 4xx

Response Body: Transferência Rejeitada

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {
    "ted_data": {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "transaction_amount": 202.01,
      "fee_amount": 10,
      "ted_status": "rejected",
      "created_at": "2021-10-22T20:30:23.459Z"
    }
  }
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

:::info Informação
Os erros anteriormente listados para [realizar TED](/documentation/baas/ted/realizar_transferencia) são
passiveis de serem retornados por este endpoint além dos erros listados abaixo.
:::

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                           | Descrição (eng)<br/>`description`                                       | Descrição (ptbr)<br/>`translation`                                  |
|--------------------------|----------------------|----------------------------------------------|-------------------------------------------------------------------------|---------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                  | Schema Error                                                            | Erro de Schema                                                      |
| 404                      | TED000020            | Not Found                                    | Ted was not found for the given parameters.                             | Ted não encontrada para os parâmetros fornecidos.                   |
| 404                      | TED000086            | Invalid Status                               | Ted not in pending_2fa_approval status                                  | Ted não está pendente de aprovação por autenticação de dois fatores |
| 400                      | TED000082            | Number of token validation attempts exceeded | The maximum number of failed token validation attempts has been reached | Número máximo de tentativas de validação de token atingida          |
| 400                      | TED000084            | Incorrect Token                              | Token sent does not match expected                                      | Token enviado não condiz com, o esperado                            |
| 400                      | TED000083            | Token Expired                                | Token has expired. Resend token or recreate transfer                    | Token expirado. Reenvie token ou recrie a transferência             |
| 400                      | TED000110            | Token Required                                | A token is required for SMS or email validation.                    | Um token é necessário para validação via SMS ou email.             |

---

# Realizar TED com Autenticação de Dois Fatores

URL: /documentation/baas/ted/2fa/realizar_transferencia_2fa

Neste tipo de transação, é necessário a confirmação do pagamento via token enviado à pessoa com poderes de aprovação de
movimentação na conta credora.

A solicitação de transação TED por parceiros integradores configurados para a utilização de autenticação de dois
fatores é realizada de forma similar ao descrito
em [realizar TED](/documentation/baas/ted/realizar_transferencia). A diferença ocorre na adição do
objeto `tfa_info`, contento informações sobre o aprovador da transferência e a forma de contato, e o status de uma
solicitação bem sucedida que será sempre **pending_2fa_approval**.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted
MÉTODO POST

## Autenticação via Email e SMS

Request Body

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "target_account": {
    "account_branch": "0001",
    "account_number": "92796",
    "account_digit": "1",
    "owner_document_number": "23599885000192",
    "owner_name": "Titular da Conta",
    "ispb": "12345678",
    "account_type": "checking_account"
  },
  "transaction_amount": 8.86,
  "tfa_info": {
    "approver_document_number": "98765432100",
    "contact_type": "email"
  }
}
```

## Autenticação via Dispositivo

Além das formas já existentes de autenticação via **sms** e **email**, é possível autenticar a transação utilizando um dispositivo [previamente cadastrado](/documentation/baas/dispositivo/create/solicitacao_cadastro_dispositivo). Nesse caso, o `session_id` deve ser obtido na **Device Scan** e enviado no `tfa_info`.

Request Body

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "target_account": {
    "account_branch": "0001",
    "account_number": "92796",
    "account_digit": "1",
    "owner_document_number": "23599885000192",
    "owner_name": "Titular da Conta",
    "ispb": "12345678",
    "account_type": "checking_account"
  },
  "transaction_amount": 8.86,
  "tfa_info": {
    "approver_document_number": "98765432100",
    "session_id": "b2f18d3a-67c2-4a7f-98e5-1d3f5c6b8a72",
    "contact_type": "device"
  }
}
```

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |
| `tfa_info`*             | object | Objeto contendo o documento da pessoa aprovadora da conta e a forma de contato.    | **[Objeto tfa_info](#objeto-tfa_info)**             |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                                |
|---------------------------|--------|-----------------------------------------------------|-----------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                         |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                         |
| `account_number` *        | string | Número da conta.                                    | 20                                                        |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                        |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                        |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                         |

## Objeto tfa_info

| Campo                       | Tipo   | Descrição                                                                           | Caracteres |
|-----------------------------|--------|-------------------------------------------------------------------------------------|------------|
| `approver_document_number`* | string | Número de documento da pessoa aprovadora da conta.                                  | 11         | 
| `session_id`| string | Chave única de identificação da sessão do dispositivo no formato UUID v4 (obrigatório para TFA via dispositivo). |   36         |
| `contact_type`*             | string | Forma de contato com a pessoa aprovadora da conta, podendo ser **sms**, **email** ou **device** |            |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 202

Response Body

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "created_at": "2021-10-22T20:30:23.459Z",
  "ted_status": "pending_2fa_approval",
  "transaction_amount": 126.97,
  "fee_amount": 0.0
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

:::info Informação
Os erros anteriormente listados para [realizar TED](/documentation/baas/ted/realizar_transferencia) são
passiveis de serem retornados por este endpoint além dos erros listados abaixo.
:::

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                 | Descrição (eng)<br/>`description`                                     | Descrição (ptbr)<br/>`translation`                               |
|--------------------------|----------------------|------------------------------------|-----------------------------------------------------------------------|------------------------------------------------------------------|
| 400                      | TED000079            | No approver permission             | Given document number does not belong to an approver for this account | Número de documento enviado não pertence a um aprovador da conta |
| 400                      | TED000080            | tfa_info is required               | Client must send object tfa_info                                      | Cliente deve enviar objeto tfa_info                              |
| 400                      | TED000081            | Error occurred while sending token | An unexpected error occurred while sending token                      | Um erro inexperado ocorreu ao tentar enviar token                |
| 400                      | TED0000109           | Session ID needed | A session_id must be provided token | Uma session_id deve ser fornecida |

---

# Solicitar Reenvio de Token para uma Transação Ted

URL: /documentation/baas/ted/2fa/solicitacao_de_reenvio_de_token

Um novo token será gerado e enviado para o aprovador da transação Ted. Caso o número limite de tentativas de validação
do token tenha sido excedida, não será permitido o reenvio.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted/ TED_KEY /resend_token
MÉTODO PATCH

### Path Params

| Campo           | Tipo   | Descrição                                         | Caracteres |
|-----------------|--------|---------------------------------------------------|------------|
| `account_key` * | uuidv4 | Chave única de identificação da conta.            | 36         |
| `ted_key` *     | uuidv4 | Chave única de identificação da transferência TED | 36         |

## Body Params

| Campo          | Tipo   | Descrição                                                                                 | Caracteres |
|----------------|--------|-------------------------------------------------------------------------------------------|------------|
| `contact_type` | enumerator | Forma de envio do token de autenticação | **[Enumerador contact_type](#enumerador-contact_type)** |

:::info Informação
Caso não seja enviado um `contact_type`, o token será enviado da forma solicitada originalmente.
:::

### Enumerador contact_type

| Enumerador | Descrição                                         |
|------------|---------------------------------------------------|
| **sms**    | Envio por Mensagem de Texto para telefone celular |
| **email**  | Envio por correio eletrônico                      |

## Response

STATUS 202

Response Body: Transação Solicitada

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "transaction_amount": 202.01,
  "fee_amount": 10,
  "ted_status": "pending_2fa_approval",
  "created_at": "2021-10-22T20:30:23.459Z"
}
```

STATUS 4xx

Response Body: Transferência Rejeitada

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {
    "ted_data": {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "transaction_amount": 202.01,
      "fee_amount": 10,
      "ted_status": "rejected",
      "created_at": "2021-10-22T20:30:23.459Z"
    }
  }
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                           | Descrição (eng)<br/>`description`                                       | Descrição (ptbr)<br/>`translation`                                        |
|--------------------------|----------------------|----------------------------------------------|-------------------------------------------------------------------------|---------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                  | Schema Error                                                            | Erro de Schema                                                            |
| 404                      | TED000009            | Account not found                            | Account not found for the given key: \{account_key\}                    | Conta não encontrada para a chave fornecida: \{account_ke\}               |
| 404                      | TED000020            | Not Found                                    | Ted was not found for the given parameters.                             | Ted não encontrada para os parâmetros fornecidos.                         |
| 404                      | TED000086            | Invalid Status                               | Ted not in pending_2fa_approval status                                  | Ted não está pendente de aprovação por autenticação de dois fatores |
| 400                      | TED000082            | Number of token validation attempts exceeded | The maximum number of failed token validation attempts has been reached | Número máximo de tentativas de validação de token atingida                |
| 400                      | TED000087            | Error Sending Token                          | An error occurred while resending token and its being investigated      | Um erro ocorreu ao reenviar token e está sendo investigado                |

---

# Aprovar Transação em Lote com Autenticação de Dois Fatores

URL: /documentation/baas/ted/batch_2fa/aprovar_transacao_em_lote_ted_2fa

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_batch/ TED_BATCH_KEY /validate_token
MÉTODO PUT

### Path Params

| Campo           | Tipo   | Descrição                                              | Caracteres |
|-----------------|--------|--------------------------------------------------------|------------|
| `account_key`   | uuidv4 | Chave única de identificação da conta.                 | 36         |
| `ted_batch_key` | uuidv4 | Chave única de identificação da transação em lote ted. | 36         |

## Autenticação via Email e SMS

Request Body

```json
{
  "token": "329123"
}
```

## Autenticação via Dispositivo

Para aprovar e finalizar a autenticação via dispositivo, a requisição deve ser enviada com um payload vazio. A validação ocorre internamente, sem necessidade de informações adicionais no corpo da requisição. É importante destacar que este endpoint só deve ser utilizado após a [solicitação de transação em lote](./solicitacao_de_transacao_em_lote_ted_2fa.md) ter sido iniciada.

Request Body

```json
{

}
```

## Body Params

| Campo   | Tipo   | Descrição                                                                                                                              | Caracteres |
|---------|--------|----------------------------------------------------------------------------------------------------------------------------------------|------------|
| `token` | string | Código de autenticação enviado ao aprovador de movimentações da conta **obrigatório para TFA via SMS ou e-mail**                       | 6          |

## Response

STATUS 201

Response Body: Lote Aprovado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "ted_batch_status": "approved"
}
```

STATUS 4xx

Response Body: Lote Rejeitado

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {
    "ted_batch_data": {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "ted_batch_status": "rejected"
    }
  }
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                           | Descrição (eng)<br/>`description`                                                                        | Descrição (ptbr)<br/>`translation`                                          |
|--------------------------|----------------------|----------------------------------------------|----------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|
| 400                      | TED000082            | Number of token validation attempts exceeded | The maximum number of failed token validation attempts has been reached                                  | Número máximo de tentativas de validação de token atingida                  |
| 400                      | TED000083            | Token Expired                                | Token has expired. Resend token or recreate transferToken has expired. Resend token or recreate transfer | Token expirado. Reenvie token ou recrie a transferência                     |
| 400                      | TED000084            | Incorrect Token                              | Token sent does not match expected                                                                       | Token enviado não condiz com, o esperado                                    |
| 404                      | TED000101            | TedBatch not Found                           | Ted Batch was not found                                                                                  | TedBatch não encontrada                                                     |
| 400                      | TED000102            | Invalid Status                               | Ted Batch not in pending_2fa_approval status                                                             | Lote de Ted não está pendente de aprovação por autenticação de dois fatores |
| 400                      | TED000110            | Token Required                               | A token is required for SMS or email validation.                                                         | Um token é necessário para validação via SMS ou email.                                                     |

---

# Solicitar Reenvio de Token para uma Transação Ted em Lote

URL: /documentation/baas/ted/batch_2fa/solicitacao_de_reenvio_de_token_para_lote_ted

Um novo token será gerado e enviado para o aprovador de movimentação da conta. Caso o número limite de tentativas de
validação do token tenha sido excedida, não será permitido o reenvio.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_batch/ TED_BATCH_KEY /resend_token
MÉTODO PATCH

### Path Params

| Campo             | Tipo   | Descrição                                          | Caracteres |
|-------------------|--------|----------------------------------------------------|------------|
| `account_key` *   | uuidv4 | Chave única de identificação da conta.             | 36         |
| `ted_batch_key` * | uuidv4 | Chave única de identificação da transação em lote. | 36         |

Request Body

```json
{
  "contact_type": "sms"
}
```

## Body Params

| Campo          | Tipo       | Descrição                               | Caracteres                                              |
|----------------|------------|-----------------------------------------|---------------------------------------------------------|
| `contact_type` | enumerator | Forma de envio do token de autenticação | **[Enumerador contact_type](#enumerador-contact_type)** |

:::info Informação
Caso não seja enviado um `contact_type`, o token será enviado da forma solicitada originalmente.
:::

### Enumerador contact_type

| Enumerador | Descrição                                         |
|------------|---------------------------------------------------|
| **sms**    | Envio por Mensagem de Texto para telefone celular |
| **email**  | Envio por correio eletrônico                      |

## Response

STATUS 202

Response Body: Transação Solicitada

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "ted_status": "pending_2fa_approval"
}
```

STATUS 4xx

Response Body: Transferência Rejeitada

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {
    "ted_data": {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "ted_status": "rejected"
    }
  }
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                           | Descrição (eng)<br/>`description`                                       | Descrição (ptbr)<br/>`translation`                                          |
|--------------------------|----------------------|----------------------------------------------|-------------------------------------------------------------------------|-----------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                  | Schema Error                                                            | Erro de Schema                                                              |
| 404                      | TED000009            | Account not found                            | Account not found for the given key: \{account_key\}                    | Conta não encontrada para a chave fornecida: \{account_ke\}                 |
| 404                      | TED000020            | Not Found                                    | Ted was not found for the given parameters.                             | Ted não encontrada para os parâmetros fornecidos.                           |
| 400                      | TED000082            | Number of token validation attempts exceeded | The maximum number of failed token validation attempts has been reached | Número máximo de tentativas de validação de token atingida                  |
| 400                      | TED000083            | Token Expired                                | Token has expired. Resend token or recreate transfer                    | Token expirado. Reenvie token ou recrie a transferência                     |
| 400                      | TED000084            | Incorrect Token                              | Token sent does not match expected                                      | Token enviado não condiz com, o esperado                                    |
| 404                      | TED000086            | Invalid Status                               | Ted not in pending_2fa_approval status                                  | Ted não está pendente de aprovação por autenticação de dois fatores         |
| 400                      | TED000087            | Error Sending Token                          | An error occurred while resending token and its being investigated      | Um erro ocorreu ao reenviar token e está sendo investigado                  |
| 404                      | TED000101            | TedBatch not Found                           | Ted Batch was not found                                                 | TedBatch não encontrada                                                     |
| 400                      | TED000102            | Invalid Status                               | Ted Batch not in pending_2fa_approval status                            | Lote de Ted não está pendente de aprovação por autenticação de dois fatores |

---

# Realizar Transação Ted em Lote com Autenticação de Dois Fatores

URL: /documentation/baas/ted/batch_2fa/solicitacao_de_transacao_em_lote_ted_2fa

A QI Tech oferece a possibilidade de realizar várias transações ted com uma única chamada. Nesse sistema as transações
são realizadas de forma assíncrona. Caso na chamada inicial seja retornado um **http status 4xx**, nenhuma das
transações será realizada. Após a solicitação, o parceiro integrador receberá um webhook para cada transação informando
o status final da tentativa, podendo ser **rejected** ou **sent**.

Neste tipo de transação, é necessário a confirmação do pagamento via token enviado à pessoa com poderes de aprovação de
movimentação na conta credora.

A solicitação de transação Ted por parceiros integradores configurados para a utilização de autenticação de dois fatores
é realizada de forma similar ao descrito
em [realizar transação ted em lote](/documentation/baas/ted/batch/solicitacao_de_transacao_em_lote_ted). A diferença
ocorre na adição do objeto `tfa_info`, contento informações sobre o aprovador da transferência e a forma de contato, e o
status de uma solicitação bem sucedida que será sempre **pending_2fa_approval**.

O evento de notificação para o envio de `token` ao aprovador é **baas.token_validation.ted.batch**. É
possível [personalizar](/documentation/notificacoes/template) a mensagem enviada.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_batch
MÉTODO POST

## Autenticação via Email e SMS

Request Body: Transferência em Lote com TFA por SMS ou Email

```json
{
  "request_control_key": "6e4fc980-f8a1-4462-b6e2-d8a49f0ac055",
  "tfa_info": {
    "approver_document_number": "98765432100",
    "contact_type": "email"
  },
  "teds": [
    {
      "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92796",
        "account_digit": "1",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 8.86
    },
    {
      "request_control_key": "ff9f2a48-918c-4911-9371-a496e37dccfc",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92797",
        "account_digit": "2",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 10.00
    }
  ]
}
```

## Autenticação via Dispositivo

Além das formas já existentes de autenticação via **sms** e **email**, é possível autenticar a transação utilizando um dispositivo [previamente cadastrado](/documentation/baas/dispositivo/create/solicitacao_cadastro_dispositivo). Nesse caso, o `session_id` deve ser obtido na **Device Scan** e enviado no `tfa_info`.

Request Body: Transferência em Lote com TFA por Dispositivo

```json
{
  "request_control_key": "6e4fc980-f8a1-4462-b6e2-d8a49f0ac055",
  "tfa_info": {
    "approver_document_number": "98765432100",
    "session_id": "b2f18d3a-67c2-4a7f-98e5-1d3f5c6b8a72",
    "contact_type": "device"
  },
  "teds": [
    {
      "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92796",
        "account_digit": "1",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 8.86
    },
    {
      "request_control_key": "ff9f2a48-918c-4911-9371-a496e37dccfc",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92797",
        "account_digit": "2",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 10.00
    }
  ]
}
```

## Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                              |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------|
| `request_control_key` * | uuidv4 | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                      | 
| `teds` *                | array  | Lista de objetos ted vinculados ao lote.                                           | lista de **[Objeto ted](#objeto-ted)**  |
| `tfa_info`*             | Object | Objeto contendo o documento da pessoa aprovadora da conta e a forma de contato.    | **[Objeto tfa_info](#objeto-tfa_info)** |

## Objeto tfa_info

| Campo                       | Tipo   | Descrição                                                                                                                        | Caracteres |
|-----------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------|------------|
| `approver_document_number`* | string | Número de documento da pessoa aprovadora da conta.                                                                               | 11         |
| `session_id`                | string | Chave única de identificação da sessão do dispositivo no formato UUID v4 (obrigatório para TFA via dispositivo).                 | 36         |
| `contact_type`*             | string | Forma de contato com a pessoa aprovadora da conta, podendo ser **sms**, **email** ou **device**                                  |            |

## Objeto ted

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                       |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                       |
| `account_number` *        | string | Número da conta.                                    | 20                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 202

Response Body: Transferência em Lote Solicitada

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "ted_batch_status": "pending_2fa_approval"
}
```

### Enumerador ted_batch_status

| Enumerador               | Descrição                                                                  |
|--------------------------|----------------------------------------------------------------------------|
| **approved**             | Transferência em lote aprovada e transações em processo de execução.       |
| **rejected**             | Transferência em lote rejeitada                                            |
| **pending_2fa_approval** | Agendamento em lote pendente de aprovação por autenticação de dois fatores |
| **cancelled**            | Transferência em lote cancelada                                            |

STATUS 4xx

Response Body: Transferência Rejeitada

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {
    "ted_batch_data": {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "ted_batch_status": "rejected"
    }
  }
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

:::info Informação
Os erros anteriormente listados para [transferência Ted](/documentation/baas/ted/solicitacao_de_transacao_em_lote_ted)
são
passiveis de serem retornados por este endpoint além dos erros listados abaixo.
:::

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                 | Descrição (eng)<br/>`description`                                     | Descrição (ptbr)<br/>`translation`                               |
|--------------------------|----------------------|------------------------------------|-----------------------------------------------------------------------|------------------------------------------------------------------|
| 400                      | TED000079            | No approver permission             | Given document number does not belong to an approver for this account | Número de documento enviado não pertence a um aprovador da conta |
| 400                      | TED000080            | tfa_info is required               | Client must send object tfa_info                                      | Cliente deve enviar objeto tfa_info                              |
| 400                      | TED000081            | Error occurred while sending token | An unexpected error occurred while sending token                      | Um erro inexperado ocorreu ao tentar enviar token                |

---

# Listar Transações Ted de um lote de uma conta

URL: /documentation/baas/ted/batch/listar_transacoes_de_um_lote_de_transacoes_ted

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_batch/ TED_BATCH_KEY /teds
MÉTODO GET

### Path Params

| Campo           | Tipo   | Descrição                                          | Caracteres |
|-----------------|--------|----------------------------------------------------|------------|
| `account_key`   | uuidv4 | Chave única de identificação da conta.             | 36         |
| `ted_batch_key` | uuidv4 | Chave única de identificação da transação em lote. | 36         |

### Query Params

| Campo                 | Tipo    | Descrição                                                               | Caracteres                                          |
|-----------------------|---------|-------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` | uuidv4  | Chave única de identificação da request utilizada pelo cliente.         | 36                                                  |
| `ted_status`          | string  | Status da transação TED. Pode ser enviado como lista.                   | **[Enumerador ted_status](#enumerador-ted_status)** |
| `date_from`           | string  | Data inicial. Formato "YYYY-MM-DD"                                      | 10                                                  |
| `date_to`             | string  | Data final. Formato "YYYY-MM-DD"                                        | 10                                                  |
| `page`                | integer | Número da página requisitada. 1 por padrão                              |                                                     |
| `page_size`           | integer | Tamanho da página requisitada na consulta. 30 por padrão e valor máximo | Valor máximo de 30                                  |

## Enumerador ted_status

| Enumerador   | Descrição                                |
|--------------|------------------------------------------|
| **sent**     | Transferência TED realizada com sucesso. |
| **pending**  | Transferência TED pendente.              |
| **rejected** | Transferência TED rejeitada.             |
| **returned** | Transferência TED devolvida.             |

### Response

STATUS 200

Response Body

```json
{
  "data": [
    {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "ted_status": "sent"
    },
    {
      "request_control_key": "697c07c3-5398-48d2-a418-853323f85f97",
      "ted_key": "e95eabdb-4520-4c3d-a76f-99cb5b64724b",
      "ted_status": "sent"
    },
    {
      "request_control_key": "ca35c526-b5a0-40d7-8c56-8566c77a34f4",
      "ted_key": "58d2fa9e-42ec-4779-b2fc-14ec98cbdca8",
      "ted_status": "rejected"
    }
  ],
  "pagination": {
    "current_page": 1,
    "rows_per_page": 30
  }
}

```

---

# Listar Transações em Lote de uma conta

URL: /documentation/baas/ted/batch/listar_transacoes_em_lote_ted_de_uma_conta

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_batches
MÉTODO GET

### Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

### Query Params

| Campo                 | Tipo    | Descrição                                                               | Caracteres                                                      |
|-----------------------|---------|-------------------------------------------------------------------------|-----------------------------------------------------------------|
| `request_control_key` | uuidv4  | Chave única de identificação da request utilizada pelo cliente.         | 36                                                              |
| `ted_batch_status`    | uuidv4  | Status do lote de transações Ted. Pode ser enviado como lista.          | **[Enumerador ted_batch_status](#enumerador-ted_batch_status)** |
| `date_from`           | string  | Data inicial. Formato "YYYY-MM-DD"                                      | 10                                                              |
| `date_to`             | string  | Data final. Formato "YYYY-MM-DD"                                        | 10                                                              |
| `page`                | integer | Número da página requisitada. 1 por padrão                              |                                                                 |
| `page_size`           | integer | Tamanho da página requisitada na consulta. 30 por padrão e valor máximo | Valor máximo de 30                                              |

### Enumerador ted_batch_status

| Enumerador               | Descrição                                                                  |
|--------------------------|----------------------------------------------------------------------------|
| **approved**             | Transferência em lote aprovada e transações em processo de execução.       |
| **rejected**             | Transferência em lote rejeitada                                            |
| **pending_2fa_approval** | Agendamento em lote pendente de aprovação por autenticação de dois fatores |
| **cancelled**            | Transferência em lote cancelada                                            |

### Response

STATUS 200

Response Body

```json
{
  "data": [
    {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "ted_batch_status": "approved"
    },
    {
      "request_control_key": "939d1503-aa5a-49a6-ae3b-ff84122a6dd3",
      "ted_batch_key": "03cf9181-0eb9-480e-8bb4-66a5a9a6410e",
      "ted_batch_status": "rejected"
    },
    {
      "request_control_key": "43a14f3a-b2af-4a0e-8a74-70af2fca74a9",
      "ted_batch_key": "94ab9fad-9c65-4117-b9c3-a47b1269508f",
      "ted_batch_status": "approved"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": null,
    "rows_per_page": 30
  }
}

```

---

# Realizar Transação Ted em Lote

URL: /documentation/baas/ted/batch/solicitacao_de_transacao_em_lote_ted

A QI Tech oferece a possibilidade de realizar várias transações ted com uma única chamada. Nesse sistema, as transações
são realizadas de forma assíncrona. Caso na chamada inicial seja retornado um **http status 4xx**, nenhuma das
transações será realizada. Após a solicitação, o parceiro integrador receberá um webhook para cada transação informando
o status final da tentativa, podendo ser **rejected** ou **sent**.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_batch
MÉTODO POST

```json
{
  "request_control_key": "6e4fc980-f8a1-4462-b6e2-d8a49f0ac055",
  "teds": [
    {
      "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92796",
        "account_digit": "1",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 8.86
    }
  ]
}
```

## Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                             |
|-------------------------|--------|------------------------------------------------------------------------------------|----------------------------------------|
| `request_control_key` * | uuidv4 | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                     | 
| `teds` *                | array  | Lista de objetos ted vinculados ao lote.                                           | lista de **[Objeto ted](#objeto-ted)** |

## Objeto ted

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                       |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                       |
| `account_number` *        | string | Número da conta.                                    | 20                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 201

Response Body: Transferência em lote Aprovada

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "ted_batch_status": "approved"
}
```

### Enumerador ted_batch_status

| Enumerador               | Descrição                                                                  |
|--------------------------|----------------------------------------------------------------------------|
| **approved**             | Transferência em lote aprovada e transações em processo de execução.       |
| **rejected**             | Transferência em lote rejeitada                                            |
| **pending_2fa_approval** | Agendamento em lote pendente de aprovação por autenticação de dois fatores |
| **cancelled**            | Transferência em lote cancelada                                            |

STATUS 4xx

Response Body: Lote Rejeitado

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {
    "ted_batch_data": {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "ted_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "ted_batch_status": "rejected"
    }
  }
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

:::info Informação
Os erros anteriormente listados para [transferência Ted](/documentation/baas/ted/realizar_transferencia) são
passiveis de serem retornados por este endpoint.
:::

---

# Consultar TED

URL: /documentation/baas/ted/consultar_ted

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted/ TED_KEY / TED_DIRECTION
MÉTODO GET

## Request Path Params

| Campo             | Tipo   | Descrição                                                   | Caracteres                                                  |
|-------------------|--------|-------------------------------------------------------------|-------------------------------------------------------------|
| `ted_direction` * | string | Filtro para indicar se uma transação é de entrada ou saída. | **[Enumerador ted_direction](#enumeradores-ted_direction)** |
| `account_key` *   | uuidv4 | Chave única de identificação da conta QI                    | 36                                                          |
| `ted_key` *       | uuidv4 | Chave única de identificação da transferência TED           | 36                                                          |

## Enumeradores ted_direction

| Enumerador | Tradução |
|------------|----------|
| incoming   | entrada  |
| outgoing   | saída    |

:::caution Atenção
Será apenas permitida a visualização de uma transferência caso o requisitante tenha permissões na conta de saída da
transação para o caso da ted_direction de outgoing ou tenha permissões na conta de entrada da
transação para o caso da ted_direction de incoming. Caso o contrário um erro de não encontrado será retornado.
:::

## Response

STATUS 200

Response Body: Transferência Rejeitada (outgoing)

```json
{
  "request_control_key": "6e290347-330d-4b3a-8ebb-2ac217ad6eb3",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "account_key": "fc6862c4-2b20-4057-8063-b8809866e494",
  "created_at": "2021-10-22T20:30:23.459Z",
  "ted_status": "rejected",
  "transaction_amount": 126.97,
  "fee_amount": 0.0,
  "target_account": {
    "account_branch": "0001",
    "account_digit": "6",
    "account_number": "78340",
    "ispb": "12345678",
    "owner_document_number": "32402502000135",
    "owner_name": "QI Tech"
  },
  "refusal_reason": {
    "refusal_code": 1,
    "enumerator": "conta_destinatario_encerrada",
    "description": "Conta Destinatária do Crédito Encerrada"
  }
}
```

Response Body: Transferência Enviada (outgoing)

```json
{
  "request_control_key": "6e290347-330d-4b3a-8ebb-2ac217ad6eb3",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "account_key": "fc6862c4-2b20-4057-8063-b8809866e494",
  "created_at": "2021-10-22T20:30:23.459Z",
  "ted_status": "sent",
  "transaction_amount": 126.97,
  "fee_amount": 0.0,
  "target_account": {
    "account_branch": "0001",
    "account_digit": "6",
    "account_number": "78340",
    "ispb": "12345678",
    "owner_document_number": "32402502000135",
    "owner_name": "QI Tech"
  },
  "refusal_reason": {}
}
```

Response Body: Transferência Recebida (incoming)

```json
{
  "request_control_key": "6e290347-330d-4b3a-8ebb-2ac217ad6eb3",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "account_key": "fc6862c4-2b20-4057-8063-b8809866e494",
  "created_at": "2021-10-22T20:30:23.459Z",
  "ted_status": "received",
  "transaction_amount": 126.97,
  "fee_amount": 0.0,
  "source_account": {
    "account_branch": "0001",
    "account_digit": "6",
    "account_number": "78340",
    "ispb": "12345678",
    "owner_document_number": "32402502000135",
    "owner_name": "QI Tech"
  },
  "refusal_reason": {}
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`     | Descrição (eng)<br/>`description` | Descrição (ptbr)<br/>`translation`                                     |
|--------------------------|----------------------|------------------------|-----------------------------------|------------------------------------------------------------------------|
| 404                      | TED000020            | Not Found | Ted was not found for the given parameters. | Ted não encontrada para os parâmetros fornecidos.   |

---

# Listar TEDs

URL: /documentation/baas/ted/listar_teds

## Request

ENDPOINT /account/ ACCOUNT_KEY /teds
MÉTODO GET

## Path Params

| Campo           | Tipo   | Descrição                                | Caracteres |
|-----------------|--------|------------------------------------------|------------|
| `account_key` * | uuidv4 | Chave única de identificação da conta QI | 36         |

## Query Params

| Campo                 | Tipo       | Descrição                                                                                                  | Caracteres                                                                  |
|-----------------------|------------|------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|
| `ted_direction`       | enumerator | Indicador do sentido da transação (entrada ou saída). Caso não seja enviado, **outgoing** será considerado | [Enumeradores ted_transfer_direction](#enumeradores-ted_transfer_direction) |
| `request_control_key` | uuidv4     | Chave única de identificação da request utilizada pelo cliente.                                            | 36                                                                          |
| `date_from`           | string     | Data inicial. Formato "YYYY-MM-DD"                                                                         |                                                                             |
| `date_to`             | string     | Data final. Formato "YYYY-MM-DD"                                                                           |                                                                             |
| `page`                | integer    | Número da página requisitada. 1 por padrão                                                                 |                                                                             |
| `page_size`           | integer    | Tamanho da página requisitada na consulta. 30 por padrão e valor máximo                                    | Valor máximo de 30                                                          |

## Enumeradores ted_transfer_direction

| Enumerador   | Descrição                    |
|--------------|------------------------------|
| **incoming** | Transferência TED de entrada |
| **outgoing** | Transferência TED de saída   |

## Response

STATUS 200

Response Body

```json
{
  "data": [
    {
      "request_control_key": "6e290347-330d-4b3a-8ebb-2ac217ad6eb3",
      "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "account_key": "fc6862c4-2b20-4057-8063-b8809866e494",
      "created_at": "2021-10-22T20:30:23.459Z",
      "ted_status": "sent",
      "transaction_amount": 126.97,
      "fee_amount": 0.0,
      "target_account": {
        "account_branch": "0001",
        "account_digit": "6",
        "account_number": "78340",
        "ispb": "12345678",
        "owner_document_number": "32402502000135",
        "owner_name": "QI Tech"
      },
      "refusal_reason": {}
    }
  ],
  "pagination": {
    "current_page": 1,
    "rows_per_page": 30
  }
}

```

---

# Realizar TED

URL: /documentation/baas/ted/realizar_transferencia

O recebimento de uma transação TED não é instantânea no sistema financeiro nacional. Ao realizar uma transação TED no
sistema QI uma resposta imediata será retornada informando erro, rejeição ou aceite da transferencia. Mesmo que uma
transferência tenha sido colocada em `sent`, a Instituição Financeira recebedora pode recusar a entrada de
recurso e
realizar a devolução do valor. Neste caso um novo webhook com status de `rejected` será enviado e o motivo da rejeição
retornado no campo `refusal_reason`.

Débitos na conta fonte da transação serão realizados imediatamente. Isso não significa que o valor foi creditado na
conta destino devido aos princípios de transações TED descritos acima. Caso ocorra a rejeição da transação enviada, o
valor da transação será creditado novamente à conta fonte.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted
MÉTODO POST

Request Body

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "target_account": {
    "account_branch": "0001",
    "account_number": "92796",
    "account_digit": "1",
    "owner_document_number": "23599885000192",
    "owner_name": "Titular da Conta",
    "ispb": "12345678",
    "account_type": "checking_account"
  },
  "transaction_amount": 8.86
}
```

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                                |
|---------------------------|--------|-----------------------------------------------------|-----------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                         |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                         |
| `account_number` *        | string | Número da conta.                                    | 20                                                        |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                        |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                        |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                         |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 201

Response Body

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "created_at": "2021-10-22T20:30:23.459Z",
  "ted_status": "sent",
  "transaction_amount": 126.97,
  "fee_amount": 0.0,
  "transaction_key": "46804f32-101e-4702-8fbc-c2dbc4c2caec"
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`          | Descrição (eng)<br/>`description`                                                                                       | Descrição (ptbr)<br/>`translation`                                                                                     |
|--------------------------|----------------------|-----------------------------|-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                 | Schema Error                                                                                                            | Erro de Schema                                                                                                         |
| 400                      | TED000066            | InvalidUuid                 | request_control_key was not accepted for not being a valid uuid v4 string                                               | request_control_key não foi aceito por não ser uma palavra uuid v4 válida                                              |
| 400                      | TED000011            | InvalidUuid                 | Wrong day/time for TED                                                                                                  | Dia/hora incorretos para a TED                                                                                         |
| 400                      | TED000055            | Invalid Observation         | Observation sent is invalid                                                                                             | Observação enviada é inválida                                                                                          |
| 400                      | TED000054            | Invalid Transaction Amount  | Transaction amount of \{transaction_amount\} is not valid. It must be a positive value with at maximum 2 decimal places | O valor de transação \{transaction_amount\} não é válido. Deve ser um valor positivo com no máximo duas casas decimais |
| 400                      | TED000012            | Bad Request                 | The target's length of the account + account_digit cannot be larger than 21                                             | O número de digitos na conta de destino + digito não pode ser maior que 21                                             |
| 400                      | TED000053            | Invalid Target Account Type | Target Account Type \{account_type\} is invalid                                                                         | Tipo de conta destino \{account_type\} é inválido                                                                      |
| 400                      | TED000031            | Bad Request                 | ISPB number \{ispb\} does not exist or is inactive                                                                      | ISPB \{ispb\} não existe ou está inativo                                                                               |
| 400                      | TED000065            | Bad Request                 | It has been identified by request_control_key that this request is already being processed                              | Foi identificado por request_control_key que está requisição está sendo processada                                     |
| 403                      | TED000071            | Invalid target account      | Invalid target account                                                                                                  | Conta destino inválida                                                                                                 |
| 400                      | TED000058            | Bad Request                 | Insufficient account balance for transfer and fee amount                                                                | Saldo de conta insuficiente para a transação e a taxa                                                                  |
| 400                      | TED000070            | Bad Request                 | Insufficient account balance fee amount in billing account                                                              | Saldo de conta centralizadora insuficiente para taxa                                                                   |
| 400                      | TED000071            | Bad Request                 | Transaction cannot be made due to already blocked balance                                                               | Transação não pode ser feita pois saldo em conta bloqueado                                                             |
| 400                      | TED000068            | Bad Request                 | Transfer rejected by the system                                                                                         | transferêancia foi recusada pelo sistema                                                                               |
| 404                      | TED000013            | Bad Request                 | Unable to find source_account_key's account                                                                             | Não foi possível encontrar a conta com source_account_key fornecido                                                    |
| 400                      | TED000015            | Bad Request                 | Account blocked or closed can not perform this action                                                                   | A conta bloqueada ou fechada não pode executar esta ação                                                               |
| 400                      | TED000016            | Bad Request                 | Hub account can not perform this action                                                                                 | A conta hub não pode executar esta ação                                                                                |
| 403                      | TED000017            | Unauthorized                | Provided account does not have approval credential for the given person                                                 | A conta fornecida não possui credencial de aprovação para a pessoa especificada                                        |
| 403                      | TED000018            | Unauthorized                | Provided account not owned by SELECTED_AGENT                                                                            | Conta fornecida não pertencente ao SELECTED_AGENT                                                                      |
| 400                      | TED000060            | Bad Request                 | Billing Account is closed                                                                                               | Conta centralizadora de pagamentos de tarifa fechada                                                                   |
| 400                      | TED000061            | Bad Request                 | Billing Account without necessary funds                                                                                 | Conta centralizadora de pagamentos sem saldo necessário                                                                |
| 409                      | TED000064            | Bad Request                 | request_control_key \{request_control_key\} already in use                                                              | request_control_key \{request_control_key\} já utilizada                                                               |

---

# Aprovar Agendamento de Transação Ted com Autenticação de Dois Fatores

URL: /documentation/baas/ted/schedule_2fa/aprovacao_de_agendamento_2fa

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule/ SCHEDULE_KEY /validate_token
MÉTODO PUT

### Path Params

| Campo          | Tipo   | Descrição                                    | Caracteres |
|----------------|--------|----------------------------------------------|------------|
| `account_key`  | uuidv4 | Chave única de identificação da conta.       | 36         |
| `schedule_key` | uuidv4 | Chave única de identificação do agendamento. | 36         |

## Autenticação via Email e SMS

Request Body

```json
{
  "token": "329123"
}
```

## Autenticação via Dispositivo

Para aprovar e finalizar a autenticação via dispositivo, a requisição deve ser enviada com um payload vazio. A validação ocorre internamente, sem necessidade de informações adicionais no corpo da requisição. É importante destacar que este endpoint só deve ser utilizado após a [solicitação de agendamento](./solicitacao_de_agendamento_2fa.md) ter sido iniciada.

Request Body

```json
{

}
```

## Body Params

| Campo   | Tipo   | Descrição                                                                                                                              | Caracteres |
|---------|--------|----------------------------------------------------------------------------------------------------------------------------------------|------------|
| `token` | string | Código de autenticação enviado ao aprovador de movimentações da conta **obrigatório para TFA via SMS ou e-mail**                       | 6          |

## Response

STATUS 201

Response Body: Agendamento Aprovado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_key": "f64b3fa7-d09d-4927-ad4f-b966df9fb153",
  "schedule_status": "scheduled",
  "schedule_date": "2024-12-31"
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                           | Descrição (eng)<br/>`description`                                                 | Descrição (ptbr)<br/>`translation`                                              |
|--------------------------|----------------------|----------------------------------------------|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                  | schema error description                                                          | Schema Inválido                                                                 |
| 404                      | TED000009            | Not Found                                    | Account not found for the given key: \{account_key\}                              | Conta não encontrada para a chave fornecida: \{account_key\}                    |
| 403                      | TED000018            | Unauthorized                                 | Provided account not owned by SELECTED_AGENT                                      | Conta fornecida não pertencente ao SELECTED_AGENT                               |
| 400                      | TED000082            | Number of token validation attempts exceeded | The maximum number of failed token validation attempts has been reached           | Número máximo de tentativas de validação de token atingida                      |
| 400                      | TED000083            | Token Expired                                | Token has expired. Resend token or recreate transfer                              | Token expirado. Reenvie token ou recrie a transferência                         |
| 400                      | TED000084            | Incorrect Token                              | Token sent does not match expected                                                | Token enviado não condiz com, o esperado                                        |
| 400                      | TED000085            | Error Validating Token                       | An error occurred while validating token and it is being investigated             | Um erro ocorreu ao validar token e está sendo investigado                       |
| 400                      | TED000086            | Invalid Status                               | Ted not in pending_2fa_approval status                                            | Ted não está pendente de aprovação por autenticação de dois fatores             |
| 404                      | TED000093            | TedSchedule not Found                        | TedSchedule was not found                                                         | TedSchedule não encontrada                                                      |
| 400                      | TED000096            | Bad Request                                  | Action cannot be taken place as there is currently a pending transfer in progress | A ação não pôde ser completada como há uma transferência pendente               |
| 400                      | TED000099            | Invalid Status                               | Ted Schedule not in pending_2fa_approval status                                   | Agendamento Ted não está pendente de aprovação por autenticação de dois fatores |
| 400                      | TED000100            | Invalid Schedule Date                        | Schedule must be approved before the scheduled date                               | Agendamento deve ser aprovado em data anterior à programada para transação      |

| 400                      | TED000110            | Token Required                               | A token is required for SMS or email validation.                                                         | Um token é necessário para validação via SMS ou email.                                                     |

---

# Introdução a Autenticação de Dois Fatores

URL: /documentation/baas/ted/schedule_2fa/introducao_a_agendamento_2fa

Neste tipo de agendamento, é necessário a confirmação da programação de pagamento via token enviado à pessoa com poderes
de aprovação de movimentação na conta credora.

A solicitação de agendamento Ted por parceiros integradores configurados para a utilização de autenticação de dois
fatores é realizada de forma similar ao descrito
em [solicitar agendamento de_transação_ted](/documentation/baas/ted/schedule/solicitacao_de_agendamento). A diferença
ocorre na adição do objeto `tfa_info`, contento informações sobre o aprovador da transferência e a forma de contato, e o
status de uma solicitação bem sucedida que será sempre **pending_2fa_approval**.

O mesmo vale para agendamentos em lote Ted descrito em [solicitar agendamento de_transação_ted em lote](/documentation/baas/ted/schedule_batch/solicitacao_de_agendamento_em_lote).

## Fluxo para um agendamento Ted com autorização

O agendamento Ted bem sucedido seguirá o seguinte fluxo de processos:
Realização da [solicitação de transação Ted](/documentation/baas/ted/schedule/solicitacao_de_agendamento_2fa) e recebimento de resposta de forma síncrona com status de **pending_2fa_approval** e valor da `schedule_key`.
O aprovador indicado receberá um `token` de 6 dígitos compostos por algarismos.
O requisitante realiza a [confirmação de transação ted](/documentation/baas/ted/schedule/aprovacao_de_agendamento_2fa) com a `schedule_key` e o `token`.
O agendamento será então atualizado para o status de **scheduled**.
## Observações
Cada agendamento possui um limite máximo de tentativas de validação do `token` de 5. Quando este limite é alcançado o agendamento será colocado em status de rejeitado (**rejected**) automaticamente.
Cada `token` possui duração máxima de 5 minutos.
Um agendamento pode ter seu `token` renovado e reenviado para o aprovador da transferência. Este processo reinica o tempo de 5 minutos e não reinicia o contador de tentativas inválidas. O `token` anterior torna-se inválido.
O evento de notificação para o envio de `token` ao aprovador é **baas.token_validation.ted.schedule.single**. É possível [personalizar](/documentation/notificacoes/template) a mensagem enviada.
As formas de envio (`contact_type`) de token implementadas são por **sms** e **email**.

---

# Solicitar Agendamento de Transação Ted com Autenticação de Dois Fatores

URL: /documentation/baas/ted/schedule_2fa/solicitacao_de_agendamento_2fa

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule
MÉTODO POST

## Autenticação via Email e SMS

Request Body: Agendamento com TFA por SMS ou Email

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "target_account": {
    "account_branch": "0001",
    "account_number": "92796",
    "account_digit": "1",
    "owner_document_number": "23599885000192",
    "owner_name": "Titular da Conta",
    "ispb": "12345678",
    "account_type": "checking_account"
  },
  "transaction_amount": 8.86,
  "schedule_date": "2024-12-01",
  "tfa_info": {
    "approver_document_number": "98765432100",
    "contact_type": "email"
  }
}
```

## Autenticação via Dispositivo

Além das formas já existentes de autenticação via **sms** e **email**, é possível autenticar a transação utilizando um dispositivo [previamente cadastrado](/documentation/baas/dispositivo/create/solicitacao_cadastro_dispositivo). Nesse caso, o `session_id` deve ser obtido na **Device Scan** e enviado no `tfa_info`.

Request Body: Agendamento com TFA por Dispositivo

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "target_account": {
    "account_branch": "0001",
    "account_number": "92796",
    "account_digit": "1",
    "owner_document_number": "23599885000192",
    "owner_name": "Titular da Conta",
    "ispb": "12345678",
    "account_type": "checking_account"
  },
  "transaction_amount": 8.86,
  "schedule_date": "2024-12-01",
  "tfa_info": {
    "approver_document_number": "98765432100",
    "session_id": "b2f18d3a-67c2-4a7f-98e5-1d3f5c6b8a72",
    "contact_type": "device"
  }
}
```

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |
| `schedule_date`*        | string | Data a ser realizada a transação.                                                  | 10                                                  |
| `tfa_info`*             | Object | Objeto contendo o documento da pessoa aprovadora da conta e a forma de contato.    | **[Objeto tfa_info](#objeto-tfa_info)**             |

## Objeto tfa_info

| Campo                       | Tipo   | Descrição                                                                                                                        | Caracteres |
|-----------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------|------------|
| `approver_document_number`* | string | Número de documento da pessoa aprovadora da conta.                                                                               | 11         |
| `session_id`                | string | Chave única de identificação da sessão do dispositivo no formato UUID v4 (obrigatório para TFA via dispositivo).                 | 36         |
| `contact_type`*             | string | Forma de contato com a pessoa aprovadora da conta, podendo ser **sms**, **email** ou **device**                                  |            |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                       |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                       |
| `account_number` *        | string | Número da conta.                                    | 20                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 202

Response Body: Agendamento Criado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_key": "f64b3fa7-d09d-4927-ad4f-b966df9fb153",
  "schedule_status": "pending_2fa_approval",
  "schedule_date": "2024-12-31"
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                                  | Descrição (eng)<br/>`description`                                                          | Descrição (ptbr)<br/>`translation`                                                 |
|--------------------------|----------------------|-----------------------------------------------------|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                         | schema error description                                                                   | Schema Inválido                                                                    |
| 404                      | TED000006            | Target account Not Found                            | Target account was not found for given parameters                                          | Conta destino não encontrada para os parâmetros informados                         |
| 404                      | TED000009            | Not Found                                           | Account not found for the given key: \{account_key\}                                       | Conta não encontrada para a chave fornecida: \{account_key\}                       |
| 403                      | TED000014            | Invalid target account                              | Invalid target account                                                                     | Conta destino inválida                                                             |
| 400                      | TED000015            | Bad Request                                         | Account blocked or closed can not perform this action                                      | A conta bloqueada ou fechada não pode executar esta ação                           |
| 400                      | TED000016            | Bad Request                                         | Hub account can not perform this action                                                    | A conta hub não pode executar esta ação                                            |
| 403                      | TED000018            | Unauthorized                                        | Provided account not owned by SELECTED_AGENT                                               | Conta fornecida não pertencente ao SELECTED_AGENT                                  |
| 400                      | TED000031            | Bad Request                                         | ISPB number \{ispb\} does not exist or is inactive                                         | ISPB \{ispb\} não existe ou está inativo                                           |
| 400                      | TED000044            | Invalid Timestamp Format sent                       | Given parameter is not in the correct format \{timestamp_format\}                          | Parametro enviado não está no formato correto \{timestamp_format\}                 |
| 400                      | TED000046            | Invalid uuid v4 string sent                         | \{key\} was not accepted for not being a valid uuid v4 string                              | \{key\} não foi aceito por não ser uma palavra uuid v4 válida                      |
| 400                      | TED000054            | Invalid Transaction Amount                          | Transaction Amount \{transaction_amount\} is invalid                                       | Valor de transação \{transaction_amount\} é inválido                               |
| 400                      | TED000057            | Invalid Document Number                             | Given \{document_number\} document number is invalid                                       | CPF/CNPJ \{document_number\} fornecido não é valido                                |
| 409                      | TED000064            | Bad Request                                         | request_control_key \{request_control_key\} already in use                                 | request_control_key \{request_control_key\} já utilizada                           |
| 400                      | TED000065            | Bad Request                                         | It has been identified by request_control_key that this request is already being processed | Foi identificado por request_control_key que está requisição está sendo processada |
| 403                      | TED000079            | No approver permission                              | Given document number does not belong to an approver for this account                      | Número de documento enviado não pertence a um aprovador da conta                   |
| 400                      | TED000080            | tfa_info is required                                | Client must send object tfa_info                                                           | Cliente deve enviar objeto tfa_info                                                |
| 400                      | TED000081            | Error occurred while sending token                  | An unexpected error occurred while sending token                                           | Um erro inexperado ocorreu ao tentar enviar token                                  |
| 400                      | TED000089            | Invalid Schedule Date                               | Schedule date must be after current date for UTC-3                                         | Data de agendamento deve ser após a data atual em UTC-3                            |
| 400                      | TED000090            | Invalid Schedule Date                               | Schedule date must be a workday                                                            | Data de agendamento deve ser um dia útil                                           |
| 400                      | TED000091            | Target Account and Source Account must be different | Target Account must not be the same as Source Account                                      | A conta de destino não pode ser a mesma da conta de origem                         |

---

# Solicitar reenvio de token para um agendamento

URL: /documentation/baas/ted/schedule_2fa/solicitacao_de_reenvio_de_token_para_agendamento_2fa

Um novo token será gerado e enviado para o aprovador do agendamento ted. Caso o número limite de tentativas de validação
do token tenha sido excedida, não será permitido o reenvio.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule/ SCHEDULE_KEY /resend_token
MÉTODO PATCH

### Path Params

| Campo          | Tipo   | Descrição                                    | Caracteres |
|----------------|--------|----------------------------------------------|------------|
| `account_key`  | uuidv4 | Chave única de identificação da conta.       | 36         |
| `schedule_key` | uuidv4 | Chave única de identificação do agendamento. | 36         |

## Body Params

| Campo          | Tipo       | Descrição                               | Caracteres                                              |
|----------------|------------|-----------------------------------------|---------------------------------------------------------|
| `contact_type` | enumerator | Forma de envio do token de autenticação | **[Enumerador contact_type](#enumerador-contact_type)** |

:::info Informação
Caso não seja enviado um `contact_type`, o token será enviado da forma solicitada originalmente.
:::

### Enumerador contact_type

| Enumerador | Descrição                                         |
|------------|---------------------------------------------------|
| **sms**    | Envio por Mensagem de Texto para telefone celular |
| **email**  | Envio por correio eletrônico                      |

## Response

STATUS 202

Response Body: Transação Solicitada

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_key": "f64b3fa7-d09d-4927-ad4f-b966df9fb153",
  "schedule_status": "pending_2fa_approval",
  "schedule_date": "2024-12-31"
}
```

STATUS 4xx

Response Body: Transferência Rejeitada

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                           | Descrição (eng)<br/>`description`                                                 | Descrição (ptbr)<br/>`translation`                                              |
|--------------------------|----------------------|----------------------------------------------|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                  | schema error description                                                          | Schema Inválido                                                                 |
| 404                      | TED000009            | Not Found                                    | Account not found for the given key: \{account_key\}                              | Conta não encontrada para a chave fornecida: \{account_key\}                    |
| 403                      | TED000018            | Unauthorized                                 | Provided account not owned by SELECTED_AGENT                                      | Conta fornecida não pertencente ao SELECTED_AGENT                               |
| 400                      | TED000082            | Number of token validation attempts exceeded | The maximum number of failed token validation attempts has been reached           | Número máximo de tentativas de validação de token atingida                      |
| 400                      | TED000086            | Invalid Status                               | Ted not in pending_2fa_approval status                                            | Ted não está pendente de aprovação por autenticação de dois fatores             |
| 400                      | TED000087            | Error Sending Token                          | An error occurred while resending token and its being investigated                | Um erro ocorreu ao reenviar token e está sendo investigado                      |
| 404                      | TED000093            | TedSchedule not Found                        | TedSchedule was not found                                                         | TedSchedule não encontrada                                                      |
| 400                      | TED000096            | Bad Request                                  | Action cannot be taken place as there is currently a pending transfer in progress | A ação não pôde ser completada como há uma transferência pendente               |
| 400                      | TED000099            | Invalid Status                               | Ted Schedule not in pending_2fa_approval status                                   | Agendamento Ted não está pendente de aprovação por autenticação de dois fatores |
| 400                      | TED000100            | Invalid Schedule Date                        | Schedule must be approved before the scheduled date                               | Agendamento deve ser aprovado em data anterior à programada para transação      |

---

# Aprovar Agendamento de Transação Ted em Lote com Autenticação de Dois Fatores

URL: /documentation/baas/ted/schedule_batch_2fa/aprovacao_de_agendamento_em_lote_2fa

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule_batch/ SCHEDULE_BATCH_KEY /validate_token
MÉTODO PUT

### Path Params

| Campo                | Tipo   | Descrição                                            | Caracteres |
|----------------------|--------|------------------------------------------------------|------------|
| `account_key`        | uuidv4 | Chave única de identificação da conta.               | 36         |
| `schedule_batch_key` | uuidv4 | Chave única de identificação do agendamento em lote. | 36         |

## Autenticação via Email e SMS

Request Body

```json
{
  "token": "329123"
}
```

## Autenticação via Dispositivo

Para aprovar e finalizar a autenticação via dispositivo, a requisição deve ser enviada com um payload vazio. A validação ocorre internamente, sem necessidade de informações adicionais no corpo da requisição. É importante destacar que este endpoint só deve ser utilizado após a [solicitação de agendamento em lote](./solicitacao_de_agendamento_em_lote_2fa.md) ter sido iniciada.

Request Body

```json
{

}
```

## Body Params

| Campo   | Tipo   | Descrição                                                                                                                              | Caracteres |
|---------|--------|----------------------------------------------------------------------------------------------------------------------------------------|------------|
| `token` | string | Código de autenticação enviado ao aprovador de movimentações da conta **obrigatório para TFA via SMS ou e-mail**                       | 6          |

## Response

STATUS 201

Response Body: Agendamento en Lote Aprovado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_batch_key": "f64b3fa7-d09d-4927-ad4f-b966df9fb153",
  "schedule_batch_status": "approved",
  "created_at": "2023-03-13T19:00:28.440Z"
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                           | Descrição (eng)<br/>`description`                                                                                    | Descrição (ptbr)<br/>`translation`                                                                                   |
|--------------------------|----------------------|----------------------------------------------|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                  | schema error description                                                                                             | Schema Inválido                                                                                                      |
| 404                      | TED000009            | Not Found                                    | Account not found for the given key: \{account_key\}                                                                 | Conta não encontrada para a chave fornecida: \{account_key\}                                                         |
| 403                      | TED000018            | Unauthorized                                 | Provided account not owned by SELECTED_AGENT                                                                         | Conta fornecida não pertencente ao SELECTED_AGENT                                                                    |
| 400                      | TED000082            | Number of token validation attempts exceeded | The maximum number of failed token validation attempts has been reached                                              | Número máximo de tentativas de validação de token atingida                                                           |
| 400                      | TED000083            | Token Expired                                | Token has expired. Resend token or recreate transfer                                                                 | Token expirado. Reenvie token ou recrie a transferência                                                              |
| 400                      | TED000084            | Incorrect Token                              | Token sent does not match expected                                                                                   | Token enviado não condiz com, o esperado                                                                             |
| 400                      | TED000085            | Error Validating Token                       | An error occurred while validating token and it is being investigated                                                | Um erro ocorreu ao validar token e está sendo investigado                                                            |
| 400                      | TED000102            | Invalid Status                               | Ted Batch not in pending_2fa_approval status                                                                         | Lote de Ted não está pendente de aprovação por autenticação de dois fatores                                          |
| 404                      | TED000103            | ScheduleBatch not Found                      | Ted Schedule Batch was not found                                                                                     | Agendamento de Ted em lote não encontrado                                                                            |
| 400                      | TED000106            | Invalid Status                               | ScheduleBatch not in pending_2fa_approval status                                                                     | Lote Agendamentos de Ted não está pendente de aprovação por autenticação de dois fatores                             |
| 400                      | TED000107            | Schedule Batch could not be approved         | ScheduleBatch could not be approved due to current date being equal or after earliest schedule date. Rejecting batch | ScheduleBatch não pode ser aprovada devido a data atual ser superior ou igual à menor schedule_date. Rejeitando lote |
| 400                      | TED000110            | Token Required                               | A token is required for SMS or email validation.                                                         | Um token é necessário para validação via SMS ou email.                                                     |

---

# Solicitar Agendamento de Transação Ted em Lote

URL: /documentation/baas/ted/schedule_batch_2fa/solicitacao_de_agendamento_em_lote_2fa

A QI Tech oferece a possibilidade de realizar várias transações agendadas ted com uma única chamada. Caso na chamada
inicial seja retornado um http status 4xx, nenhum dos agendamentos será realizado.

Neste tipo de agendamento, é necessário a confirmação da programação de pagamento via token enviado à pessoa com poderes
de aprovação de movimentação na conta credora.

A solicitação de agendamento Ted em lote por parceiros integradores configurados para a utilização de autenticação de
dois fatores é realizada de forma similar ao descrito
em [solicitar agendamento de_transação_ted_em_lote](/documentation/baas/ted/schedule/solicitacao_de_agendamento_em_lote).
A diferença ocorre na adição do objeto `tfa_info`, contento informações sobre o aprovador da transferência e a forma de
contato, e o status de uma solicitação bem sucedida que será sempre **pending_2fa_approval**.

O evento de notificação para o envio de `token` ao aprovador é **baas.token_validation.ted.schedule.batch**. É
possível [personalizar](/documentation/notificacoes/template) a mensagem enviada.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule_batch
MÉTODO POST

## Autenticação via Email e SMS

Request Body: Agendamento em Lote com TFA por SMS ou Email

```json
{
  "request_control_key": "6e4fc980-f8a1-4462-b6e2-d8a49f0ac055",
  "ted_schedules": [
    {
      "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92796",
        "account_digit": "1",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 8.86,
      "schedule_date": "2024-12-01"
    }
  ],
  "tfa_info": {
    "approver_document_number": "98765432100",
    "contact_type": "email"
  }
}
```

## Autenticação via Dispositivo

Além das formas já existentes de autenticação via **sms** e **email**, é possível autenticar a transação utilizando um dispositivo [previamente cadastrado](/documentation/baas/dispositivo/create/solicitacao_cadastro_dispositivo). Nesse caso, o `session_id` deve ser obtido na **Device Scan** e enviado no `tfa_info`.

Request Body: Agendamento em Lote com TFA por Dispositivo

```json
{
  "request_control_key": "6e4fc980-f8a1-4462-b6e2-d8a49f0ac055",
  "ted_schedules": [
    {
      "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92796",
        "account_digit": "1",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 8.86,
      "schedule_date": "2024-12-01"
    }
  ],
  "tfa_info": {
    "approver_document_number": "98765432100",
    "session_id": "b2f18d3a-67c2-4a7f-98e5-1d3f5c6b8a72",
    "contact_type": "device"
  }
}
```

## Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                               |
|-------------------------|--------|------------------------------------------------------------------------------------|----------------------------------------------------------|
| `request_control_key` * | uuidv4 | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                       | 
| `ted_schedules` *       | array  | Lista de objetos ted_schedule vinculados ao lote.                                  | lista de **[Objeto ted_schedule](#objeto-ted_schedule)** |
| `tfa_info`*             | Object | Objeto contendo o documento da pessoa aprovadora da conta e a forma de contato.    | **[Objeto tfa_info](#objeto-tfa_info)**                  |

## Objeto tfa_info

| Campo                       | Tipo   | Descrição                                                                                                                        | Caracteres |
|-----------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------|------------|
| `approver_document_number`* | string | Número de documento da pessoa aprovadora da conta.                                                                               | 11         |
| `session_id`                | string | Chave única de identificação da sessão do dispositivo no formato UUID v4 (obrigatório para TFA via dispositivo).                 | 36         |
| `contact_type`*             | string | Forma de contato com a pessoa aprovadora da conta, podendo ser **sms**, **email** ou **device**                                  |            |

## Objeto ted_schedule

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |
| `schedule_date`*        | string | Data a ser realizada a transação.                                                  | 10                                                  |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                       |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                       |
| `account_number` *        | string | Número da conta.                                    | 20                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 202

Response Body: Agendamento em lote Requisitado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "schedule_batch_status": "pending_2fa_approval",
  "created_at": "2021-10-22T20:30:23.459Z"
}
```

### Enumerador schedule_batch_status

| Enumerador               | Descrição                                                                  |
|--------------------------|----------------------------------------------------------------------------|
| **created**              | Agendamento em lote criado                                                 |
| **approved**             | Agendamento em lote aprovado                                               |
| **rejected**             | Agendamento em lote rejeitado                                              |
| **pending_2fa_approval** | Agendamento em lote pendente de aprovação por autenticação de dois fatores |

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                                  | Descrição (eng)<br/>`description`                                                          | Descrição (ptbr)<br/>`translation`                                                 |
|--------------------------|----------------------|-----------------------------------------------------|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                         | schema error description                                                                   | Schema Inválido                                                                    |
| 404                      | TED000006            | Target account Not Found                            | Target account was not found for given parameters                                          | Conta destino não encontrada para os parâmetros informados                         |
| 404                      | TED000009            | Not Found                                           | Account not found for the given key: \{account_key\}                                       | Conta não encontrada para a chave fornecida: \{account_key\}                       |
| 403                      | TED000014            | Invalid target account                              | Invalid target account                                                                     | Conta destino inválida                                                             |
| 400                      | TED000015            | Bad Request                                         | Account blocked or closed can not perform this action                                      | A conta bloqueada ou fechada não pode executar esta ação                           |
| 400                      | TED000016            | Bad Request                                         | Hub account can not perform this action                                                    | A conta hub não pode executar esta ação                                            |
| 403                      | TED000018            | Unauthorized                                        | Provided account not owned by SELECTED_AGENT                                               | Conta fornecida não pertencente ao SELECTED_AGENT                                  |
| 400                      | TED000031            | Bad Request                                         | ISPB number \{ispb\} does not exist or is inactive                                         | ISPB \{ispb\} não existe ou está inativo                                           |
| 400                      | TED000044            | Invalid Timestamp Format sent                       | Given parameter is not in the correct format \{timestamp_format\}                          | Parametro enviado não está no formato correto \{timestamp_format\}                 |
| 400                      | TED000045            | Search Params Error                                 | Invalid integer value for page or size querystring parameters                              | Valor inválido para parâmetros de página ou tamanho de página                      |
| 400                      | TED000046            | Invalid uuid v4 string sent                         | \{key\} was not accepted for not being a valid uuid v4 string                              | \{key\} não foi aceito por não ser uma palavra uuid v4 válida                      |
| 400                      | TED000054            | Invalid Transaction Amount                          | Transaction Amount \{transaction_amount\} is invalid                                       | Valor de transação \{transaction_amount\} é inválido                               |
| 400                      | TED000057            | Invalid Document Number                             | Given \{document_number\} document number is invalid                                       | CPF/CNPJ \{document_number\} fornecido não é valido                                |
| 409                      | TED000064            | Bad Request                                         | request_control_key \{request_control_key\} already in use                                 | request_control_key \{request_control_key\} já utilizada                           |
| 400                      | TED000065            | Bad Request                                         | It has been identified by request_control_key that this request is already being processed | Foi identificado por request_control_key que está requisição está sendo processada |
| 403                      | TED000079            | No approver permission                              | Given document number does not belong to an approver for this account                      | Número de documento enviado não pertence a um aprovador da conta                   |
| 400                      | TED000080            | tfa_info is required                                | Client must send object tfa_info                                                           | Cliente deve enviar objeto tfa_info                                                |
| 400                      | TED000081            | Error occurred while sending token                  | An unexpected error occurred while sending token                                           | Um erro inexperado ocorreu ao tentar enviar token                                  |
| 400                      | TED000089            | Invalid Schedule Date                               | Schedule date must be after current date for UTC-3                                         | Data de agendamento deve ser após a data atual em UTC-3                            |
| 400                      | TED000090            | Invalid Schedule Date                               | Schedule date must be a workday                                                            | Data de agendamento deve ser um dia útil                                           |
| 400                      | TED000091            | Target Account and Source Account must be different | Target Account must not be the same as Source Account                                      | A conta de destino não pode ser a mesma da conta de origem                         |

---

# Solicitar Reenvio de Token para um Agendamento de Transação Ted em Lote

URL: /documentation/baas/ted/schedule_batch_2fa/solicitacao_de_reenvio_de_token_para_agendamento_em_lote_2fa

Um novo token será gerado e enviado para o aprovador do agendamento ted. Caso o número limite de tentativas de validação
do token tenha sido excedida, não será permitido o reenvio.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule_batch/ SCHEDULE_BATCH_KEY /resend_token
MÉTODO PATCH

### Path Params

| Campo                | Tipo   | Descrição                                            | Caracteres |
|----------------------|--------|------------------------------------------------------|------------|
| `account_key`        | uuidv4 | Chave única de identificação da conta.               | 36         |
| `schedule_batch_key` | uuidv4 | Chave única de identificação do agendamento em lote. | 36         |

## Body Params

| Campo          | Tipo       | Descrição                               | Caracteres                                              |
|----------------|------------|-----------------------------------------|---------------------------------------------------------|
| `contact_type` | enumerator | Forma de envio do token de autenticação | **[Enumerador contact_type](#enumerador-contact_type)** |

:::info Informação
Caso não seja enviado um `contact_type`, o token será enviado da forma solicitada originalmente.
:::

### Enumerador contact_type

| Enumerador | Descrição                                         |
|------------|---------------------------------------------------|
| **sms**    | Envio por Mensagem de Texto para telefone celular |
| **email**  | Envio por correio eletrônico                      |

## Response

STATUS 202

Response Body: Agendamento em lote Solicitado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "schedule_batch_status": "pending_2fa_approval",
  "created_at": "2021-10-22T20:30:23.459Z"
} 
```

STATUS 4xx

Response Body: Transferência Rejeitada

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                   | Descrição (eng)<br/>`description`                                                                                    | Descrição (ptbr)<br/>`translation`                                                                                   |
|--------------------------|----------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                          | schema error description                                                                                             | Schema Inválido                                                                                                      |
| 404                      | TED000009            | Not Found                            | Account not found for the given key: \{account_key\}                                                                 | Conta não encontrada para a chave fornecida: \{account_key\}                                                         |
| 403                      | TED000018            | Unauthorized                         | Provided account not owned by SELECTED_AGENT                                                                         | Conta fornecida não pertencente ao SELECTED_AGENT                                                                    |
| 400                      | TED000087            | Error Sending Token                  | An error occurred while resending token and its being investigated                                                   | Um erro ocorreu ao reenviar token e está sendo investigado                                                           |
| 404                      | TED000103            | ScheduleBatch not Found              | Ted Schedule Batch was not found                                                                                     | Agendamento de Ted em lote não encontrado                                                                            |
| 400                      | TED000106            | Invalid Status                       | ScheduleBatch not in pending_2fa_approval status                                                                     | Lote Agendamentos de Ted não está pendente de aprovação por autenticação de dois fatores                             |
| 400                      | TED000107            | Schedule Batch could not be approved | ScheduleBatch could not be approved due to current date being equal or after earliest schedule date. Rejecting batch | ScheduleBatch não pode ser aprovada devido a data atual ser superior ou igual à menor schedule_date. Rejeitando lote |

---

# Cancelar Agendamento de Transação Ted em Lote

URL: /documentation/baas/ted/schedule_batch/cancelamento_de_agendamento_em_lote

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule_batch/ SCHEDULE_BATCH_KEY /cancel
MÉTODO PATCH

### Path Params

| Campo                | Tipo   | Descrição                                           | Caracteres |
|----------------------|--------|-----------------------------------------------------|------------|
| `account_key`        | uuidv4 | Chave única de identificação da conta.              | 36         |
| `schedule_batch_key` | uuidv4 | Chave única de identificação do lote de agendamento | 36         |

### Response

STATUS 200

Response Body: Agendamento Cancelado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_batch_key": "f64b3fa7-d09d-4927-ad4f-b966df9fb153",
  "schedule_batch_status": "cancelled",
  "created_at": "2023-03-13T19:00:28.440Z"
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                    | Descrição (eng)<br/>`description`                                                                                                 | Descrição (ptbr)<br/>`translation`                                                                                                         |
|--------------------------|----------------------|---------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                           | schema error description                                                                                                          | Schema Inválido                                                                                                                            |
| 404                      | TED000009            | Not Found                             | Account not found for the given key: \{account_key\}                                                                              | Conta não encontrada para a chave fornecida: \{account_key\}                                                                               |
| 403                      | TED000018            | Unauthorized                          | Provided account not owned by SELECTED_AGENT                                                                                      | Conta fornecida não pertencente ao SELECTED_AGENT                                                                                          |
| 400                      | TED000096            | Bad Request                           | Action cannot be taken place as there is currently a pending transfer in progress                                                 | A ação não pôde ser completada como há uma transferência pendente                                                                          |
| 404                      | TED000101            | TedBatch not Found                    | TedBatch was not found                                                                                                            | TedBatch não encontrada                                                                                                                    |
| 404                      | TED000103            | ScheduleBatch not Found               | Ted Schedule Batch was not found                                                                                                  | Agendamento de Ted em lote não encontrado                                                                                                  |
| 400                      | TED000104            | Invalid Status                        | Schedule Batch cannot be cancelled in current status                                                                              | Lote de agendamento não pode ser cancelado no status atual                                                                                 |
| 400                      | TED000105            | Schedule Batch could not be cancelled | ScheduleBatch could not be cancelled due to current date being equal or after earliest schedule date. Cancel schedules one by one | ScheduleBatch não pode ser cancelada devido a data atual ser superior ou igual à menor schedule_date. Cancele agendamentos individualmente |

---

# Listar Agendamentos de um Lote de Agendamento

URL: /documentation/baas/ted/schedule_batch/listar_agendamentos_de_um_lote

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule_batch/ SCHEDULE_BATCH_KEY /ted_schedules
MÉTODO GET

### Path Params

| Campo                | Tipo   | Descrição                                             | Caracteres |
|----------------------|--------|-------------------------------------------------------|------------|
| `account_key`        | uuidv4 | Chave única de identificação da conta.                | 36         |
| `schedule_batch_key` | uuidv4 | Chave única de identificação do lote de agendamentos. | 36         |

### Query Params

| Campo                 | Tipo    | Descrição                                                               | Caracteres                                                    |
|-----------------------|---------|-------------------------------------------------------------------------|---------------------------------------------------------------|
| `request_control_key` | uuidv4  | Chave única de identificação da request utilizada pelo cliente.         | 36                                                            |
| `schedule_status`     | string  | Status do agendamento. Pode ser enviado em forma de lista.              | **[Enumerador schedule_status](#enumerador-schedule_status)** |
| `start_date`          | string  | Data de início da consulta                                              | 10                                                            |
| `end_date`            | string  | Data de término da consulta                                             | 10                                                            |
| `page`                | integer | Número da página requisitada. 1 por padrão                              |                                                               |
| `page_size`           | integer | Tamanho da página requisitada na consulta. 30 por padrão e valor máximo | Valor máximo de 30                                            |

### Enumerador schedule_status

| Enumerador                 | Descrição                                                                                      |
|----------------------------|------------------------------------------------------------------------------------------------|
| **scheduled**              | Transação agendada                                                                             |
| **sent**                   | Agendamento concluído e enviado com sucesso. Estado final                                      |
| **rejected**               | Agendamento rejeitado durante criação ou execução. Estado final                                |
| **cancelled**              | Agendamento cancelado por solicitação de cliente. Estado final                                 |
| **pending_2fa_approval**   | Pendente de aprovação por autenticação de dois fatores                                         |
| **pending_creation**       | Agendamento em processo de criação (Estado transitório para agendamento em lote)               |
| **waiting_batch_approval** | Agendamento criado e vinculado a um lote aguardando aprovação por autenticação de dois fatores |

### Response

STATUS 200

Response Body

```json
{
  "data": [
    {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "schedule_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "schedule_status": "scheduled",
      "schedule_date": "2024-12-31",
      "created_at": "2023-03-13T19:00:28.440Z"
    },
    {
      "request_control_key": "bf6b0a4b-c7a5-446b-9dad-1ae10b25342a",
      "schedule_key": "2479a5cd-079e-4d72-bf4e-16a695bda45e",
      "schedule_status": "cancelled",
      "schedule_date": "2024-12-31",
      "created_at": "2023-03-13T19:00:28.440Z"
    },
    {
      "request_control_key": "9d36c03e-2db7-4c90-87ed-6c9ddb3c03c7",
      "schedule_key": "5d6b14b9-053f-408c-bcd7-61ecf9224f2c",
      "schedule_status": "rejected",
      "schedule_date": "2024-12-31",
      "created_at": "2023-03-13T19:00:28.440Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": null,
    "rows_per_page": 30
  }
}

```

---

# Listar Lotes de Agendamento de uma conta

URL: /documentation/baas/ted/schedule_batch/listar_agendamentos_em_lote_de_uma_conta

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule_batches
MÉTODO GET

### Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

### Query Params

| Campo                   | Tipo    | Descrição                                                               | Caracteres                                                                |
|-------------------------|---------|-------------------------------------------------------------------------|---------------------------------------------------------------------------|
| `request_control_key`   | uuidv4  | Chave única de identificação da request utilizada pelo cliente.         | 36                                                                        |
| `schedule_batch_status` | string  | Status do lote de agendamento. Pode ser enviado em forma de lista.      | **[Enumerador schedule_batch_status](#enumerador-schedule_batch_status)** |
| `page`                  | integer | Número da página requisitada. 1 por padrão                              |                                                                           |
| `page_size`             | integer | Tamanho da página requisitada na consulta. 30 por padrão e valor máximo | Valor máximo de 30                                                        |

### Enumerador schedule_batch_status

| Enumerador               | Descrição                                                                  |
|--------------------------|----------------------------------------------------------------------------|
| **created**              | Agendamento em lote criado                                                 |
| **approved**             | Agendamento em lote aprovado                                               |
| **rejected**             | Agendamento em lote rejeitado                                              |
| **pending_2fa_approval** | Agendamento em lote pendente de aprovação por autenticação de dois fatores |

### Response

STATUS 200

Response Body

```json
{
  "data": [
    {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "schedule_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "schedule_batch_status": "approved",
      "created_at": "2021-10-22T20:30:23.459Z"
    },
    {
      "request_control_key": "bf6b0a4b-c7a5-446b-9dad-1ae10b25342a",
      "schedule_batch_key": "2479a5cd-079e-4d72-bf4e-16a695bda45e",
      "schedule_batch_status": "cancelled",
      "created_at": "2021-10-22T20:30:23.459Z"
    },
    {
      "request_control_key": "9d36c03e-2db7-4c90-87ed-6c9ddb3c03c7",
      "schedule_batch_key": "5d6b14b9-053f-408c-bcd7-61ecf9224f2c",
      "schedule_batch_status": "rejected",
      "created_at": "2021-10-22T20:30:23.459Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": null,
    "rows_per_page": 30
  }
}

```

---

# Solicitar Agendamento de Transação Ted em Lote

URL: /documentation/baas/ted/schedule_batch/solicitacao_de_agendamento_em_lote

A QI Tech oferece a possibilidade de realizar várias transações agendadas ted com uma única chamada. Caso na chamada
inicial seja retornado um **http status 4xx**, nenhum dos agendamentos será realizado.

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule_batch
MÉTODO POST

```json
{
  "request_control_key": "6e4fc980-f8a1-4462-b6e2-d8a49f0ac055",
  "ted_schedules": [
    {
      "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
      "target_account": {
        "account_branch": "0001",
        "account_number": "92796",
        "account_digit": "1",
        "owner_document_number": "23599885000192",
        "owner_name": "Titular da Conta",
        "ispb": "12345678",
        "account_type": "checking_account"
      },
      "transaction_amount": 8.86,
      "schedule_date": "2024-12-01"
    }
  ]
}
```

## Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                               |
|-------------------------|--------|------------------------------------------------------------------------------------|----------------------------------------------------------|
| `request_control_key` * | uuidv4 | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                       | 
| `ted_schedules` *       | array  | Lista de objetos ted_schedule vinculados ao lote.                                  | lista de **[Objeto ted_schedule](#objeto-ted_schedule)** |

## Objeto ted_schedule

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |
| `schedule_date`*        | string | Data a ser realizada a transação.                                                  | 10                                                  |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                       |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                       |
| `account_number` *        | string | Número da conta.                                    | 20                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 201

Response Body: Agendamento em lote Aprovado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_batch_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
  "schedule_batch_status": "approved",
  "created_at": "2021-10-22T20:30:23.459Z"
}
```

### Enumerador schedule_batch_status

| Enumerador               | Descrição                                                                  |
|--------------------------|----------------------------------------------------------------------------|
| **created**              | Agendamento em lote criado                                                 |
| **approved**             | Agendamento em lote aprovado                                               |
| **rejected**             | Agendamento em lote rejeitado                                              |
| **pending_2fa_approval** | Agendamento em lote pendente de aprovação por autenticação de dois fatores |

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                                  | Descrição (eng)<br/>`description`                                                          | Descrição (ptbr)<br/>`translation`                                                 |
|--------------------------|----------------------|-----------------------------------------------------|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                         | schema error description                                                                   | Schema Inválido                                                                    |
| 404                      | TED000006            | Target account Not Found                            | Target account was not found for given parameters                                          | Conta destino não encontrada para os parâmetros informados                         |
| 404                      | TED000009            | Not Found                                           | Account not found for the given key: \{account_key\}                                       | Conta não encontrada para a chave fornecida: \{account_key\}                       |
| 403                      | TED000014            | Invalid target account                              | Invalid target account                                                                     | Conta destino inválida                                                             |
| 400                      | TED000015            | Bad Request                                         | Account blocked or closed can not perform this action                                      | A conta bloqueada ou fechada não pode executar esta ação                           |
| 400                      | TED000016            | Bad Request                                         | Hub account can not perform this action                                                    | A conta hub não pode executar esta ação                                            |
| 403                      | TED000018            | Unauthorized                                        | Provided account not owned by SELECTED_AGENT                                               | Conta fornecida não pertencente ao SELECTED_AGENT                                  |
| 400                      | TED000031            | Bad Request                                         | ISPB number \{ispb\} does not exist or is inactive                                         | ISPB \{ispb\} não existe ou está inativo                                           |
| 400                      | TED000044            | Invalid Timestamp Format sent                       | Given parameter is not in the correct format \{timestamp_format\}                          | Parametro enviado não está no formato correto \{timestamp_format\}                 |
| 400                      | TED000045            | Search Params Error                                 | Invalid integer value for page or size querystring parameters                              | Valor inválido para parâmetros de página ou tamanho de página                      |
| 400                      | TED000046            | Invalid uuid v4 string sent                         | \{key\} was not accepted for not being a valid uuid v4 string                              | \{key\} não foi aceito por não ser uma palavra uuid v4 válida                      |
| 400                      | TED000054            | Invalid Transaction Amount                          | Transaction Amount \{transaction_amount\} is invalid                                       | Valor de transação \{transaction_amount\} é inválido                               |
| 400                      | TED000057            | Invalid Document Number                             | Given \{document_number\} document number is invalid                                       | CPF/CNPJ \{document_number\} fornecido não é valido                                |
| 409                      | TED000064            | Bad Request                                         | request_control_key \{request_control_key\} already in use                                 | request_control_key \{request_control_key\} já utilizada                           |
| 400                      | TED000065            | Bad Request                                         | It has been identified by request_control_key that this request is already being processed | Foi identificado por request_control_key que está requisição está sendo processada |
| 400                      | TED000089            | Invalid Schedule Date                               | Schedule date must be after current date for UTC-3                                         | Data de agendamento deve ser após a data atual em UTC-3                            |
| 400                      | TED000090            | Invalid Schedule Date                               | Schedule date must be a workday                                                            | Data de agendamento deve ser um dia útil                                           |
| 400                      | TED000091            | Target Account and Source Account must be different | Target Account must not be the same as Source Account                                      | A conta de destino não pode ser a mesma da conta de origem                         |

---

# Cancelar Agendamento de Transação Ted

URL: /documentation/baas/ted/schedule/cancelamento_de_agendamento

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule/ SCHEDULE_KEY /cancel
MÉTODO PATCH

### Path Params

| Campo          | Tipo   | Descrição                                   | Caracteres |
|----------------|--------|---------------------------------------------|------------|
| `account_key`  | uuidv4 | Chave única de identificação da conta.      | 36         |
| `schedule_key` | uuidv4 | Chave única de identificação do agendamento | 36         |

### Response

STATUS 200

Response Body: Agendamento Cancelado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_key": "f64b3fa7-d09d-4927-ad4f-b966df9fb153",
  "schedule_status": "cancelled",
  "schedule_date": "2024-12-31"
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                   | Descrição (eng)<br/>`description`                                                 | Descrição (ptbr)<br/>`translation`                                                          |
|--------------------------|----------------------|--------------------------------------|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                          | schema error description                                                          | Schema Inválido                                                                             |
| 404                      | TED000009            | Not Found                            | Account not found for the given key: \{account_key\}                              | Conta não encontrada para a chave fornecida: \{account_key\}                                |
| 403                      | TED000018            | Unauthorized                         | Provided account not owned by SELECTED_AGENT                                      | Conta fornecida não pertencente ao SELECTED_AGENT                                           |
| 400                      | TED000044            | Invalid Timestamp Format sent        | Given parameter is not in the correct format \{timestamp_format\}                 | Parametro enviado não está no formato correto \{timestamp_format\}                          |
| 400                      | TED000045            | Search Params Error                  | Invalid integer value for page or size querystring parameters                     | Valor inválido para parâmetros de página ou tamanho de página                               |
| 400                      | TED000046            | Invalid uuid v4 string sent          | \{key\} was not accepted for not being a valid uuid v4 string                     | \{key\} não foi aceito por não ser uma palavra uuid v4 válida                               |
| 404                      | TED000093            | TedSchedule not Found                | TedSchedule was not found                                                         | TedSchedule não encontrada                                                                  |
| 400                      | TED000094            | Bad Request                          | Ted Schedule cannot be cancelled in current status                                | Agendamento Ted não pode ser cancelado no status atual                                      |
| 400                      | TED000095            | Bad Request                          | The given Ted Schedule is tied to a batch. It cannot be individually cancelled    | O agendamento Ted enviado está ligado a um lote. Ela não pode ser individualmente cancelada |
| 400                      | TED000096            | Bad Request                          | Action cannot be taken place as there is currently a pending transfer in progress | A ação não pôde ser completada como há uma transferência pendente                           |
| 400                      | TED000108            | Number of transfer attempts exceeded | The maximum number of failed transfer attempts has been reached                   | Número máximo de tentativas de transferência foi atingida                                   |

---

# Consultar Agendamento de Transação Ted

URL: /documentation/baas/ted/schedule/consulta_de_agendamento

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule/ SCHEDULE_KEY
MÉTODO GET

### Path Params

| Campo          | Tipo   | Descrição                                   | Caracteres |
|----------------|--------|---------------------------------------------|------------|
| `account_key`  | uuidv4 | Chave única de identificação da conta.      | 36         |
| `schedule_key` | uuidv4 | Chave única de identificação do agendamento | 36         |

### Response

STATUS 200

Response Body

```json
{
  "request_control_key": "b8eb663e-10fe-4729-9db5-8f8c93de5001",
  "schedule_key": "0c9091ab-079b-4a43-8b3d-d4ba36a23883",
  "schedule_batch_key": null,
  "schedule_status": "sent",
  "target_account": {
    "account_branch": "0001",
    "account_digit": "8",
    "account_number": "1234567",
    "owner_document_number": "***91111***",
    "owner_person_type": "natural",
    "owner_name": "Conta manual geral",
    "account_type": "checking_account",
    "ispb": "99999004"
  },
  "transaction_amount": 2.0,
  "rejection_info": null,
  "schedule_date": "2024-07-10",
  "updated_at": "2024-07-10T16:19:38Z",
  "created_at": "2024-06-10T11:17:28Z",
  "schedule_transfers": [
    {
      "request_control_key": "12723821-41d5-496b-b66c-fb7188f50fc1",
      "ted_key": "91028dfa-43a2-4665-adf2-0bd4571f6f0d",
      "created_at": "2024-07-10T16:19:38Z",
      "ted_status": "sent",
      "fee_amount": 2.00
    }
  ]
}
```

---

# Introdução

URL: /documentation/baas/ted/schedule/introducao

Por meio dos endpoints apresentados nesta sessão, o parceiro integrador pode solicitar o agendamento de transações do
tipo ted. Com esta funcionalidade será possível criar, listar e cancelar agendamentos de uma determinada conta.

## Observações

- A data de agendamento leva em consideração o horário de Brasília (BRT ou UTC/GMT -03:00)
- As transações serão tentadas a partir de 8h BRT
- As transações não podem ser agendadas para feriados ou fim de semana
- Transações que tenham falhado por falta de saldo serão retentadas em 1 hora com um limite de 3 tentativas
- Um webhook será enviado ao parceiro integrador informando o sucesso ou rejeição de um agendamento

## Ted Schedule Status

| Enumerador                 | Descrição                                                                                      |
|----------------------------|------------------------------------------------------------------------------------------------|
| **scheduled**              | Transação agendada                                                                             |
| **sent**                   | Agendamento concluído e enviado com sucesso. Estado final                                      |
| **rejected**               | Agendamento rejeitado durante criação ou execução. Estado final                                |
| **cancelled**              | Agendamento cancelado por solicitação de cliente. Estado final                                 |
| **pending_2fa_approval**   | Pendente de aprovação por autenticação de dois fatores                                         |
| **waiting_batch_approval** | Agendamento criado e vinculado a um lote aguardando aprovação por autenticação de dois fatores |

## Schedule Transfers

No dia do agendamento será tentada a transação ted. Neste momento é gerada uma **ted** e esta será adicionada à lista de
`schedule_transfers`. Serão tentadas um
máximo 3 transações ted.

---

# Listar Agendamentos de Transação Ted de uma conta

URL: /documentation/baas/ted/schedule/listar_agendamentos_de_uma_conta

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedules
MÉTODO GET

### Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

### Query Params

| Campo                 | Tipo    | Descrição                                                               | Caracteres                                                    |
|-----------------------|---------|-------------------------------------------------------------------------|---------------------------------------------------------------|
| `request_control_key` | uuidv4  | Chave única de identificação da request utilizada pelo cliente.         | 36                                                            |
| `schedule_status`     | string  | Status do agendamento. Pode ser enviado em forma de lista.              | **[Enumerador schedule_status](#enumerador-schedule_status)** |
| `page`                | integer | Número da página requisitada. 1 por padrão                              |                                                               |
| `page_size`           | integer | Tamanho da página requisitada na consulta. 30 por padrão e valor máximo | Valor máximo de 30                                            |

### Enumerador schedule_status

| Enumerador                 | Descrição                                                                                      |
|----------------------------|------------------------------------------------------------------------------------------------|
| **scheduled**              | Transação agendada                                                                             |
| **sent**                   | Agendamento concluído e enviado com sucesso. Estado final                                      |
| **rejected**               | Agendamento rejeitado durante criação ou execução. Estado final                                |
| **cancelled**              | Agendamento cancelado por solicitação de cliente. Estado final                                 |
| **pending_2fa_approval**   | Pendente de aprovação por autenticação de dois fatores                                         |
| **pending_creation**       | Agendamento em processo de criação (Estado transitório para agendamento em lote)               |
| **waiting_batch_approval** | Agendamento criado e vinculado a um lote aguardando aprovação por autenticação de dois fatores |

### Response

STATUS 200

Response Body

```json
{
  "data": [
    {
      "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
      "schedule_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
      "schedule_status": "scheduled",
      "schedule_date": "2024-12-31",
      "created_at": "2023-03-13T19:00:28.440Z"
    },
    {
      "request_control_key": "bf6b0a4b-c7a5-446b-9dad-1ae10b25342a",
      "schedule_key": "2479a5cd-079e-4d72-bf4e-16a695bda45e",
      "schedule_status": "cancelled",
      "schedule_date": "2024-12-31",
      "created_at": "2023-03-13T19:00:28.440Z"
    },
    {
      "request_control_key": "9d36c03e-2db7-4c90-87ed-6c9ddb3c03c7",
      "schedule_key": "5d6b14b9-053f-408c-bcd7-61ecf9224f2c",
      "schedule_status": "rejected",
      "schedule_date": "2024-12-31",
      "created_at": "2023-03-13T19:00:28.440Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "next_page": null,
    "rows_per_page": 30
  }
}

```

---

# Solicitar Agendamento de Transação Ted

URL: /documentation/baas/ted/schedule/solicitacao_de_agendamento

## Request

ENDPOINT /account/ ACCOUNT_KEY /ted_schedule
MÉTODO POST

Request Body

```json
{
  "request_control_key": "0c3d2a3e-c121-464e-b5a4-8e69e0c17bbd",
  "target_account": {
    "account_branch": "0001",
    "account_number": "92796",
    "account_digit": "1",
    "owner_document_number": "23599885000192",
    "owner_name": "Titular da Conta",
    "ispb": "12345678",
    "account_type": "checking_account"
  },
  "transaction_amount": 8.86,
  "schedule_date": "2024-12-01"
}
```

### Path Params

| Campo         | Tipo   | Descrição                              | Caracteres |
|---------------|--------|----------------------------------------|------------|
| `account_key` | uuidv4 | Chave única de identificação da conta. | 36         |

## Body Params

| Campo                   | Tipo   | Descrição                                                                          | Caracteres                                          |
|-------------------------|--------|------------------------------------------------------------------------------------|-----------------------------------------------------|
| `request_control_key` * | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                  |
| `target_account` *      | object | Conta de destino                                                                   | **[Objeto target_account](#objeto-target_account)** | 
| `transaction_amount` *  | float  | Valor da transferência                                                             | 10                                                  |
| `schedule_date`*        | string | Data a ser realizada a transação.                                                  | 10                                                  |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                       |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                       |
| `account_number` *        | string | Número da conta.                                    | 20                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

## Response

STATUS 201

Response Body: Agendamento Criado

```json
{
  "request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
  "schedule_key": "f64b3fa7-d09d-4927-ad4f-b966df9fb153",
  "schedule_status": "scheduled",
  "schedule_date": "2024-12-31"
}
```

STATUS 4xx

Response Body: Error

```json
{
  "title": "titulo",
  "description": "description in English",
  "translation": "descrição em portugues",
  "code": "codigo",
  "extra_fields": {}
}
```

| Código HTTP<br/>`status` | Código QI<br/>`code` | Título<br/>`title`                                  | Descrição (eng)<br/>`description`                                                          | Descrição (ptbr)<br/>`translation`                                                 |
|--------------------------|----------------------|-----------------------------------------------------|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| 400                      | QIT000001            | Bad Request                                         | schema error description                                                                   | Schema Inválido                                                                    |
| 404                      | TED000006            | Target account Not Found                            | Target account was not found for given parameters                                          | Conta destino não encontrada para os parâmetros informados                         |
| 404                      | TED000009            | Not Found                                           | Account not found for the given key: \{account_key\}                                       | Conta não encontrada para a chave fornecida: \{account_key\}                       |
| 403                      | TED000014            | Invalid target account                              | Invalid target account                                                                     | Conta destino inválida                                                             |
| 400                      | TED000015            | Bad Request                                         | Account blocked or closed can not perform this action                                      | A conta bloqueada ou fechada não pode executar esta ação                           |
| 400                      | TED000016            | Bad Request                                         | Hub account can not perform this action                                                    | A conta hub não pode executar esta ação                                            |
| 403                      | TED000018            | Unauthorized                                        | Provided account not owned by SELECTED_AGENT                                               | Conta fornecida não pertencente ao SELECTED_AGENT                                  |
| 400                      | TED000031            | Bad Request                                         | ISPB number \{ispb\} does not exist or is inactive                                         | ISPB \{ispb\} não existe ou está inativo                                           |
| 400                      | TED000044            | Invalid Timestamp Format sent                       | Given parameter is not in the correct format \{timestamp_format\}                          | Parametro enviado não está no formato correto \{timestamp_format\}                 |
| 400                      | TED000046            | Invalid uuid v4 string sent                         | \{key\} was not accepted for not being a valid uuid v4 string                              | \{key\} não foi aceito por não ser uma palavra uuid v4 válida                      |
| 400                      | TED000054            | Invalid Transaction Amount                          | Transaction Amount \{transaction_amount\} is invalid                                       | Valor de transação \{transaction_amount\} é inválido                               |
| 400                      | TED000057            | Invalid Document Number                             | Given \{document_number\} document number is invalid                                       | CPF/CNPJ \{document_number\} fornecido não é valido                                |
| 409                      | TED000064            | Bad Request                                         | request_control_key \{request_control_key\} already in use                                 | request_control_key \{request_control_key\} já utilizada                           |
| 400                      | TED000065            | Bad Request                                         | It has been identified by request_control_key that this request is already being processed | Foi identificado por request_control_key que está requisição está sendo processada |
| 400                      | TED000089            | Invalid Schedule Date                               | Schedule date must be after current date for UTC-3                                         | Data de agendamento deve ser após a data atual em UTC-3                            |
| 400                      | TED000090            | Invalid Schedule Date                               | Schedule date must be a workday                                                            | Data de agendamento deve ser um dia útil                                           |
| 400                      | TED000091            | Target Account and Source Account must be different | Target Account must not be the same as Source Account                                      | A conta de destino não pode ser a mesma da conta de origem                         |

---

# Webhook de conclusão de Agendamento Ted

URL: /documentation/baas/ted/schedule/webhook_de_conclusao_de_agendamento

Após a conclusão de um agendamento Ted, um webhook será enviado ao parceiro integrador com o resultado.

:::danger Atenção!
Os webhooks da QI Tech não devem ser mapeados de forma restrita. Campos adicionais podem ser incluídos aos payloads dos
webhooks retornados em nossas APIs.
:::

### Webhook Request Body

Request Body: Agendamento Concluído e Enviado

```json
{
  "webhook_type": "baas.ted.ted_schedule.completed",
  "webhook_datetime": "2021-10-22T20:30:23.459Z",
  "data": {
    "request_control_key": "b8eb663e-10fe-4729-9db5-8f8c93de5001",
    "schedule_key": "0c9091ab-079b-4a43-8b3d-d4ba36a23883",
    "schedule_batch_key": null,
    "schedule_status": "sent",
    "target_account": {
      "account_branch": "0001",
      "account_digit": "8",
      "account_number": "1234567",
      "owner_document_number": "***91111***",
      "owner_person_type": "natural",
      "owner_name": "Conta manual geral",
      "account_type": "checking_account",
      "ispb": "99999004"
    },
    "transaction_amount": 2.0,
    "rejection_info": null,
    "schedule_date": "2024-07-10",
    "updated_at": "2024-07-10T16:19:38Z",
    "created_at": "2024-06-10T11:17:28Z",
    "schedule_transfers": [
      {
        "request_control_key": "12723821-41d5-496b-b66c-fb7188f50fc1",
        "ted_key": "91028dfa-43a2-4665-adf2-0bd4571f6f0d",
        "created_at": "2024-07-10T16:19:38Z",
        "ted_status": "sent",
        "fee_amount": 2.00
      }
    ]
  }
}
```

Request Body: Agendamento Concluído e Rejeitado

```json
{
  "webhook_type": "baas.ted.ted_schedule.completed",
  "webhook_datetime": "2021-10-22T20:30:23.459Z",
  "data": {
    "request_control_key": "b8eb663e-10fe-4729-9db5-8f8c93de5001",
    "schedule_key": "0c9091ab-079b-4a43-8b3d-d4ba36a23883",
    "schedule_batch_key": null,
    "schedule_status": "sent",
    "target_account": {
      "account_branch": "0001",
      "account_digit": "8",
      "account_number": "1234567",
      "owner_document_number": "***91111***",
      "owner_person_type": "natural",
      "owner_name": "Conta manual geral",
      "account_type": "checking_account",
      "ispb": "99999004"
    },
    "transaction_amount": 2.0,
    "rejection_info": {
      "error_code": "TED000103",
      "error_description": "The maximum number of failed transfer attempts has been reached",
      "error_translation": "Número máximo de tentativas de transferência foi atingida",
      "rejection_reason": "max_tries_exceeded"
    },
    "schedule_date": "2024-07-10",
    "updated_at": "2024-07-10T16:19:38Z",
    "created_at": "2024-06-10T11:17:28Z",
    "schedule_transfers": [
      {
        "ted_key": "907e38c5-5700-492f-a181-8f651317458b",
        "created_at": "2024-07-10T16:19:38Z",
        "ted_status": "rejected",
        "fee_amount": 2.00
      },
      {
        "ted_key": "356f8855-8f8d-4aaa-8e8c-1287e363d143",
        "created_at": "2024-07-10T17:19:38Z",
        "ted_status": "rejected",
        "fee_amount": 2.00
      },
      {
        "ted_key": "c51cc7ee-d966-4bbb-8405-4850b90b43f8",
        "created_at": "2024-07-10T18:19:38Z",
        "ted_status": "rejected",
        "fee_amount": 2.00
      }
    ]
  }
}
```

### Webhook Body Param

| Campo                 | Tipo   | Descrição                                                                          | Max. Caracteres                                                    |
|-----------------------|--------|------------------------------------------------------------------------------------|--------------------------------------------------------------------|
| `webhook_type`        | string | Um enumerador que define o tipo de evento sendo reportado                          | 23                                                                 |
| `webhook_datetime`    | string | Data e hora do envio do webhook                                                    | 20                                                                 |
| `request_control_key` | uuidv4 | Chave única de identificação da request utilizada pelo cliente no formato uuid v4. | 36                                                                 |                                                                  |
| `schedule_key`        | string | Chave única de identificação do agendamento                                        | 36                                                                 |
| `schedule_batch_key`  | string | Chave única de identificação do lote de agendamento                                | 36                                                                 |
| `schedule_status`     | string | Status do agendamento                                                              | **[Enumerador schedule_status](#ted-schedule-status)**             |
| `target_account`      | object | Conta destino do agendamento                                                       | **[Objeto target_account](#objeto-target_account)**                |
| `transaction_amount`  | number | Valor da transferencia                                                             | 10                                                                 |
| `schedule_transfers`  | array  | Lista de tentativas de transferências realizadas pelo agendamento                  | lista de **[Objeto schedule_transfer](#objeto-schedule-transfer)** |
| `schedule_date`       | string | Data a ser realizada a transação.                                                  | 10                                                                 |
| `rejection_info`      | object | Objeto com informaçôes sobre o evento de rejeição                                  |                                                                    |
| `updated_at`          | string | Data e hora da última atualização do agendamento.                                  | 20                                                                 |
| `created_at`          | string | Data e hora de criação do agendamento.                                             | 20                                                                 |

## Ted Schedule Status

| Enumerador                 | Descrição                                                                                      |
|----------------------------|------------------------------------------------------------------------------------------------|
| **scheduled**              | Transação agendada                                                                             |
| **sent**                   | Agendamento concluído e enviado com sucesso. Estado final                                      |
| **rejected**               | Agendamento rejeitado durante criação ou execução. Estado final                                |
| **cancelled**              | Agendamento cancelado por solicitação de cliente. Estado final                                 |
| **pending_2fa_approval**   | Pendente de aprovação por autenticação de dois fatores                                         |
| **waiting_batch_approval** | Agendamento criado e vinculado a um lote aguardando aprovação por autenticação de dois fatores |

### Objeto Schedule Transfer

| Campo        | Tipo   | Descrição                                                        | Caracteres                                        |
|--------------|--------|------------------------------------------------------------------|---------------------------------------------------|
| `ted_key`    | uuidv4 | Chave única de identificação da transferência Ted no sistema QI. | 36                                                |
| `ted_status` | string | Status da transação.                                             | [Enumeradores ted_status](#enumerador-ted-status) |
| `fee_amount` | number | Valor da transferencia                                           | 10                                                |
| `created_at` | string | Data e hora de criação da transação                              | 20                                                |

### Enumerador Ted Status

| Enumerador   | Descrição                                           |
|--------------|-----------------------------------------------------|
| **sent**     | Transação enviada com sucesso. Estado final         |
| **rejected** | Transação rejeitada durante execução. Estado final  |
| **pending**  | Transação pendente de conclusão. Estado Transitório |

### Objeto target_account

| Campo                   | Tipo       | Descrição                                                                                               | Caracteres                                                        |
|-------------------------|------------|---------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| `account_branch`        | string     | Agência da conta                                                                                        | 6                                                                 |
| `account_digit`         | string     | Dígito da conta                                                                                         | 1                                                                 |
| `account_number`        | string     | Número da conta                                                                                         | 20                                                                |
| `owner_document_number` | string     | CPF ou CNPJ (apenas números) do titular da conta                                                        | 14                                                                |
| `owner_name`            | string     | Nome do titular da conta                                                                                | 150                                                               |
| `owner_person_type`     | enumerator | Identificador de que o dono da conta enviada é uma pessoa física ou jurídica                            | **[Enumerador owner_person_type](#enumerador-owner_person_type)** |                                                    |
| `owner_name`            | string     | Nome do titular da conta                                                                                | 150                                                               |
| `account_type`          | enumerator | Tipo da conta                                                                                           | **[Enumerador account_type](#enumerador-account_type)**           |
| `ispb`                  | string     | Código de oito dígitos que identifica os bancos no sistema de transferência de reserva do Banco Central | 8                                                                 |

### Enumerador owner_person_type

| Enum        | Description     |
|-------------|-----------------|
| **natural** | Pessoa física   |
| **legal**   | Pessoa jurídica |

## Enumerador account_type

| Enumerador             | Tradução              |
|------------------------|-----------------------|
| **checking_account**   | conta corrente        |
| **deposit_account**    | conta depósito        |
| **guaranteed_account** | conta de garantia     |
| **investment_account** | conta de investimento |
| **payment_account**    | conta de pagamento    |
| **saving_account**     | conta poupança        |

---

# Webhook após finalização de envio de TED

URL: /documentation/baas/ted/webhooks

Webhook informará caso uma transação TED tenha sido devolvida.

## Webhook Request Body

**Webhook Body: TED Rejeitada**

```json
{
  "webhook_type": "baas.ted.outgoing_ted",
  "webhook_datetime": "2021-10-22T20:30:23.459Z",
  "data": {
    "request_control_key": "6e290347-330d-4b3a-8ebb-2ac217ad6eb3",
    "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
    "account_key": "fc6862c4-2b20-4057-8063-b8809866e494",
    "created_at": "2021-10-22T20:30:23.459Z",
    "ted_status": "sent",
    "transaction_amount": 126.97,
    "fee_amount": 0.0,
    "target_account": {
      "account_branch": "0001",
      "account_digit": "6",
      "account_number": "78340",
      "ispb": "12345678",
      "owner_document_number": "32402502000135",
      "owner_name": "QI Tech"
    },
    "refusal_reason": {
      "refusal_code": 1,
      "enumerator": "conta_destinatario_encerrada",
      "description": "Conta Destinatária do Crédito Encerrada"
    }
  }
}
```

**Webhook Body: TED Confirmada**

```json
{
  "webhook_type": "baas.ted.outgoing_ted",
  "webhook_datetime": "2021-10-22T20:30:23.459Z",
  "data": {
    "request_control_key": "6e290347-330d-4b3a-8ebb-2ac217ad6eb3",
    "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
    "account_key": "fc6862c4-2b20-4057-8063-b8809866e494",
    "created_at": "2021-10-22T20:30:23.459Z",
    "ted_status": "confirmed",
    "transaction_amount": 126.97,
    "fee_amount": 0.0,
    "target_account": {
      "account_branch": "0001",
      "account_digit": "6",
      "account_number": "78340",
      "ispb": "12345678",
      "owner_document_number": "32402502000135",
      "owner_name": "QI Tech"
    },
    "refusal_reason": null
  }
}
```

## Webhook Body Param

| Campo                 | Tipo   | Descrição                                                                         | Max. Caracteres                                     |
|-----------------------|--------|-----------------------------------------------------------------------------------|-----------------------------------------------------|
| `webhook_type`        | string | Um enumerador que define o tipo de evento sendo reportado                         | 23                                                  |
| `webhook_datetime`    | string | Data e hora do envio do webhook                                                   | 20                                                  |
| `request_control_key` | string | Chave única de identificação da request utilizada pelo cliente no formato uuid v4 | 36                                                  | 
| `ted_key`             | string | Chave única de identificação da transferência TED                                 | 36                                                  |
| `created_at`          | string | Data e hora de criação da transação                                               | 24                                                  |
| `ted_status`          | string | Status da transação TED                                                           | **[Enumerador ted_status](#enumerador-ted_status)** |
| `transaction_amount`  | number | Valor da transferência                                                            | 10                                                  |
| `fee_amount`          | number | Valor da taxa cobrada pela transferencia                                         | 35                                                  |
| `target_account`      | Object | Conta destino - Só deve ser enviada em transações do tipo "manual"                | **[Objeto target_account](#objeto-target_account)** |
| `refusal_reason`      | Object | Motivo da recusa de acordo com o padrão do Banco Central                          | **[Objeto refusal_reason](#objeto-refusal_reason)** |

## Enumerador ted_status

| Enumerador    | Descrição                                |
|---------------|------------------------------------------|
| **sent**      | Transferência TED enviada com sucesso.   |
| **confirmed** | Transferência TED realizada com sucesso. |
| **pending**   | Transferência TED pendente.              |
| **rejected**  | Transferência TED rejeitada.             |
| **returned**  | Transferência TED devolvida.             |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 4                                                       |
| `account_digit` *         | string | Dígito da conta                                     | 1                                                       |
| `account_number` *        | string | Número da conta.                                    | 20                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Objeto refusal_reason

| Campo           | Tipo   | Descrição                  | Caracteres |
|-----------------|--------|----------------------------|------------|
| `bacen_code` *  | string | Código de recusa Bacen     | 3          |
| `enumerator` *  | string | Enumerador da recusa Bacen | 100        |
| `description` * | string | Descrição da recusa Bacen  | 100        |

## Enumerador account_type

| Enumerador         | Tradução              |
|--------------------|-----------------------|
| checking_account   | conta corrente        |
| deposit_account    | conta depósito        |
| guaranteed_account | conta de garantia     |
| investment_account | conta de investimento |
| payment_account    | conta de pagamento    |
| saving_account     | conta poupança        |

## Webhook após o recebimento de TED

Webhook informará sobre o status final da transação TED.

## Webhook Request Body

**Request Body: TED Recebida**

```json
{
  "webhook_type": "baas.ted.incoming_ted",
  "webhook_datetime": "2021-10-22T20:30:23.459Z",
  "data": {
    "request_control_key": "6e290347-330d-4b3a-8ebb-2ac217ad6eb3",
    "ted_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
    "account_key": "fc6862c4-2b20-4057-8063-b8809866e494",
    "created_at": "2021-10-22T20:30:23.459Z",
    "ted_status": "received",
    "transaction_amount": 126.97,
    "fee_amount": 0.0,
    "source_account": {
      "account_branch": "0001",
      "account_digit": "6",
      "account_number": "78340",
      "ispb": "12345678",
      "owner_document_number": "32402502000135",
      "owner_name": "QI Tech"
    },
    "refusal_reason": {}
  }
}
```

## Webhook Body Param

| Campo                 | Tipo   | Descrição                                                                         | Max. Caracteres                                     |
|-----------------------|--------|-----------------------------------------------------------------------------------|-----------------------------------------------------|
| `webhook_type`        | string | Um enumerador que define o tipo de evento sendo reportado                         | 23                                                  |
| `webhook_datetime`    | string | Data e hora do envio do webhook                                                   | 20                                                  |
| `ted_key`             | string | Chave única de identificação da transferência TED                                 | 36                                                  |
| `created_at`          | string | Data e hora de criação da transação                                               | 100                                                 |
| `ted_status`          | string | Status da transação TED                                                           | **[Enumerador ted_status](#enumerador-ted_status)** |
| `transaction_amount`  | number | Valor da transferência                                                            | 10                                                  |
| `fee_amount`          | number | Valor da taxa cobrada pela transferencia                                         | 35                                                  |
| `target_account`      | Object | Conta destino - Só deve ser enviada em transações do tipo "manual"                | **[Objeto target_account](#objeto-target_account)** |
| `refusal_reason`      | Object | Motivo da recusa de acordo com o padrão do Banco Central                          | **[Objeto refusal_reason](#objeto-refusal_reason)** |

## Enumerador ted_status

| Enumerador   | Descrição                                |
|--------------|------------------------------------------|
| **received** | Transferência TED recebida com sucesso.  |
| **pending**  | Transferência TED pendente.              |
| **rejected** | Transferência TED rejeitada.             |

## Objeto target_account

| Campo                     | Tipo   | Descrição                                           | Caracteres                                              |
|---------------------------|--------|-----------------------------------------------------|---------------------------------------------------------|
| `account_branch` *        | string | Agência.                                            | 10                                                      |
| `account_digit` *         | string | Dígito da conta                                     | 10                                                      |
| `account_number` *        | string | Número da conta.                                    | 10                                                      |
| `owner_document_number` * | string | CPF ou CNPJ (apenas números) do titular da conta.   | 14                                                      |
| `owner_name` *            | string | Nome do titular da conta.                           | 50                                                      |
| `account_type`*           | string | Tipo da conta.                                      | **[Enumerador account_type](#enumerador-account_type)** |
| `ispb` *                  | string | Base no CNPJ da instituição financeira (8 dígitos). | 8                                                       |

## Objeto refusal_reason

| Campo           | Tipo   | Descrição                  | Caracteres |
|-----------------|--------|----------------------------|------------|
| `bacen_code` *  | string | Código de recusa Bacen     | 3          |
| `enumerator` *  | string | Enumerador da recusa Bacen | 100        |
| `description` * | string | Descrição da recusa Bacen  | 100        |

## Enumerador account_type

| Enumerador         | Tradução              |
|--------------------|-----------------------|
| checking_account   | conta corrente        |
| deposit_account    | conta depósito        |
| guaranteed_account | conta de garantia     |
| investment_account | conta de investimento |
| payment_account    | conta de pagamento    |
| saving_account     | conta poupança        |