Introducción a OData
OData (Open Data Protocol) es un estándar abierto (aprobado por OASIS e ISO) para consultar y manipular datos a través de APIs REST. Su gran ventaja es que define convenciones de URL para filtrar, ordenar, paginar, seleccionar campos y expandir relaciones — sin tener que crear un endpoint a medida para cada combinación.
En la práctica: en vez de pedirle al backend "dame las reservas del cliente X creadas este
mes, solo con el código y la fecha", armás esa consulta vos mismo desde la URL con parámetros
estándar ($filter, $select, $orderby, etc.).
- Documentación de OData en Microsoft Learn — guía completa del protocolo y de la librería que usa Rently (ASP.NET OData).
- Sitio del estándar OData (odata.org) — especificación, convenciones de URL y ejemplos.
- Convenciones de URL de OData v4 — referencia detallada de
$filter,$expand, etc.
OData en Rently
Rently expone una API OData de solo lectura sobre un conjunto de entidades de referencia/consulta, pensada para integraciones que necesitan consultar y reportar datos de forma flexible (filtros, agregaciones, exportaciones) sin múltiples llamadas.
- Base URL: todos los recursos OData viven bajo
https://{tenant}.rently.com.ar/odata. - Autenticación: la misma que el resto de la API — token Bearer en el header
Authorization(ver Autenticación). - Solo lectura: los endpoints OData soportan
GET(colección y por key). Las operaciones de escritura (crear/actualizar reservas, pagos, etc.) se hacen por la API REST.
Entity sets disponibles
| Entity set | Recurso | Descripción |
|---|---|---|
| Bookings | /odata/Bookings | Reservas (soporta $expand de Customer, Category, etc.). |
| Customers | /odata/Customers | Clientes. |
| Agencies | /odata/Agencies | Agencias. |
| Categories | /odata/Categories | Categorías de vehículos. |
| Models | /odata/Models | Modelos de vehículos. |
| Places | /odata/Places | Sucursales / ubicaciones. |
| BookingBrands | /odata/BookingBrands | Marcas de booking. |
¿OData o REST?
- Usá OData cuando necesites consultar/filtrar/reportar sobre estas entidades con flexibilidad (por ejemplo, listar reservas de un cliente en un rango de fechas, expandiendo sus datos, trayendo solo algunos campos).
- Usá la API REST (los módulos Bookings, Customers, etc.) para operar: crear y gestionar reservas, registrar pagos, check-in/out, incidentes, etc.
Seguí con Armar queries OData para ver cómo filtrar, expandir y ordenar con ejemplos reales.