Guides
Pagination
Pagination par page ou par curseur sur POST /properties
POST /properties expose deux modes via le champ discriminant paginationType (enum "PAGE" ou "CURSOR", défaut "PAGE").
paginationType: "PAGE" — offset classique
Simple et lisible, mais peut renvoyer des doublons ou omettre des items si la donnée évolue entre deux pages.
{
"paginationType": "PAGE",
"page": 1,
"size": 20,
"criteria": {
"property": { "type": { "in": ["FLAT"] } }
}
}Incrémentez page jusqu'à hasNextPage === false.
paginationType: "CURSOR" — curseur stable
Recommandé pour le scraping / export / listes longues. Stable même si des items sont insérés entre appels.
Première requête
Omettez cursor (ou envoyez null) :
{
"paginationType": "CURSOR",
"size": 50,
"criteria": {
"property": { "type": { "in": ["FLAT"] } }
}
}Réponse
{
"items": [ /* 50 résultats */ ],
"totalItems": 4231,
"hasNextPage": true,
"cursor": "eyJzb3J0IjpbMTc3ODg0NDY0MzAwMCwiMDE5Z..."
}Page suivante
Renvoyez tel quel le cursor reçu dans la réponse précédente :
{
"paginationType": "CURSOR",
"size": 50,
"cursor": "eyJzb3J0IjpbMTc3ODg0NDY0MzAwMCwiMDE5Z...",
"criteria": {
"property": { "type": { "in": ["FLAT"] } }
}
}Bouclez jusqu'à hasNextPage === false. Le cursor est opaque — ne tentez pas de l'analyser, contentez-vous de le réémettre.
Limites
sizemax : 100 par requête (défaut10).totalItemsest toujours renvoyé, utile pour afficher un total même en modeCURSOR.pageest ignoré en modeCURSOR;cursorest ignoré en modePAGE.