Stream EstateStream Estate
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

  • size max : 100 par requête (défaut 10).
  • totalItems est toujours renvoyé, utile pour afficher un total même en mode CURSOR.
  • page est ignoré en mode CURSOR ; cursor est ignoré en mode PAGE.
Version 0.1.116Dernière mise à jour

Sur cette page