Aller au contenu

Filtrage, Tri et Pagination

La plupart des endpoints qui renvoient des tableaux peuvent inclure des informations de filtrage, de tri et de pagination dans la requête pour vous aider à gérer les résultats de manière efficace.

Filtrage

Vous pouvez ajouter des filtres à votre requête pour vérifier si le champ que vous spécifiez contient une chaîne de caractères ou un nombre spécifique.

La structure est la suivante : objet.clé=valeur, par exemple : name=pikachu.

Exemple

Requête :

https://api.tcgdex.net/v2/en/cards?name=pikachu

Réponse :

[
{
"id": "basep-1",
"localId": "1",
"name": "Pikachu",
"image": "https://assets.tcgdex.net/fr/base/basep/1"
},
// ...
{
"id": "xyp-XY95",
"localId": "XY95",
"name": "Pikachu",
"image": "https://assets.tcgdex.net/fr/xy/xyp/XY95"
}
]

Tri

Le tri est effectué par défaut dans l’API en fonction des champs releaseDate > localId > id.

Vous pouvez remplacer l’algorithme de tri par défaut en ajoutant des paramètres à votre requête :

paramètre de requêtevaleur par défautvaleurs possiblesdescription
sort:fieldreleaseDate > localId > idclé de l’objetchange le champ utilisé pour le tri (DOIT être le nom d’un champ de l’objet)
sort:orderASCASC, DESCchange l’ordre de tri sur le champ spécifié

Exemple

Requête :

https://api.tcgdex.net/v2/fr/sets?sort:field=name&sort:order=DESC

Réponse :

[
{
"id": "sma",
"name": "Yellow A Alternate",
"symbol": "https://assets.tcgdex.net/univ/sm/sma/symbol",
"cardCount": {
"total": 94,
"official": 94
}
},
// ...
{
"id": "sv03.5",
"name": "151",
"logo": "https://assets.tcgdex.net/fr/sv/sv03.5/logo",
"symbol": "https://assets.tcgdex.net/univ/sv/sv03.5/symbol",
"cardCount": {
"total": 207,
"official": 165
}
}
]

Pagination

La pagination n’est pas effectuée automatiquement pour accélérer les requêtes côté client.

Vous pouvez tout de même l’activer en ajoutant les paramètres de pagination suivants à votre requête :

paramètre de requêtevaleur par défautvaleurs possiblesdescription
pagination:page1NombreIndique la page à afficher
pagination:itemsPerPage100 (lorsque pagination:page est défini)NombreIndique le nombre d’éléments affichés par page

Exemple

Requête :

https://api.tcgdex.net/v2/fr/sets?pagination:page=3&pagination:itemsPerPage=2

Réponse :

[
{
"id": "base3",
"name": "Fossile",
"logo": "https://assets.tcgdex.net/fr/base/base3/logo",
"symbol": "https://assets.tcgdex.net/univ/base/base3/symbol",
"cardCount": {
"total": 62,
"official": 62
}
},
{
"id": "jumbo",
"name": "Cartes Jumbo",
"cardCount": {
"total": 160,
"official": 160
}
}
]