Pagination

Dans ce guide, nous allons voir comment gérer des réponses paginées lors d'une requête GET à l'API.
Par défaut, toutes les réponses sont composées d'une liste de maximum 100 éléments. Si vous le souhaitez, vous pouvez ajuster cette valeur jusqu'à 1000 en ajoutant un paramètre limit à votre requête.

Quand l'API retourne une liste, la pagination est incluse, peu importe la taille de la liste. Dans une réponse paginée, les objets sont inclus sous le champ data et un champ metadata est présent à la racine. Dans cet objet, nous pouvons voir la taille totale de la portion de donnée à laquelle on souhaite accéder via totalCount et notre position dans la liste via skip.
Lorsque vous passez le paramètre skip dans une requête, la réponse retournée débutera après le nombre d'élément indiqué.

Example de pagination

Dans cet exemple, nous listons les évènements de notre oganisation. Nous souhaitons commencer à partir du 10ème élément. Comme la liste complète est constituée de 13 éléments, l'API nous retourne les 3 derniers. Nous pouvons remarquer que la somme de skip et de limit est supérieur à totalCount, et que nous avons donc atteint la fin de la liste.

  • Name
    limit
    Type
    integer
    Description

    Le nombre total de documents à retourner.

  • Name
    skip
    Type
    integer
    Description

    Le nombre de documents à ignorer avant de commencer la liste.

  • Name
    sort
    Type
    string
    Description

    Permet d'ordonner les documents selon un champ et un sens spécifique via :asc ou :desc

  • Name
    [field]
    Type
    string
    Description

    Permet de filter les documents selon les valeurs de certains de leur champ.
    Vous pouvez filter sur plusieurs champs à la fois et avez accès à une multitude d'opérateurs.
    Le filtrage peut accéder à des champs imbriqués via .. placeId=6502c3aa54d67d2673639eb2&collectedAmounts.funds=gt:10000

Pagination manuelle avec cURL

curl -G "https://api.shunter.fr/v1/organizers/:_id/events?limit=10&skip=10" \
  -H "Authorization: X-API-KEY {YOUR_API_KEY}" \

Réponse paginée

{
  "metadata": {
    "totalCount": 13,
    "skip": 10,
    "limit": 10,
    "sort": "_id:asc",
    "filters": {},
    "search": ""
  },
  "data": [
    {
      "_id": "6284fc540000011dfcca3b15",
      // ...
    },
    {
      "id": "6283868c0000011dfcca3174"
      // ...
    },
    {
      "id": "627928940000011dfcca4ee3"
      // ...
    }
  ]
}

Opérateurs de filtrage disponibles

Vous pouvez utiliser une multitude d'opérateurs pour filtrer les documents selon leurs champs. Voici une liste des opérateurs disponibles L'utilisation des opérateurs se fait en ajoutant opérateur: avant la valeur recherchée. Par exemple, pour filtrer les évènements dont le champ collectedAmounts.funds est supérieur à 10000, vous pouvez utiliser collectedAmounts.funds=gt:10000.

  • Name
    eq
    Type
    string
    Description

    Égal à

  • Name
    ne
    Type
    string
    Description

    Différent de

  • Name
    gt
    Type
    string
    Description

    Supérieur à

  • Name
    gte
    Type
    string
    Description

    Supérieur ou égal à

  • Name
    lt
    Type
    string
    Description

    Inférieur à

  • Name
    lte
    Type
    string
    Description

    Inférieur ou égal à

  • Name
    in
    Type
    string
    Description

    Présent dans

  • Name
    nin
    Type
    string
    Description

    Absent de

  • Name
    size
    Type
    string
    Description

    Taille de

  • Name
    exists
    Type
    string
    Description

    Existe

  • Name
    search
    Type
    string
    Description

    Recherche en texte intégral, ne prend pas en compte la casse.

Cette page a été utile ?