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

Attention

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.