# Integração GesConsig
## Introdução
Software de averbação eletrônica de consignação. Sistema em plataforma WEB que realiza as averbações eletrônicas dos empréstimos consignados com desconto em folha de pagamento para órgãos públicos e empresas privadas.
## Fluxo de Comunicação
<!--```flow
st=>start: Solicita Autenticação
op=>start: Requisição
op2=>operation: Retorno Requisição
cond=>condition: Resposta da Autenticação
cond2=>condition: Resposta da Requisicao
e=>end: Fim
st->cond->op->cond2->op2->e
cond(yes)->op
cond(no)->e
cond2(yes)->op2
cond2(no)->e
```-->
### [Consulte a Margem](#Consulta-de-Margem)
1. [Solicita autenticação](#Autenticação)
2. Autenticamos sua solicitação
3. Consulte a Margem
### [Criar reserva de Margem](#Criar-reserva-de-Margem1)
1. [Solicita autenticação](#Autenticação)
2. Autenticamos sua solicitação
3. Criar reserva de Margem
### [Criar Contrato](#Criar-contrato)
1. [Solicita autenticação](#Autenticação)
2. Autenticamos sua solicitação
3. Criar Contrato
## API
Base URL: `https://api.gesconsig.com.br/api/v1`
### Autenticação
Para cada requisição é necessário fazer uma autenticação, que retornará uma chave que só poderá fazer uma operação específica.
Para isso faça uma requisição https para esse endpoint com os parametros **cliente** e **operação**, sendo operação: `consulta_margem`, `criar_reserva` e `criar_contrato`;
```https
HTTP Method -> GET
Endpoint -> /autenticacao
Authentication Header -> CHAVE_API
Query params -> cliente=ID_CLIENTE&operacao=consulta_margem
```
Será retornado os seguintes parâmetros.
``` json
{
"autenticado": true,
"token_operacao": "3c74b988e6edb6fa3844ee5f89c71e73c2d839ddb8d587a7ec43477009dbf282"
}
```
Envie o `token_operacao` no Header de Autenticação de cada requisição.
### Consulta de Margem
Para consulta a margem de um funcionário, faça uma requisição https para esse endpoint.
```https
HTTP Method -> GET
Endpoint -> /consulta/margem
Authentication Header -> TOKEN_OPERACAO
Query params -> cpf="45678932154"
```
Será retornado:
``` json
{
"cpf": "45678932154",
"margem_disponível": 15253.34
}
```
### Criar reserva de Margem
Para criar a reserva de margem de um funcionário, faça uma requisição https para esse endpoint.
```https
HTTP Method -> POST
Endpoint -> /reserva
Authentication Header -> TOKEN_OPERACAO
Body ->
{
"id_intencao": 1
}
```
Será retornado:
```json
{
"id_reserva": 1,
"created": true,
"msg": "Reserva criada com sucesso!"
}
```
### Criar contrato
Para criar um contrato para um funcionário, faça uma requisição https para esse endpoint.
```https
HTTP Method -> POST
Endpoint -> /contrato
Authentication Header -> TOKEN_OPERACAO
Body ->
{
"id_reserva": 1,
"cod_contrato_banco": "646465498798",
"dia_vencimento": 2
}
```
Será retornado:
```json
{
"id_contrato": 1,
"cod_contrato": "C000000001"
"created": true,
"msg": "Contrato criado com sucesso!"
}
```
## ClubeCred
### Envio de Intenção de Contratação
Disponibilizar API para informar a intenção de contratação.
Podemos submeter as seguintes informacoes:
- Nome
- CPF
- Valor da intenção do emprestimo
- Quantidade de Parcelas
- Taxa de juros escolhida
- Instituição Financeira