NiaOne · Documentation
Intégration SDK

Envoyer vos champs de session

Envoyez vos propres données par session pour les retrouver dans les dashboards NiaOne.

Vos dashboards peuvent suivre vos propres indicateurs métier. Par exemple, pour un SIA de support client : « ticket créé », « résolution proposée par l'IA », « client aidé ». Cette page explique comment envoyer ces données.

Le principe

  • Chaque session porte vos champs.
  • NiaOne repère ces champs tout seul, sans configuration.
  • Vous les retrouvez dans les dashboards : KPI, répartitions, courbes et assistant IA.

Une règle par type de valeur

Choisissez le canal selon le type de la valeur. Gardez le même canal pour un champ donné.

Type de valeurComment l'envoyerExemple
Oui / nonLabel x.<nom>, valeur "true" ou "false" (texte)x.ticket_cree = "true"
Liste de valeursLabel x.<nom>, valeurs courtes et stablesx.client_aide = "oui" | "non" | "partiel"
NombreMétrique : nom, valeur, unitéduree_traitement_s = 184, unité "s"

Pourquoi ces choix :

  • Un label n'accepte que du texte. Un booléen JSON (true sans guillemets) est refusé à l'envoi. Écrivez donc "true" ou "false".
  • Les labels servent à trier et regrouper. C'est ce qu'il faut pour un taux ou une répartition.
  • Une métrique porte un vrai nombre et son unité. NiaOne peut en faire une moyenne ou un total.

Où les envoyer

Une session regroupe plusieurs tours. Chaque tour est un flow, et tous les tours partagent le même session_id (voir Sessions et traçage distribué).

Deux façons de faire, au choix :

  • Sur le flow de chaque tour, avec le même session_id. Les labels du flow sont hérités par toutes ses étapes et tous ses événements.
  • Sur un flow de fin de session, envoyé une fois quand la session se termine, avec le même session_id. C'est le plus simple quand les valeurs ne sont connues qu'à la fin.

La dernière valeur compte

Si un champ est envoyé plusieurs fois dans une session, NiaOne garde la dernière valeur reçue. Vous pouvez donc envoyer "false" au début, puis "true" quand le ticket est créé.

Exemple complet : un SIA de support

Cet exemple envoie un flow de fin de session. Il combine des appels déjà documentés :

def fin_de_session(session_id: str, ticket_cree: bool, resolution_proposee: bool,                 client_aide: str, duree_traitement_s: float):  # Les labels sont du texte : "true" / "false", jamais un booléen.  flow = start_flow(client, flow_definition_id="support_bot", name="support_bot_main",      session_id=session_id,      labels={          "x.ticket_cree": "true" if ticket_cree else "false",          "x.resolution_proposee": "true" if resolution_proposee else "false",          "x.client_aide": client_aide,  # "oui", "non" ou "partiel"      })  # Le nombre passe par une métrique, sur une étape de ce flow.  step = start_step(flow, asset=asset, flow=Flow(name="support_bot_main"))  metric(step, "duree_traitement_s", duree_traitement_s, unit="s")  end_step(step, "success")  end_flow(flow, "success")fin_de_session("conv_8421", ticket_cree=True, resolution_proposee=True,             client_aide="partiel", duree_traitement_s=184)

Pour envoyer les champs sur chaque tour, ajoutez les mêmes labels au flow de chaque tour. Mettez-y les valeurs connues à ce moment-là.

Envoyez le champ sur chaque session

Un taux comme « sessions avec ticket créé » se calcule sur toutes les sessions de la période. Une session sans le champ compte dans la base, mais jamais comme « oui ». Envoyez donc aussi "false" quand la réponse est non.

Ce que vous obtenez dans NiaOne

NiaOne déduit le type de chaque champ à partir des valeurs reçues. Il propose alors des blocs adaptés. Le nom affiché est un nom lisible, sinon la clé.

Type de champBlocs proposés
Oui / nonTaux de sessions à « oui » (avec la base : « sur N sessions »), courbe par jour
Liste de valeursRépartition des sessions par valeur
NombreMoyenne, total, courbe par jour
  • Combiner deux champs : demandez-le à l'assistant IA du dashboard. Par exemple : « taux de clients aidés parmi les sessions où l'IA a proposé une résolution ».
  • Voir les sessions derrière un chiffre : cliquez sur un chiffre, un jour ou une valeur. La liste des sessions concernées s'ouvre. Chaque ligne ouvre le détail de la session.
  • Les jours suivent le fuseau horaire de votre navigateur.

Bonnes pratiques et limites

RègleDétail
Pas de données personnelles en labelPas d'identifiant, d'e-mail ni de texte libre. Ces champs ne sont pas proposés dans les dashboards, et les données personnelles sont masquées dans la liste des sessions.
Valeurs courtes et stablesQuelques valeurs possibles, toujours écrites pareil : "oui", pas "Oui" un jour et "oui !" le lendemain.
Clés en minusculesPréfixe x., minuscules, sans accent, avec . ou _ : x.ticket_cree, x.client_aide.
Clés réservéesenvironment est réservé : NiaOne le remplit avec l'environnement de la clé API et écrase toute valeur envoyée. Les labels système (env, tenant, product, team…) le sont aussi.
Taille d'un envoi256 Ko au plus par envoi (valeur par défaut), 100 enregistrements au plus par lot.
Données de test à partUtilisez une clé API par environnement. Vos tests restent séparés des chiffres de production.

Vérifier que ça marche

  1. 1

    Envoyer une session de test

    Lancez une session avec vos champs, avec la clé API de votre environnement de test.

  2. 2

    Contrôler la session

    Dans Explore › Sessions, ouvrez la session, puis l'onglet Metadata. Vos champs apparaissent dans Labels. Vous pouvez aussi afficher un champ en colonne via Colonnes › champs custom (voir Exploiter les metadata).

  3. 3

    Retrouver le champ dans un dashboard

    Dans un dashboard, ouvrez Ajouter des blocs › Vos champs. Vos champs y sont listés après les premiers envois, avec les blocs proposés pour leur type.

Le champ n'apparaît pas

Vérifiez d'abord l'onglet Metadata de la session. Si le champ n'y est pas, il n'a pas été envoyé : contrôlez le session_id et le type de la valeur (du texte pour un label). Un envoi refusé pour un booléen non converti ne crée aucune donnée.

On this page