Fonctionnement de la pagination
Découvrez comment paginer les résultats des endpoints de liste et de recherche.
L’API Stripe comporte des endpoints de liste et de recherche qui peuvent renvoyer plusieurs objets, tels que la liste des clients ou la recherche de PaymentIntents. Pour atténuer les impacts négatifs sur les performances, ces endpoints ne renvoient pas tous les résultats en même temps. Stripe renvoie une page de résultats par appel à l’API, chaque page contenant jusqu’à 10 résultats par défaut. Utilisez le paramètre limite pour modifier le nombre de résultats par page.
Par exemple, il s’agit d’une requête d’API pour répertorier les clients, avec une valeur limit
de 3 :
La réponse de Stripe contient une page avec 3 résultats :
{ "data": [ { "id": "cus_005", "object": "customer", "name": "John Doe", }, { "id": "cus_004", "object": "customer", "name": "Jane Doe", }, { "id": "cus_003", "object": "customer", "name": "Jenny Rosen", }, ], "has_more": true, /* ... */ }
Gardez à l’esprit les détails suivants lorsque vous utilisez ces endpoints :
- Les objets se trouvent dans la propriété
data
. - Les objets sont dans l’ordre chronologique inverse, ce qui signifie que l’objet le plus récent apparaît en premier.
- La propriété
has_
indique si d’autres objets n’ont pas été renvoyés dans cette requête.more
Au lieu de parcourir le tableau pour passer en revue les objets data
, vous pouvez paginer les résultats. Cela vous permet d’éviter d’omettre certains objets lorsque le paramètre has_more est défini sur true
.
Autopagination
Pour récupérer tous les objets, utilisez la fonction de pagination automatique. Celle-ci effectue automatiquement plusieurs appels à l’API jusqu’à ce que le paramètre has_
devienne false
.
Remarque
Lorsque vous utilisez la pagination automatique avec un endpoint de liste et définissez le paramètre sur ending_before, les résultats sont présentés dans l’ordre chronologique, ce qui signifie que le client le plus récemment créé figure en dernier.
Pagination manuelle
Suivez ces étapes pour paginer manuellement les résultats. Ce processus est différent selon que vous appelez un endpoint de liste ou un endpoint de recherche.