Pagination et filtrage
Les procédures de type liste de l'API Inklura suivent une convention de pagination partagée. Comme il s'agit d'une convention plutôt que d'un contrat imposé par le framework, la forme exacte peut varier d'une procédure à l'autre — confirmez toujours auprès de la procédure spécifique que vous appelez.
La convention page / pageSize
Les procédures de liste acceptent généralement deux entrées :
| Entrée | Valeur par défaut | Notes |
|---|---|---|
page |
1 |
Numéro de page débutant à 1. |
pageSize |
20 |
Éléments par page ; plafonné à 100. |
Une requête de type query les encode dans l'enveloppe d'entrée superjson (voir tRPC) :
curl -G "https://manage.inklura.fr/api/trpc/products.list" \
-H "Authorization: Bearer $INKLURA_TOKEN" \
--data-urlencode 'input={"json":{"page":2,"pageSize":50}}'
Forme de la réponse
Une procédure paginée renvoie un objet contenant les éléments plus les métadonnées de
pagination, imbriqué (comme toujours) sous result.data.json :
{
"result": {
"data": {
"json": {
"items": [ { "id": "…" } ],
"total": 137,
"page": 2,
"pageSize": 50
}
}
}
}
items— la page de résultats.total— le nombre total de lignes correspondantes.page/pageSize— renvoient en écho la requête (ou les valeurs par défaut appliquées).
Cela varie selon le router
La pagination est une convention par router, pas une garantie du framework. Toutes les procédures de liste ne paginent pas, et celles qui le font peuvent nommer ou structurer leurs entrées et leur réponse légèrement différemment. Vérifiez le contrat exact de chaque procédure plutôt que de supposer la forme ci-dessus.
Filtrage et recherche
Les entrées de filtrage et de recherche varient elles aussi selon le router. Beaucoup de
procédures de liste acceptent une chaîne search et/ou des filtres de statut, mais les filtres
disponibles — et leurs noms — dépendent du domaine. Il n'existe pas de contrat de filtrage
unique à l'échelle du framework ; consultez la procédure spécifique dans le
catalogue des routers.