Pular para o conteúdo principal

Visão geral da API da Rently

A API da Rently é uma API REST que permite integrar sistemas externos com a plataforma de gestão de locação de veículos: buscar disponibilidade e cotar, criar e administrar reservas, registrar pagamentos, operar entregas e devoluções, e gerenciar clientes, frota, incidentes e infrações.

Esta página é o mapa de entrada para o reference: resume o essencial (URL base, autenticação, idiomas) e descreve cada módulo da API com seu propósito.

URL base

Todas as chamadas são feitas sobre HTTPS contra:

https://{tenant}.rently.com.ar

Os endpoints de negócio vivem sob /api (por exemplo GET /api/search).

observação

A Rently é multi-tenant. Sua integração opera sempre contra o host do seu tenant, que identifica a organização e ao qual fica vinculado o token de acesso.

Autenticação

A API usa OAuth2 com tokens Bearer: você solicita um token com suas credenciais e o envia no header Authorization: Bearer {token} em cada request.

# 1. Obter o token (client_credentials)
curl -X POST https://{tenant}.rently.com.ar/auth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id={username}" \
-d "client_secret={password}"

A resposta inclui access_token, token_type (bearer) e expires_in (o token é válido por um dia). Use esse token nas chamadas seguintes:

# 2. Chamar um endpoint com o token
curl https://{tenant}.rently.com.ar/api/branchoffices \
-H "Authorization: Bearer {token}"
dica

Reutilize o mesmo token até que expire, em vez de pedir um novo a cada chamada. Se o token estiver ausente, vencido ou não corresponder ao tenant, a API responde 401 indicando a URL do endpoint de token em WWW-Authenticate.

Idiomas

A API resolve o idioma da resposta por requisição. Para forçar um idioma específico, adicione o parâmetro de query ?language= (aceita o nome de cultura completo, p. ex. es-AR, ou o código ISO de duas letras, p. ex. es):

curl "https://{tenant}.rently.com.ar/api/categories?language=es-AR" \
-H "Authorization: Bearer {token}"

Se não for especificado, usa-se o idioma do usuário, depois o idioma padrão do tenant e, como último recurso, es-AR. Os idiomas disponíveis dependem da configuração de cada tenant; você pode consultá-los com GET /api/languages e GET /api/languages-info.

observação

O parâmetro ?language= só tem efeito nas requests de API; os valores não suportados pelo tenant são ignorados e aplica-se a precedência padrão.

Postman e outros clientes

Você pode importar toda a API no Postman, Insomnia, Bruno ou Hoppscotch:

No Postman: Import e solte o arquivo; a coleção é criada com todos os endpoints. Configure a variável tenant e seu token Bearer para começar a testar.

No Insomnia / Bruno / Hoppscotch: importe o openapi.json diretamente.

Módulos

A API está organizada em módulos. Cada um agrupa os endpoints de uma área funcional; consulte o detalhe de cada operação (método, path, parâmetros e exemplos) no reference.

MóduloPropósito
PublicApiBusca de disponibilidade e cotação: GET /api/search, GET /api/booking/price e GET /api/booking/additionals-price.
GeneralInformationCatálogos e dados mestres: filiais, locais de entrega/devolução, categorias e modelos, adicionais, moedas, promoções, feriados, horários de atendimento e idiomas.
BookingsCiclo de vida da reserva: criar (POST /api/booking/book), reservar (POST /api/booking/reserve), consultar (GET /api/booking/{bookingId}), cancelar, listar e gerenciar condutores, comentários e arquivos.
BookingsPaymentsPagamentos de reservas: registrar um pagamento (POST /api/booking/pay), listar os pagamentos de uma reserva e anular um pagamento.
CustomersApiGestão de clientes: listar (paginado), criar/atualizar, consultar por ID ou globalId, métodos de pagamento, comentários, anexos e imagens de documentos.
CarsConsulta da frota: obter um carro, listar carros com filtros, ver suas reservas, realocar/transferir entre filiais e gerenciar arquivos.
OperationsOperação de back-office: entregas e devoluções programadas por filial e data, e processar a entrega/pré-entrega e a pré-devolução de uma reserva.
BookingCheckinApiSelf check-in do cliente antes da entrega (PUT /api/selfcheckin).
IncidentsIncidentes/sinistros sobre veículos: listar tipos, registrar um incidente e anexar arquivos.
InfractionsInfrações de trânsito: adicionar a uma reserva (POST /api/booking/addinfractions), cobrar/pagar, listar as de um cliente e anexar a notificação.
ServicesServiços e manutenção de veículos: tipos de serviço e agendamento de serviços para um carro.
NotificationsNotificações por email: listar templates ativos e enviar notificações usando um template.
ConfigurationsConfiguração do tenant: tipos de documento e de contribuinte, config de reservas e emails, gateways e contas de pagamento, e settings gerais.
CommercialAgreementsAcordos comerciais aplicáveis ao cálculo de preços.
StorageGestão de arquivos web.
dica

Para uma integração típica de cotação e reserva, comece por PublicApi e GeneralInformation (catálogo + busca + preço), siga com Bookings e BookingsPayments (criar e pagar), e some Operations para a entrega e devolução.

Erros e paginação

Os erros de negócio respondem 400 com um corpo JSON { "ErrorMessage": "...", "ErrorCode": 1, "Id": "..." }, onde ErrorCode é um inteiro e Id é um identificador de correlação útil para o suporte. As respostas 403 (não autenticado ou sem permissões) e 404 (recurso não encontrado) não incluem corpo.

As listagens usam paginação com os parâmetros de query offset (por padrão 0) e limit (por padrão 30, máximo 100), e devolvem um objeto com Offset, Limit, Total, Results e NextOffset. Para avançar de página, use o NextOffset da resposta anterior como offset.