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).
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}"
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.
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:
- Especificação OpenAPI (qualquer cliente): baixar
openapi.json - Coleção do Postman (pronta para usar): baixar
rently-api.postman_collection.json
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ódulo | Propósito |
|---|---|
| PublicApi | Busca de disponibilidade e cotação: GET /api/search, GET /api/booking/price e GET /api/booking/additionals-price. |
| GeneralInformation | Catálogos e dados mestres: filiais, locais de entrega/devolução, categorias e modelos, adicionais, moedas, promoções, feriados, horários de atendimento e idiomas. |
| Bookings | Ciclo 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. |
| BookingsPayments | Pagamentos de reservas: registrar um pagamento (POST /api/booking/pay), listar os pagamentos de uma reserva e anular um pagamento. |
| CustomersApi | Gestão de clientes: listar (paginado), criar/atualizar, consultar por ID ou globalId, métodos de pagamento, comentários, anexos e imagens de documentos. |
| Cars | Consulta da frota: obter um carro, listar carros com filtros, ver suas reservas, realocar/transferir entre filiais e gerenciar arquivos. |
| Operations | Operaçã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. |
| BookingCheckinApi | Self check-in do cliente antes da entrega (PUT /api/selfcheckin). |
| Incidents | Incidentes/sinistros sobre veículos: listar tipos, registrar um incidente e anexar arquivos. |
| Infractions | Infrações de trânsito: adicionar a uma reserva (POST /api/booking/addinfractions), cobrar/pagar, listar as de um cliente e anexar a notificação. |
| Services | Serviços e manutenção de veículos: tipos de serviço e agendamento de serviços para um carro. |
| Notifications | Notificações por email: listar templates ativos e enviar notificações usando um template. |
| Configurations | Configuração do tenant: tipos de documento e de contribuinte, config de reservas e emails, gateways e contas de pagamento, e settings gerais. |
| CommercialAgreements | Acordos comerciais aplicáveis ao cálculo de preços. |
| Storage | Gestão de arquivos web. |
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.