Reservei Docs
Referência da API

Referência da API

Referência completa de todos os endpoints da API Reservei

Referência da API

Referência completa de todos os endpoints da API Reservei. A API é RESTful, utiliza JSON para requests/responses e autenticação via Bearer Token.

Base URL

https://app.reservei.co/api/v1

Autenticação

Todas as requisições requerem autenticação via header Authorization:

Authorization: Bearer mbx_live_sua_chave_aqui
Content-Type: application/json

Endpoints Disponíveis

Formato das Respostas

Sucesso

{
  "success": true,
  "data": {
    // Dados da resposta
  }
}

Sucesso com Paginação

{
  "success": true,
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "pages": 8
  }
}

Erro

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Campo 'origin' é obrigatório",
    "details": {
      "field": "origin",
      "type": "required"
    }
  }
}

Códigos HTTP

CódigoDescriçãoQuando Usar
200OKRequisição bem-sucedida
201CreatedRecurso criado com sucesso
400Bad RequestParâmetros inválidos
401UnauthorizedFalha na autenticação
403ForbiddenSem permissão para o recurso
404Not FoundRecurso não encontrado
409ConflictConflito de estado (ex: já cancelado)
422Unprocessable EntityValidação de negócio falhou
429Too Many RequestsRate limit excedido
500Internal Server ErrorErro interno

Códigos de Erro

CódigoDescrição
UNAUTHORIZEDAutenticação falhou
FORBIDDENSem permissão
NOT_FOUNDRecurso não encontrado
VALIDATION_ERRORErro de validação
OFFER_EXPIREDOferta expirou
INSUFFICIENT_BALANCESaldo insuficiente
BOOKING_ALREADY_CANCELLEDReserva já cancelada
RATE_LIMIT_EXCEEDEDLimite de requisições excedido

Rate Limits

EndpointLimiteJanela
/flights/search60 requisições1 minuto
/bookings (criar)30 requisições1 minuto
Outros endpoints120 requisições1 minuto

Headers de Rate Limit

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1705330800

Versionamento

A API usa versionamento na URL (/api/v1). Mudanças breaking serão lançadas em novas versões, garantindo compatibilidade com integrações existentes.

Paginação

Endpoints que retornam listas suportam paginação via query parameters:

ParâmetroPadrãoMáximoDescrição
page1-Número da página
limit20100Itens por página
GET /api/v1/bookings?page=2&limit=50

Filtros

Muitos endpoints suportam filtros via query parameters:

# Filtrar por status
GET /api/v1/bookings?status=confirmed

# Filtrar por data
GET /api/v1/wallet/transactions?start_date=2025-01-01&end_date=2025-01-31

# Combinar filtros
GET /api/v1/bookings?status=ticketed&created_after=2025-01-01

Ordenação

# Ordenar por data (mais recente primeiro)
GET /api/v1/bookings?order_by=created_at&order_dir=desc

Idempotência

Para operações de criação, você pode enviar um header Idempotency-Key para garantir que requisições duplicadas não criem recursos duplicados:

POST /api/v1/bookings
Idempotency-Key: unique-key-123

Requisições com a mesma Idempotency-Key nos últimos 24 horas retornarão a mesma resposta da primeira requisição.

Suporte a CORS

A API suporta CORS para requisições de browsers em domínios autorizados. Para adicionar seu domínio, entre em contato com o suporte.

SDKs Oficiais

Estamos desenvolvendo SDKs oficiais para facilitar a integração:

LinguagemStatusLink
JavaScript/TypeScriptEm breve-
PythonEm breve-
PHPEm breve-

Próximos Passos

  1. Obtenha suas API Keys
  2. Faça sua primeira busca de voos
  3. Crie sua primeira reserva
  4. Configure webhooks