﻿# Analieasy API

## Autenticação

- `POST https://api.analieasy.com/api/v1/auth`
- Payload:
```json
{
  "key_access": "<KEY>",
  "token_access": "<TOKEN>"
}
```
- Resposta traz `data` com JWT; usar em `Authorization: Bearer <token>`.

## Consulta Geral CPF

- `POST https://api.analieasy.com/api/v1/consult`
- Body:
```json
{
  "queryId": 5,
  "type": "manual",
  "document": "00000000000"
}
```
- Resposta básica:
```json
{
  "message": "Consult successfully",
  "error": false,
  "status": 200,
  "data": {...}
}
```

## Fluxo de autenticação

1. POST https://api.analieasy.com/api/v1/auth
   Headers: Content-Type/Accept application/json.
   Body:
   {
     "key_access": "19204566315",
     "token_access": "9fcf7kRdy1AWDGsqIMsskFPdAkF0sJwV"
   }
   -> resposta traz JWT em `data`.
2. Usar token no header Authorization: Bearer <token> para demais consultas.


Exemplo de resposta:
```json
{
  "message": "Login successfully",
  "error": false,
  "status": 200,
  "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjMyOCwiaWF0IjoxNzY1MzI5Nzc3LCJleHAiOjE3NjUzMzY5Nzd9.uUNR5OprSG1ZYcVRmIg6RDm4H-wKykVMJtYtoA-hrjY"
}
```


Usar o token JWT retornado no passo anterior (por exemplo `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`) no header Authorization: `Bearer <token>` nas próximas requisições.

## Consulta Geral CPF (queryId 5)

Request:
```http
POST https://api.analieasy.com/api/v1/consult
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

{
  "queryId": 5,
  "type": "manual",
  "document": "05391807859"
}
```

Resposta (trecho real):
```json
{
  "message": "Consult successfully",
  "error": false,
  "status": 200,
  "data": {
    "cadastrais": [
      {
        "cpf": "5391807859",
        "nome": "ANA MARIA BATISTINHA DE SOUZA",
        "beneficio": "5343021510",
        "margem": { "baseCalculoMargemConsignavel": 1616.28, ... },
        "dadosBancarios": { ... },
        "contratosEmprestimo": [...],
        "contratosCartao": [...],
        "contratosRcc": [...]
      },
      { /* segundo benefício */ }
    ]
  }
}
```


### Exemplo completo de payload usado pela interface

```json
{
  "message": "Consult successfully",
  "error": false,
  "status": 200,
  "data": {
    "cadastrais": [
      {
        "cpf": "05391807859",
        "nome": "ANA MARIA BATISTINHA DE SOUZA",
        "beneficio": "5343021510",
        "situacao": "ATIVO",
        "especie": "32",
        "dadosDocumentos": {
          "numero": "00000000000",
          "orgaoExpedidor": "SSP",
          "uf": "SP"
        },
        "dadosContato": {
          "email": "ana@example.com",
          "telefone": "11999998888",
          "celular": "11988887777"
        },
        "dadosBancarios": {
          "bancoNome": "BANCO DO BRASIL",
          "bancoCodigo": "001",
          "agencia": "1234",
          "conta": "123456-7"
        },
        "enderecos": [
          {
            "logradouro": "Rua Exemplo",
            "numero": "123",
            "bairro": "Centro",
            "cidade": "Sao Paulo",
            "estado": "SP",
            "cep": "01000-000"
          }
        ],
        "dadosFinanceiros": {
          "valorBeneficio": 2543.90,
          "rendaLiquida": 2100.50,
          "competencia": "2024-03"
        },
        "margem": {
          "baseCalculoMargemConsignavel": 1616.28,
          "margemDisponivelEmprestimo": 512.34,
          "margemUtilizadaEmprestimo": 1103.94,
          "margemDisponivelCartao": 100.00,
          "margemUtilizadaCartao": 50.00
        },
        "contratosEmprestimo": [
          {
            "contrato": "0102290432",
            "banco": "FACTA FINANCEIRA",
            "saldoDevedor": 1497.89,
            "prazo": 96,
            "parcelasPagas": 5,
            "parcelasRestantes": 91,
            "valorParcela": 30.28,
            "taxa": 1.89,
            "dataInicio": "2022-03-15",
            "dataFim": "2030-11-15"
          }
        ],
        "contratosCartao": [
          {
            "contrato": "CARD-8891",
            "banco": "PAN",
            "limiteDisponivel": 2000,
            "limiteUtilizado": 500,
            "dataAtualizacao": "2024-04-30"
          }
        ],
        "contratosRcc": []
      }
    ]
  }
}
```