Sélection des données
Certaines méthodes d'API de lecture permettent de sélectionner les propriétés à retourner dans les résultats.
Cela permet de réduire la taille des réponses et d'améliorer les performances.
Structure de la sélection
La sélection est passée dans un tableau d'entiers, nommé Selection dans le corps de la requête.
Chaque entier représente l'index d'un groupe de propriétés à inclure dans les résultats.
Si la sélection n'est pas spécifiée, seules les propriétés permettant d'identifier l'enregistrement sont retournées.
Groupe de propriétés
Les groupes de propriétés disponibles pour la sélection varient en fonction du sujet concerné par l'API (un client n'a pas les mêmes propriétés disponibles qu'une mission).
Chaque groupe est identifié par un index numérique unique.
Cet index est documenté dans la description de chaque API.
Exemple extrait de la documentation de l'API de lecture des clients :

Les numéros entourés en bleu sont les index des groupes de propriétés.
Exemples de sélections
Lors de l'appel à l'API de lecture des clients, l'absence de la sélection va provoquer un retour limité aux seules propriétés d'identification.
Le même comportement sera observé si la sélection à la valeur null ou si le tableau est vide.
Entrée :
{
"Page": { "PageIndex": 1, "PageSize": 1 },
"Filters": [{ "property": 1, "constantValue": "LPH001", "comparisonOperateur": 1, "inversion": false,"logicOperator": 1 }]
}
Retour :
{
"page": { "previousPage": null, "nextPage": null, "pageCount": 1 },
"customers": [
{
"id": "LPH001",
"shortName": "LPH TESTS",
"closed": false
}
]
}
Lors de l'appel à l'API de lecture des clients, la sélection de groupe de propriété numéroté 3 va provoquer un retour contenant les propriétés d'identification, auxquelles viendront s'ajouter les données de communication.
Entrée :
{
"Page": { "PageIndex": 1, "PageSize": 1 },
"Filters": [{ "property": 1, "constantValue": "LPH001", "comparisonOperateur": 1, "inversion": false,"logicOperator": 1 }],
"Selection" : [3]
}
Retour :
{
"page": { "previousPage": null, "nextPage": null, "pageCount": 1 },
"customers": [
{
"id": "LPH001",
"shortName": "LPH TESTS",
"closed": false,
"communication": {
"phone1": "0607080910",
"phone2": null,
"phone3": null,
"email": "bel@test.fr",
"webSite": "https://test.com/"
}
}
]
}
Ici, nous avons rajouté le groupe de propriétés numéroté 2, qui contient l'adresse.
Entrée :
{
"Page": { "PageIndex": 1, "PageSize": 1 },
"Filters": [{ "property": 1, "constantValue": "LPH001", "comparisonOperateur": 1, "inversion": false,"logicOperator": 1 }],
"Selection" : [3,2]
}
Retour :
{
"page": { "previousPage": null, "nextPage": null, "pageCount": 1 },
"customers": [
{
"id": "LPH001",
"shortName": "LPH TESTS",
"closed": false,
"address": {
"address1": "52 Quai Paul Sedallian",
"address2": "test adresse 3",
"address3": "test adresse 4",
"zipCode": "69009",
"city": "Lyon",
"country": "FRA",
"area": ""
},
"communication": {
"phone1": "0607080910",
"phone2": null,
"phone3": null,
"email": "bel@test.fr",
"webSite": "https://test.com/"
}
}
]
}