# Transferir ou Agendar Transferência

#### Transferir ou Agendar Transferência:

Para transferir ou agendar transferencia é necessário seguir este roteiro de detalhe. O procedimento requer o envio de uma solicitação utilizando o método POST.

Esta solicitação pode ser realizada de duas maneiras distintas: utilizando dados no formato JSON ou através de Multipart/fomr-data.

**URL de Solicitação:**

[**https://api.zsystems.com.br/transferencias**](https://api.zsystems.com.br/transferencias)

**Cabeçalhos Exigidos para a Requisição:**

* Content-Type: Necessário especificar como multipart/form-data ou application/json, adaptado ao método de envio dos dados.
* Authorization: Precisa incluir um 'TokenAPI', precedido por Bearer, para confirmar a autenticação e conceder permissão para realizar a solicitação.

**Detalhes dos Parâmetros da Solicitação:**

<table><thead><tr><th>Id</th><th width="184">Tipo</th><th>Descrição</th></tr></thead><tbody><tr><td>tipoTransferencia</td><td></td><td><strong>1</strong> = Conta Digital<br><strong>2</strong> = Conta Bancária</td></tr><tr><td>valor</td><td></td><td>Valor a ser transferido, utilizando <strong>.(ponto)</strong> em vez de <strong>,(vírgula)</strong> para casas decimais. Ex.: para transferir <strong>R$ 100,00</strong> utiliza-se <strong>100.00</strong> ; para <strong>R$ 0,21</strong> utiliza-se <strong>0.21</strong></td></tr><tr><td>toEstabelecimentoId</td><td></td><td>Caso seja <strong>tipoTransferencia = 1</strong> informe o <strong>id</strong> do <strong>estabelecimento</strong> para que seja realizada a transferência</td></tr><tr><td>contaBancariaId</td><td></td><td>Caso seja <strong>tipoTransferencia = 2</strong> informe o <strong>id</strong> da <strong>contaBancaria</strong> para que seja realizada a transferência</td></tr><tr><td>senha</td><td></td><td>Informar a senha do usuário que está fazendo essa ação, essa senha é gerada no ato do cadastro tanto do estabelecimento quanto de um novo usuário</td></tr><tr><td>descricao</td><td></td><td>Descrever para que conste em seu extrato</td></tr><tr><td>agendadoPara</td><td></td><td>Utiliza-se apenas em caso de agendamento de transferência, caso contrário, não é necessário informar este campo.</td></tr></tbody></table>

**Exemplo de requisição:**

```json
{
   "tipoTransferencia": 2,
   "valor": 0.10,
   "toEstabelecimentoId": null,
   "contaBancariaId": 27,
   "senha": "1234567",
   "descricao": "pagamento",
   "agendadoPara": "2019-12-05T20:18:22.851Z"
}
```

**Exemplo de resultado:**

```json
{
   "success": true,
   "message": "Agendamento realizada com sucesso!",
   "agendamento": {
      "id": 1,
      "usuario_id": 107,
      "tipo_transferencia_id": 2,
      "conta_bancaria_id": 27,
      "descricao": "pagamento",
      "valor": 0.10,
      "agendado_para": "2019-12-05",
      "to_estabelecimento_id": null,
      "from_estabelecimento_id": 131,
      "executada": 0,
      "modified": "2019-12-04T20:21:46.902Z",
      "created": "2019-12-04T20:21:46.902Z"
   }
}
```
