Gestion des données de session
Lorsque vous lancez une session avec la méthode startSession, les données de session sont chargées en mémoire. Tout au long de la session, vous pouvez lire et écrire les données de session (qui sont un sur-ensemble du profil de données statiques). La session contient les données suivantes :
*
*
*
*
Toutes les données de session sont disponibles jusqu'à ce que vous appeliez la méthode endSession, ou que le délai sessionTimeout soit écoulé. À la fin de la session, toutes les données qui ne sont pas explicitement sauvegardées dans l’historique des contacts ou des réponses ou dans une autre table de base de données sont perdues.
Les données sont stockées sous la forme d'un ensemble de paires nom-valeur. Si les données sont lues à partir d'une table de base de données, le nom est la colonne de la table.
Vous pouvez créer ces paires nom-valeur lorsque vous utilisez l'API Interact. Vous n'avez pas besoin de déclarer toutes les paires nom-valeur dans une zone globale. Si vous définissez de nouveaux paramètres d'événement en tant que paires nom-valeur, l'environnement d'exécution ajoute des paires nom-valeur aux données de session. Par exemple, si vous utilisez les paramètres d'événement avec la méthode postEvent, l'environnement d'exécution ajoute les paramètres d'événement aux données de session, même si les paramètres d'événement n'étaient pas disponibles dans les données de profil. Ces données existent uniquement dans les données de session.
Vous pouvez écraser les données de session à tout moment. Par exemple, si une partie du profil client inclut creditScore, vous pouvez passer un paramètre d'événement avec le type personnalisé NameValuePair. Dans la classe NameValuePair, vous pouvez utiliser les méthodes setName et setValueAsNumeric pour changer la valeur. Le nom doit correspondre. Dans les données de session, le nom n'est pas sensible à la casse. Par conséquent, le nom creditscore ou CrEdItScOrE écraserait creditScore.
Seules les dernières données écrites dans les données de session sont conservées. Par exemple, startSession charge les données de profil pour la valeur lastOffer. La méthode postEvent écrase lastOffer. Une deuxième méthode postEvent écrase ensuite lastOffer. L'environnement d'exécution conserve uniquement les données écrites par la deuxième méthode postEvent dans les données de session.
Lorsque la session se termine, les données sont perdues, sauf si vous avez pris des mesures spéciales telles que l'utilisation d'un processus d'instantané dans votre diagramme temps réél pour écrire les données dans une table de base de données. Si vous envisagez d'utiliser des processus d'instantané, n'oubliez pas que les noms doivent respecter les limites de votre base de données. Par exemple, si vous êtes autorisé à utiliser uniquement 256 caractères pour le nom d'une colonne, le nom de la paire nom-valeur ne doit pas dépasser 256 caractères.