Skip to main content

Aperçu

Tous les points d’accès de liste de l’API Smartbills retournent des résultats paginés. La pagination vous permet de récupérer efficacement de grands ensembles de données en les divisant en pages plus petites.

Paramètres de requête

Tous les points d’accès de liste acceptent ces paramètres de pagination et de tri :
integer
default:"1"
Numéro de page à récupérer (commence à 1)
integer
default:"20"
Nombre d’éléments par page. Minimum : 1, Maximum : 100, Défaut : 20
string
default:"createdAt"
Champ de tri des résultats (ex. : createdAt, date, amount)
string
default:"desc"
Direction du tri : asc (croissant) ou desc (decroissant)

Format de réponse

Les réponses paginées incluent le tableau de données et un objet de métadonnées de pagination :

Objet de pagination

object
Métadonnées de pagination

Exemples de base

Première page

Récupérer la première page de résultats avec tri :

Page suivante

Naviguer à la page suivante en vérifiant hasNext :

Parcourir toutes les pages

Iteration simple

Parcourir toutes les pages pour récupérer tous les résultats :

Avec gestion des erreurs et limitation de débit

Pagination prête pour la production avec gestion des erreurs :

Pagination avec filtres

Combinez la pagination avec le filtrage pour affiner vos résultats :

Limites de pagination

Taille maximale de page

  • Maximum : 100 éléments par page
  • Défaut : 20 éléments par page
  • Minimum : 1 élément par page
Demander plus de 100 éléments par page entrainera une erreur de validation 400 Bad Request.

Bonnes pratiques

  • Petites pages (20-50) : Mieux pour la pagination UI et une réponse initiale plus rapide
  • Grandes pages (100) : Mieux pour le traitement en lot et moins d’appels API
  • Défaut (20) : Bon equilibre pour la plupart des cas d’utilisation
Vérifiez toujours hasNext avant de récupérer la page suivante. Cela evite les appels API inutiles lorsque vous avez atteint la fin des résultats.
Ajoutez de petits délais entre les requêtes lors de la récupération de plusieurs pages pour eviter d’atteindre les limites de débit. Consultez Limites de débit pour plus de détails.
Mettez en cache les résultats paginés pour réduire les appels API redondants, surtout pour les données qui ne changent pas frequemment.
Appliquez des filtres pour affiner les résultats avant de paginer, réduisant le nombre total de pages et d’appels API nécessaires.

Dépannage

Causes possibles : Les données ont été supprimées entre les requêtes, les filtres sont trop restrictifs, ou une condition de concurrence avec des modifications simultanées. Solution : Recommencez depuis le début ou ajustez vos filtres.
Raison : C’est normal. Les données peuvent être ajoutées ou supprimées pendant la pagination. Solution : Utilisez hasNext au lieu de totalPages pour la logique d’iteration.
Solutions : Utilisez des tailles de page plus grandes (jusqu’à 100), ajoutez des filtres pour réduire le jeu de données total, mettez en cache les résultats, ou utilisez des webhooks pour les mises à jour en temps réel au lieu du polling.

Ressources connexes

Limites de débit

Comprendre la limitation de débit de l’API

Gestion des erreurs

Gérer les erreurs de pagination

Lister les dépenses

Point d’accès de liste des dépenses

Webhooks

Notifications en temps réel