Documentação da API
Integre sua agência à Levve Pay: busque voos e hotéis em tempo real com poucas chamadas.
https://api.levvepay.com.brVisã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.
curl -X POST https://api.levvepay.com.br/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "contato@suaagencia.com.br",
"password": "sua-senha"
}'{
"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.
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"
}'{
"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.
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
}'{
"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."
}Erros
Toda falha retorna o código HTTP correspondente e uma mensagem legível em detail:
{
"detail": "Token inválido ou expirado"
}| Código | Significado |
|---|---|
| 400 | Requisição inválida — dado obrigatório ausente ou incorreto |
| 401 | Token ausente, inválido ou expirado |
| 404 | Recurso não encontrado |
| 502 | Falha temporária ao consultar o fornecedor (companhia aérea ou hotel) |
