Paramètres de requête communs

Les endpoints de liste de WEEGLOO (les GET qui renvoient une collection, comme GET /spaces/{spaceId}/contents) acceptent des paramètres de requête communs. Avec ces paramètres, vous limitez le nombre d'éléments renvoyés par page, définissez le critère de tri, récupérez les ressources liées en même temps, ne sélectionnez que les champs dont vous avez besoin, restreignez la liste par des conditions, et passez à la page suivante ou précédente.

Ces paramètres se comportent de la même manière quel que soit le type de ressource. Chaque référence de ressource ne décrit que les conditions propres à cette ressource et renvoie à cette page pour les paramètres communs traités ici.

Paramètres

ParamètreTypeDescription
limitintegerNombre d'éléments à renvoyer par page. De 1 à 100. Valeur par défaut 15.
skipintegerNombre d'éléments à ignorer. Valeur par défaut 0. Pour la pagination, utilisez le curseur (next, prev) plutôt que skip. Voir Pagination (curseur) ci-dessous.
nextstringCurseur de la page suivante. Obtenu depuis links.next dans la réponse précédente.
prevstringCurseur de la page précédente. Obtenu depuis links.prev dans la réponse précédente.
orderstringCritère de tri. Séparez plusieurs critères par des virgules pour un tri multiniveau (par exemple sys.createdAt,sys.id). Valeur par défaut sys.createdAt,sys.id. Un champ commençant par fields. inclut la locale (par exemple fields.title.en-US).
includeintegerNiveau auquel les ressources liées sont dépliées et récupérées. 0=par défaut, 1=ressources liées, 2=relations imbriquées, 3=complet. Valeur par défaut 0.
selectstringListe, séparée par des virgules, des champs à inclure (par exemple sys.id,sys.createdAt) ou à exclure (par exemple -sys.id) dans le résultat. Ne mélangez pas inclusion et exclusion dans une même requête.
filter(condition)Restreint la liste par des conditions. Voir Filtre ci-dessous pour le format.

Les types de champs sys utilisés dans order et select sont répertoriés dans Propriétés système (sys).

Filtre

Les conditions de filtre ne sont pas encapsulées dans filter[] ; vous les envoyez directement comme paramètres de requête. Le format est {champ}[{opérateur}]={valeur}, et si vous omettez l'opérateur, il est interprété comme eq. Pour l'ensemble des opérateurs disponibles, voir Opérateurs ci-dessous.

{champ}[{opérateur}]={valeur}

Par exemple, pour ne récupérer que les éléments dont le name commence par gourde, envoyez name[prefix]=gourde. Les règles et les points de vigilance sont les suivants.

  • N'encapsulez pas les conditions dans filter[]. Une encapsulation comme filter[name[prefix]]=gourde ne fonctionne pas.
  • Plusieurs conditions sont combinées par un ET. Seuls les éléments qui les satisfont toutes sont conservés ; la recherche OU, où il suffit de satisfaire une seule de plusieurs conditions, n'est pas prise en charge. Pour faire correspondre l'une de plusieurs valeurs dans un même champ, utilisez in.
  • Une condition fields. inclut la locale. Par exemple, fields.file.ko-KR.mimeGroups=Image ne conserve que les fichiers image dans une liste Media, et sys.createdAt[gte]=2026-06-01T00:00:00Z ne conserve que les éléments créés après ce moment.
  • Pour filtrer ou trier une liste Content par une condition fields., vous devez aussi indiquer le Content Type. Vous devez envoyer sys.contentType.sys.id en même temps (uniquement pour la liste /contents) ; un simple contentType= ne peut pas s'y substituer. Pour plus de détails, voir la référence Content.

Opérateurs

OpérateurSignificationValeur
eqÉgal. Interprété ainsi si l'opérateur est omis.Valeur unique
neDifférentValeur unique
inÉgal à l'une des valeurs énuméréesListe de valeurs
ninDifférent de chacune des valeurs énuméréesListe de valeurs
allUn champ de type tableau contient toutes les valeurs énuméréesListe de valeurs
existsPrésence ou non d'une valeurtrue ou false
prefixCorrespondance par préfixeValeur unique
gt / gteSupérieur à / supérieur ou égal àValeur unique
lt / lteInférieur à / inférieur ou égal àValeur unique
regexCorrespondance par expression régulière. Recherche avancée uniquement (voir Recherche avancée ci-dessous).Expression régulière
nearUn champ Location situé à une distance donnée d'un point. Recherche avancée uniquement.longitude,latitude,distance (distance en kilomètres)
withinUn champ Location à l'intérieur d'un polygone. Recherche avancée uniquement.Au moins trois paires de coordonnées longitude,latitude jointes bout à bout

Les champs RichText et Json ne peuvent pas faire l'objet d'une recherche, ils ne peuvent donc pas être utilisés dans des conditions de filtre.

Les opérateurs regex, near et within ainsi que la recherche plein texte ne fonctionnent qu'en recherche avancée. Vous activez la recherche avancée en ajoutant l'en-tête X-Weegloo-Advanced-Search: true à une requête de liste, et le même en-tête est renvoyé dans la réponse.

  • Recherche plein texte : lorsque vous utilisez eq sur un champ texte (LongText) pour lequel la recherche plein texte est activée, la requête trouve non seulement les valeurs exactement identiques, mais aussi les éléments qui contiennent cette valeur, par correspondance partielle et approchée. Si la recherche avancée n'est pas activée, ou si votre offre ne propose pas la recherche avancée, le même eq fonctionne comme une correspondance exacte.
  • Recherche Location : near (rayon) et within (polygone) ne s'appliquent qu'aux champs Location et ne fonctionnent qu'en recherche avancée.
  • Si vous envoyez regex, near ou within dans une requête où la recherche avancée n'est pas disponible, ils ne sont pas acceptés.

Pagination (curseur)

Le corps d'une réponse de liste contient un objet links, qui contient next et prev. links.next est le chemin complet vers la page suivante.

/v1/spaces/HnQ32YiH/contents?limit=15&next=<curseur>

Il y a deux façons de récupérer la page suivante. Vous pouvez appeler le chemin links.next tel quel, ou extraire la valeur du curseur next depuis links.next et la passer comme paramètre next de votre requête suivante. S'il n'y a pas de links.next, c'est la dernière page. Vous passez à la page précédente de la même manière avec links.prev.

N'augmentez pas skip pour changer de page. Si des éléments sont ajoutés ou supprimés entre deux appels de liste, la position de skip se décale et des éléments peuvent être omis ou dupliqués. Le curseur (next, prev) ne présente pas ce problème.

Voici un exemple de la structure d'une réponse de liste. Le sys.type de l'enveloppe est TotalPageResponse, items contient le tableau d'éléments et links contient les chemins de navigation.

{
  "sys": { "type": "TotalPageResponse" },
  "limit": 15,
  "totalCount": 42,
  "items": [
    {
      "sys": {
        "id": "3trmXRM3RqbgSnifyg7PUl8DzDgDzP",
        "type": "Content",
        "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
        "createdAt": "2026-06-18T09:51:14.597Z",
        "updatedAt": "2026-06-18T09:51:44.128Z",
        "version": 2,
        "status": "Published"
      }
    }
  ],
  "links": {
    "self": "/v1/spaces/HnQ32YiH/contents?limit=15",
    "next": "/v1/spaces/HnQ32YiH/contents?limit=15&next=Q3Vyc29yVmFsdWU"
  }
}

totalCount est le nombre total d'éléments qui correspondent aux conditions, et limit est la taille de page appliquée à cette réponse. items ne contient que les éléments appartenant à cette page.