Pular para o conteúdo principal

Montar queries OData

Este guia mostra como construir consultas contra os endpoints OData da Rently usando as opções padrão: filtrar, selecionar campos, expandir relações, ordenar, paginar e contar. Todos os exemplos vão sobre GET https://{tenant}.rently.com.ar/odata/... com o header Authorization: Bearer {token}.

Opções habilitadas

Na Rently estão habilitadas $filter, $select, $expand, $orderby, $top, $skip e $count. As coleções são paginadas do lado do servidor com um máximo de 100 registros por página.

Request base

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

A resposta vem no envelope padrão do OData: os registros vão em value.

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

$filter — filtrar

Filtra a coleção por condições sobre os campos da entidade.

# Reservas confirmadas (não cotações) em USD
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$filter=IsQuotation eq false and Currency eq '\''USD'\''' \
-H 'Authorization: Bearer YOUR_TOKEN'

Operadores mais usados:

OperadorSignificadoExemplo
eq / neigual / diferenteCurrency eq 'USD'
gt ge lt lemaior / maior-igual / menor / menor-igualFromDate ge 2026-01-01T00:00:00Z
and or notcombinação lógicaIsQuotation eq false and Balance gt 0
contains(...)substringcontains(Code,'RNT')
startswith(...)começa comstartswith(Lastname,'Do')
Tipos de valor

As strings vão entre aspas simples ('USD'), as datas no formato ISO 8601 (2026-01-01T00:00:00Z), e os números/booleanos sem aspas (Balance gt 0, IsQuotation eq false).

$select — escolher campos

Traz apenas os campos de que você precisa (respostas mais leves).

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

$expand — expandir relações

Inclui entidades relacionadas na mesma resposta. Em Bookings você pode expandir, entre outras, Customer, Category, DeliveryPlace, ReturnPlace e Agency.

# Reservas com os dados do cliente e da categoria embutidos
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$expand=Customer,Category' \
-H 'Authorization: Bearer YOUR_TOKEN'

Você pode combinar $expand com $select dentro da relação:

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

$orderby — ordenar

# Mais recentes primeiro
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$orderby=FromDate desc' \
-H 'Authorization: Bearer YOUR_TOKEN'

Aceita asc (default) ou desc, e vários campos separados por vírgula.

$top e $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

O servidor limita cada página a 100 registros. Para percorrer grandes volumes, itere com $skip aumentando de $top em $top.

$count — total de registros

Adicione $count=true para receber o total em @odata.count, útil para paginar em uma 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... */ ]
}

Tudo junto

Um exemplo combinando várias opções: reservas confirmadas, a partir de uma data, com o cliente expandido, apenas alguns campos, ordenadas e 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'
Codifique a URL

Ao usar estas URLs a partir de código, lembre-se de URL-encodar os valores (os espaços viram %20, etc.). No curl basta envolver a URL entre aspas como nos exemplos.

Filtros próprios de alguns recursos

Além das opções OData, alguns endpoints aceitam parâmetros próprios:

  • GET /odata/Bookings?customerId={id} — reservas de um cliente (aceita o Id interno ou o GlobalId do cliente).
  • GET /odata/Agencies?q={texto} — busca rápida de agências por nome ou código IATA.

O detalhe de cada recurso, com seus campos e parâmetros, está na seção OData do reference.