Saltar al contenido principal

Armar queries OData

Esta guía muestra cómo construir consultas contra los endpoints OData de Rently usando las opciones estándar: filtrar, seleccionar campos, expandir relaciones, ordenar, paginar y contar. Todos los ejemplos van sobre GET https://{tenant}.rently.com.ar/odata/... con el header Authorization: Bearer {token}.

Opciones habilitadas

En Rently están habilitadas $filter, $select, $expand, $orderby, $top, $skip y $count. Las colecciones se paginan del lado del servidor con un máximo de 100 registros por página.

Request base

curl 'https://{tenant}.rently.com.ar/odata/Bookings' \
-H 'Authorization: Bearer YOUR_TOKEN'

La respuesta viene en el sobre estándar de OData: los registros van en value.

{
"@odata.context": "https://{tenant}.rently.com.ar/odata/$metadata#Bookings",
"value": [
{ "Id": 1, "Code": "RNT-0001", "Currency": "USD", "IsQuotation": false }
]
}

$filter — filtrar

Filtra la colección por condiciones sobre los campos de la entidad.

# Reservas confirmadas (no cotizaciones) en USD
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$filter=IsQuotation eq false and Currency eq '\''USD'\''' \
-H 'Authorization: Bearer YOUR_TOKEN'

Operadores más usados:

OperadorSignificadoEjemplo
eq / neigual / distintoCurrency eq 'USD'
gt ge lt lemayor / mayor-igual / menor / menor-igualFromDate ge 2026-01-01T00:00:00Z
and or notcombinación lógicaIsQuotation eq false and Balance gt 0
contains(...)subcadenacontains(Code,'RNT')
startswith(...)empieza constartswith(Lastname,'Do')
Tipos de valor

Los strings van entre comillas simples ('USD'), las fechas en formato ISO 8601 (2026-01-01T00:00:00Z), y los números/booleanos sin comillas (Balance gt 0, IsQuotation eq false).

$select — elegir campos

Trae solo los campos que necesitás (respuestas más livianas).

curl 'https://{tenant}.rently.com.ar/odata/Bookings?$select=Id,Code,FromDate,ToDate,Currency' \
-H 'Authorization: Bearer YOUR_TOKEN'

$expand — expandir relaciones

Incluye entidades relacionadas en la misma respuesta. En Bookings podés expandir, entre otras, Customer, Category, DeliveryPlace, ReturnPlace y Agency.

# Reservas con los datos del cliente y la categoría embebidos
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$expand=Customer,Category' \
-H 'Authorization: Bearer YOUR_TOKEN'

Podés combinar $expand con $select dentro de la relación:

curl 'https://{tenant}.rently.com.ar/odata/Bookings?$expand=Customer($select=Firstname,Lastname,EmailAddress)' \
-H 'Authorization: Bearer YOUR_TOKEN'

$orderby — ordenar

# Más recientes primero
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$orderby=FromDate desc' \
-H 'Authorization: Bearer YOUR_TOKEN'

Aceptá asc (default) o desc, y varios campos separados por coma.

$top y $skip — paginar

# Segunda página de 20 registros
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$top=20&$skip=20' \
-H 'Authorization: Bearer YOUR_TOKEN'
Máximo por página

El servidor limita cada página a 100 registros. Para recorrer grandes volúmenes, iterá con $skip aumentando de a $top.

$count — total de registros

Agregá $count=true para recibir el total en @odata.count, útil para paginar en una UI.

curl 'https://{tenant}.rently.com.ar/odata/Bookings?$count=true&$top=20' \
-H 'Authorization: Bearer YOUR_TOKEN'
{
"@odata.context": "https://{tenant}.rently.com.ar/odata/$metadata#Bookings",
"@odata.count": 1532,
"value": [ /* ...20 reservas... */ ]
}

Todo junto

Un ejemplo combinando varias opciones: reservas confirmadas, desde una fecha, con el cliente expandido, solo algunos campos, ordenadas y paginadas.

curl 'https://{tenant}.rently.com.ar/odata/Bookings?$filter=IsQuotation eq false and FromDate ge 2026-01-01T00:00:00Z&$expand=Customer($select=Firstname,Lastname)&$select=Id,Code,FromDate,Currency&$orderby=FromDate desc&$top=20&$count=true' \
-H 'Authorization: Bearer YOUR_TOKEN'
Codificá la URL

Al usar estas URLs desde código, acordate de URL-encodear los valores (los espacios pasan a %20, etc.). En curl alcanza con envolver la URL entre comillas como en los ejemplos.

Filtros propios de algunos recursos

Además de las opciones OData, algunos endpoints aceptan parámetros propios:

  • GET /odata/Bookings?customerId={id} — reservas de un cliente (acepta el Id interno o el GlobalId del cliente).
  • GET /odata/Agencies?q={texto} — búsqueda rápida de agencias por nombre o código IATA.

El detalle de cada recurso, con sus campos y parámetros, está en la sección OData del reference.