Analyze / Utilisation du webservice d'analyse
Analyze / Utilisation du webservice d'analyse
Sur cette Page
Le webservice d’analyse permet d’obtenir, à partir des résultats d’une recherche donnée, les résultats de calculs sur des champs donnés, regroupés en fonction des valeurs de champs de rupture donnés.
Il faut effectuer une requête POST à l’url https://<yellowbox_url>/ws/analyze
avec en body un objet JSON AnalyseRequest. Cet objet est décrit dans la documentation Swagger comme suit :
{
"calculs": [
{
"typeCalcul": "string",
"idChampCalcul": "string"
}
],
"idChampsRupture": [
"string"
],
"idRecherche": "string"
}
L’objet calculs correspond à la liste d’objets calcul définis par une référence de champ et le type de calcul associé.
un type de calcul est : 0 ou SOMME, 1 ou MOYENNE, 2 ou NOMBRE.
L’objet idChampsRupture est une liste de référence de champs permettant la définition des ruptures.
L’objet idRecherche correspond à la référence d’une recherche au sens YellowBox.
Exemple
On veut à partir d’une recherche sur la table Societes : le nombre de sociétés et la somme de CA par type de société et par gestionnaire. On donne :
{
"calculs": [
{
"typeCalcul": "NOMBRE",
"idChampCalcul": "106"(ou 106 est le champ idElement de la table sociétés)
},
{
"typeCalcul": "SOMME",
"idChampCalcul": "120"(ou 120 est le champ CA cumule de la table sociétés)
}
],
"idChampsRupture": [
"112",(ou 112 est le champ Type de la table sociétés)
"126"(ou 126 est le champ Gestionnaire de la table sociétés)
],
"idRecherche": "53"(ou 53 est l’id d’une recherche sur la table sociétés)
}
le service retourne une liste d’objets de type RuptureValeur.
une ruptureValeur contient :
- un titre correspondant à la valeur de rupture
- une liste de rupturevaleurs filles
- une liste de calculsResults
- un calculResult contient : un nom formé du type de calcul + id du champ de calcul ex: COUNT106 une valeur ex: 1
La forme de l’objet reçu du service est la suivante :
{
"titre": "string",
"ruptureValeursFilles": {},
"calculResults": {
"additionalProp1": 0,
"additionalProp2": 0,
"additionalProp3": 0
}
}
Exemple
On reçoit :
[
{
"calculResults": {
"COUNT106": 1,
"SUM120": 0
},
"ruptureValeursFilles": {
"Emilie": {
"calculResults": {
"COUNT106": 1,
"SUM120": 0
},
"ruptureValeursFilles": {},
"titre": "Emilie"
}
},
"titre": "Suspect"
},
{
"calculResults": {
"COUNT106": 2186,
"SUM120": 0
},
"ruptureValeursFilles": {
"Marie": {
"calculResults": {
"COUNT106": 48,
"SUM120": 0
},
"ruptureValeursFilles": {},
"titre": "Marie"
},
"Emilie": {
"calculResults": {
"COUNT106": 2138,
"SUM120": 0
},
"ruptureValeursFilles": {},
"titre": "Emilie"
}
},
"titre": "Prospect"
},
...
]
(truncated for brevity)