Filtrage des données

Tous les résultats constitués d’objets touristiques sont filtrés. Seuls sont fournis les champs qui ont été demandés au moment de la requête.

Ce mode de fonctionnement permet de réduire la taille des résultats et ainsi d’accélérer la vitesse des traitements autant côté serveur que client.

Pour le confort de tous, merci de paramétrer correctement le filtrage des champs.

Les langues font aussi l’objet d’un filtrage. Merci de vous référer à la documentation dédiée.

Comportement par défaut

Le filtrage des données est systématiquement activé. En l’absence de paramétrage fourni, seuls les champs suivants sont fournis :

  • id
  • identifier
  • nom
  • informations.moyensCommunication
  • presentation.descriptifCourt
  • localisation.adresse
  • localisation.geolocalisation
  • illustrations
  • les champs d’informations spécifiques propre au type objet (cf tableau des types d’objet)

Paramétrage du filtrage des données

Il vous est possible de personnaliser la liste des champs renvoyés en modifiant le paramètre responseFields.

Le paramètre responseFields peut être fourni sous deux formats différents en fonction des requêtes :

sans paramètre query

le paramètre est passé sous la forme d’un query parameter (?responseFields=…&). Chaque champ ou alias est séparé par une virgule.

responseFields=id,nom,informations,presentation.descriptifCourt,@informationsObjetTouristique

avec paramètre query

l’attribut responseFields de l’objet de requête est une liste de chaînes de caractères. Chaque chaine de caractères correspond à un nom de champ ou à un alias. Exemple :

...
"responseFields" : [ "id",
   "nom",
   "informations",
   "presentation.descriptifCourt",
   "@informationsObjetTouristique"
],
...

Détail des règles de filtrage

Les règles de filtrage sont les suivantes :

  • tous les attributs de premier niveau (cf tableau) sont filtrables.
    Exemple : pour responseFields = « informations », seul l’attribut informations est fourni.
  • il est possible de filtrer les attributs de deuxième niveau pour tous les champs qui ne sont des listes.
    Exemple : pour responseFields = « informations.moyensCommunication », seule la liste des moyens de communication est fournie sur l’objet touristique.
    Exemple : territoires est une liste d’éléments. responseFields = territoires fournit la liste des territoires. Il n’est pas possible de filtrer les champs fournis pour chaque territoire.
  • les filtres s’ajoutent : si on indique responseFields=informations.structureGestion,informations alors l’ensemble du champ informations est indiqué (grâce à la partie informations).

Filtrage et alias

Pour faciliter votre travail de sélection, les alias suivants ont été mis en place :

  • @default : est équivalent aux champs fournis par défaut. Vous permet d’étendre facilement le contenu d’une réponse. responseFields=@default,presentation permet d’afficher l’ensemble des champs par défaut plus l’attribut presentation en entier.
  • @all : permet de ne pas filtrer le retour. A utiliser exclusivement en développement, ou si vous avez vraiment besoin de toutes les informations.
  • @informationsObjetTouristique : correspond à tous les champs informations* (informationsActivite, informationsCommerceEtService, …). Cet alias est inclus dans @default
  • @minimal sélectionne seulement id et le nom.