Introdução ao OData
OData (Open Data Protocol) é um padrão aberto (aprovado pela OASIS e pela ISO) para consultar e manipular dados através de APIs REST. Sua grande vantagem é que define convenções de URL para filtrar, ordenar, paginar, selecionar campos e expandir relações — sem ter que criar um endpoint sob medida para cada combinação.
Na prática: em vez de pedir ao backend "me dê as reservas do cliente X criadas neste
mês, só com o código e a data", você monta essa consulta por conta própria a partir da URL com parâmetros
padrão ($filter, $select, $orderby, etc.).
- Documentação de OData no Microsoft Learn — guia completo do protocolo e da biblioteca que a Rently usa (ASP.NET OData).
- Site do padrão OData (odata.org) — especificação, convenções de URL e exemplos.
- Convenções de URL do OData v4 — referência detalhada de
$filter,$expand, etc.
OData na Rently
A Rently expõe uma API OData somente leitura sobre um conjunto de entidades de referência/consulta, pensada para integrações que precisam consultar e reportar dados de forma flexível (filtros, agregações, exportações) sem múltiplas chamadas.
- Base URL: todos os recursos OData vivem sob
https://{tenant}.rently.com.ar/odata. - Autenticação: a mesma que o resto da API — token Bearer no header
Authorization(ver Autenticação). - Somente leitura: os endpoints OData suportam
GET(coleção e por key). As operações de escrita (criar/atualizar reservas, pagamentos, etc.) são feitas pela API REST.
Entity sets disponíveis
| Entity set | Recurso | Descrição |
|---|---|---|
| Bookings | /odata/Bookings | Reservas (suporta $expand de Customer, Category, etc.). |
| Customers | /odata/Customers | Clientes. |
| Agencies | /odata/Agencies | Agências. |
| Categories | /odata/Categories | Categorias de veículos. |
| Models | /odata/Models | Modelos de veículos. |
| Places | /odata/Places | Filiais / localizações. |
| BookingBrands | /odata/BookingBrands | Marcas de booking. |
OData ou REST?
- Use OData quando precisar consultar/filtrar/reportar sobre estas entidades com flexibilidade (por exemplo, listar reservas de um cliente em um intervalo de datas, expandindo seus dados, trazendo apenas alguns campos).
- Use a API REST (os módulos Bookings, Customers, etc.) para operar: criar e gerenciar reservas, registrar pagamentos, check-in/out, incidentes, etc.
Continue com Montar queries OData para ver como filtrar, expandir e ordenar com exemplos reais.