API Levve Pay · v1

Documentação da API

Integre sua agência à Levve Pay: busque voos e hotéis em tempo real com poucas chamadas.

URL basehttps://api.levvepay.com.br

Visão geral

A API é organizada em torno de dois recursos: busca de voos e busca de hotéis. Todas as requisições e respostas usam JSON.

Os endpoints de busca são autenticados e gravam o histórico de buscas na conta da sua agência.

Autenticação

A API usa Bearer token (JWT). Autentique uma vez com as credenciais da sua agência e reutilize o token nas chamadas seguintes, até ele expirar.

POST/auth/loginPúblico
Requisição
curl -X POST https://api.levvepay.com.br/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "contato@suaagencia.com.br",
    "password": "sua-senha"
  }'
200 OK
{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer"
}

Envie o token no header em toda chamada autenticada:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

Buscar voos

Retorna tarifas de voos disponíveis pra uma rota e data, ordenadas por preço.

POST/flights/searchRequer autenticação
Requisição
curl -X POST https://api.levvepay.com.br/flights/search \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "origin": "GYN",
    "destination": "VCP",
    "departure_date": "2026-08-20",
    "return_date": "2026-08-27",
    "adults": 1,
    "children": 0,
    "cabin_class": "economy"
  }'
200 OK
{
  "success": true,
  "source": "levve",
  "search_id": 4821,
  "results": [
    {
      "id": 1,
      "airline": "LATAM",
      "origin": "GYN",
      "destination": "VCP",
      "final_price": 739.90,
      "currency": "BRL",
      "departure_time": "06:10",
      "arrival_time": "08:45",
      "duration": "2h35",
      "stops": 0
    }
  ]
}

cabin_class aceita economy, premium_economy, business ou first.

Buscar hotéis

Retorna hotéis disponíveis num destino, com preço, comodidades e avaliações.

POST/hotels/searchRequer autenticação
Requisição
curl -X POST https://api.levvepay.com.br/hotels/search \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "destination_query": "Rio de Janeiro",
    "check_in_date": "2026-08-10",
    "check_out_date": "2026-08-12",
    "adults": 2,
    "children": 0
  }'
200 OK
{
  "results": [
    {
      "name": "Hotel Hilton Copacabana",
      "overall_rating": 4.7,
      "reviews": 13295,
      "rate_per_night": 1257.50,
      "final_rate": 1332.50,
      "currency": "BRL"
    }
  ],
  "notice": "Valores estimados e sujeitos à disponibilidade."
}

Análise de crédito

Consulta score, dados cadastrais e poder aquisitivo de uma pessoa a partir do CPF. O resultado do dia fica em cache — a mesma consulta não é cobrada de novo.

POST/credito/consultas/cpf/{cpf}Requer autenticação
Requisição
curl -X POST https://api.levvepay.com.br/credito/consultas/cpf/12345678900 \
  -H "Authorization: Bearer SEU_TOKEN"
200 OK
{
  "id": 913,
  "cpf": "12345678900",
  "nome": "Maria da Silva",
  "score_csb": "742",
  "score_csba": "781",
  "faixa_risco": "Baixo risco",
  "status_http": 200,
  "criado_em": "2026-08-08T14:32:10",
  "resposta": {
    "data": {
      "body": {
        "status": 200,
        "DadosBasicos": {
          "nome": "Maria da Silva",
          "cpf": "12345678900",
          "dataNascimento": "1990-04-12",
          "sexo": "F",
          "nomeMae": "Ana da Silva",
          "situacaoCadastral": { "descricaoSituacaoCadastral": "REGULAR" }
        },
        "DadosEconomicos": {
          "score": {
            "scoreCSB": "742",
            "scoreCSBA": "781",
            "scoreCSBAFaixaRisco": "Baixo risco"
          },
          "poderAquisitivo": {
            "poderAquisitivoDescricao": "Classe B",
            "faixaPoderAquisitivo": "R$ 4.500,00 a R$ 9.000,00"
          },
          "renda": "6200.00"
        },
        "telefones": [{ "telefone": "(62) 99999-0000" }],
        "emails": [{ "email": "maria@exemplo.com.br" }],
        "enderecos": [
          { "tipoLogradouro": "Rua", "logradouro": "das Flores", "logradouroNumero": "123",
            "bairro": "Centro", "cidade": "Goiânia", "uf": "GO", "cep": "74000-000" }
        ]
      }
    }
  }
}

Contas parceiras (não donas da plataforma) recebem uma versão reduzida do campo resposta — só nome, CPF, nascimento, situação cadastral, score e poder aquisitivo, sem telefones, e-mails ou endereços.

GET/credito/consultas/historicoRequer autenticação

Lista as últimas consultas feitas pela sua conta (mais recentes primeiro).

Requisição
curl https://api.levvepay.com.br/credito/consultas/historico?limit=50 \
  -H "Authorization: Bearer SEU_TOKEN"

Erros

Toda falha retorna o código HTTP correspondente e uma mensagem legível em detail:

401 Unauthorized
{
  "detail": "Token inválido ou expirado"
}
CódigoSignificado
400Requisição inválida — dado obrigatório ausente ou incorreto
401Token ausente, inválido ou expirado
404Recurso não encontrado
502Falha temporária ao consultar o fornecedor (companhia aérea ou hotel)