Construire des queries OData
Ce guide montre comment construire des requêtes contre les endpoints OData de Rently en utilisant les
options standard : filtrer, sélectionner des champs, étendre des relations, trier, paginer et
compter. Tous les exemples portent sur GET https://{tenant}.rently.com.ar/odata/... avec le header
Authorization: Bearer {token}.
Chez Rently, $filter, $select, $expand, $orderby, $top, $skip et
$count sont activées. Les collections sont paginées côté serveur avec un maximum de 100 enregistrements par
page.
Requête de base
curl 'https://{tenant}.rently.com.ar/odata/Bookings' \
-H 'Authorization: Bearer YOUR_TOKEN'
La réponse arrive dans l'enveloppe standard d'OData : les enregistrements se trouvent dans value.
{
"@odata.context": "https://{tenant}.rently.com.ar/odata/$metadata#Bookings",
"value": [
{ "Id": 1, "Code": "RNT-0001", "Currency": "USD", "IsQuotation": false }
]
}
$filter — filtrer
Filtre la collection selon des conditions portant sur les champs de l'entité.
# Réservations confirmées (non devis) en USD
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$filter=IsQuotation eq false and Currency eq '\''USD'\''' \
-H 'Authorization: Bearer YOUR_TOKEN'
Opérateurs les plus utilisés :
| Opérateur | Signification | Exemple |
|---|---|---|
eq / ne | égal / différent | Currency eq 'USD' |
gt ge lt le | supérieur / supérieur-égal / inférieur / inférieur-égal | FromDate ge 2026-01-01T00:00:00Z |
and or not | combinaison logique | IsQuotation eq false and Balance gt 0 |
contains(...) | sous-chaîne | contains(Code,'RNT') |
startswith(...) | commence par | startswith(Lastname,'Do') |
Les strings sont entre guillemets simples ('USD'), les dates au format ISO 8601
(2026-01-01T00:00:00Z), et les nombres/booléens sans guillemets (Balance gt 0,
IsQuotation eq false).
$select — choisir les champs
Ne récupère que les champs dont vous avez besoin (réponses plus légères).
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$select=Id,Code,FromDate,ToDate,Currency' \
-H 'Authorization: Bearer YOUR_TOKEN'
$expand — étendre les relations
Inclut les entités liées dans la même réponse. Dans Bookings, vous pouvez étendre, entre
autres, Customer, Category, DeliveryPlace, ReturnPlace et Agency.
# Réservations avec les données du client et la catégorie intégrées
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$expand=Customer,Category' \
-H 'Authorization: Bearer YOUR_TOKEN'
Vous pouvez combiner $expand avec $select à l'intérieur de la relation :
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$expand=Customer($select=Firstname,Lastname,EmailAddress)' \
-H 'Authorization: Bearer YOUR_TOKEN'
$orderby — trier
# Les plus récentes en premier
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$orderby=FromDate desc' \
-H 'Authorization: Bearer YOUR_TOKEN'
Accepte asc (default) ou desc, et plusieurs champs séparés par des virgules.
$top et $skip — paginer
# Deuxième page de 20 enregistrements
curl 'https://{tenant}.rently.com.ar/odata/Bookings?$top=20&$skip=20' \
-H 'Authorization: Bearer YOUR_TOKEN'
Le serveur limite chaque page à 100 enregistrements. Pour parcourir de grands volumes, itérez avec
$skip en augmentant par pas de $top.
$count — total d'enregistrements
Ajoutez $count=true pour recevoir le total dans @odata.count, utile pour paginer dans une 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 réservations... */ ]
}
Tout ensemble
Un exemple combinant plusieurs options : réservations confirmées, à partir d'une date, avec le client étendu, seulement quelques champs, triées et paginées.
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'
Lorsque vous utilisez ces URLs depuis du code, pensez à URL-encoder les valeurs (les espaces deviennent
%20, etc.). Avec curl, il suffit d'entourer l'URL de guillemets comme dans les exemples.
Filtres propres à certaines ressources
En plus des options OData, certains endpoints acceptent leurs propres paramètres :
GET /odata/Bookings?customerId={id}— réservations d'un client (accepte l'Id interne ou leGlobalIddu client).GET /odata/Agencies?q={texte}— recherche rapide d'agences par nom ou code IATA.
Le détail de chaque ressource, avec ses champs et ses paramètres, se trouve dans la section OData de la reference.