Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 29

Manipulation des listes en flux de données.

Recommended resources

Bonjour !

Dans la leçon précédente, nous avons fait un grand pas en avant en apprenant à contrôler le parcours d'un appel avec les actions Decision et Switch. Vous savez maintenant comment créer des branchements logiques pour adapter le flux au contexte de l'appelant.

Jusqu'à présent, nous avons principalement manipulé des variables contenant une seule valeur : un numéro de téléphone, un statut client, un temps d'attente. Mais que se passe-t-il si vous devez gérer un ensemble de données ? Imaginez une liste de numéros de commande, une série de produits consultés sur un site web, ou plusieurs files d'attente possibles pour un routage.

C'est exactement ce que nous allons aborder aujourd'hui. Cette leçon est consacrée à un type de variable fondamental dans Architect : la collection. Une collection est simplement une liste qui peut contenir plusieurs valeurs du même type. Maîtriser les collections est une compétence essentielle, car elle ouvre la porte à des logiques de flux beaucoup plus dynamiques et puissantes, notamment pour traiter des données en provenance de systèmes externes.

À la fin de cette leçon, vous serez capable de créer et de manipuler des variables de type collection dans un flux Architect.

1. Qu'est-ce qu'une collection et comment la créer ?

En termes simples, une collection est une variable qui regroupe plusieurs éléments. Pensez à une liste de courses ou à un répertoire de contacts. Dans Genesys Cloud, vous pouvez avoir une collection de chaînes de caractères (Strings), de nombres entiers (Integers), de files d'attente (Queues), etc.

Dans un environnement comme Cisco UCCE que vous connaissez, on est souvent amené à traiter des ensembles de résultats, par exemple issus d'une requête à une base de données. Genesys Cloud formalise ce concept avec les collections, qui sont des objets de premier ordre que vous pouvez manipuler directement dans vos flux.

La création d'une collection se fait, comme pour les variables simples, à l'aide de l'action Update Data.

Pour comprendre le processus en détail, je vous invite à consulter la documentation officielle de Genesys Cloud sur ce sujet.

Create a collection variable

Ce document, intitulé 'Create a collection variable', explique la procédure pour créer une variable de type collection dans l'interface d'Architect.

Lisez la section qui commence par '1. From the Architect home page...'. Elle vous guidera pas à pas, de la sélection du flux jusqu'au choix du type de collection dans l'action 'Update Data'. Concentrez-vous sur les étapes 4, 5 et 6 qui sont au cœur de la création.

En résumé, les étapes clés sont :

  1. Ajouter une action Update Data à votre flux.
  2. Dans le panneau de configuration de l'action, cliquer sur le bouton + à côté de "Update Statements".
  3. Choisir Collections, puis le type de données que votre collection contiendra (par exemple, String Collection).
  4. Donner un nom à votre variable, par exemple Flow.MaListeDeStrings.

Par défaut, cette nouvelle collection est vide. Notre prochaine étape est de la remplir.


2. Ajouter et modifier des éléments dans une collection

Une fois votre collection créée, vous aurez besoin de la peupler et de la modifier. Architect propose un ensemble de fonctions intégrées pour cela. Ces fonctions vous permettent d'ajouter, de supprimer ou de remplacer des éléments.

La lecture suivante vous présentera les fonctions les plus courantes.

Modify collection values

Cet article, 'Modify collection values', répertorie les fonctions essentielles pour manipuler le contenu d'une collection et donne des exemples clairs de leur utilisation.

Commencez par lire l'introduction et examinez le tableau qui liste les différentes fonctions comme AddItem, RemoveItem, ReplaceItemAt, etc. Ensuite, lisez l'exemple 'Add an item to a collection' pour voir comment la fonction AddItem est utilisée concrètement dans une action Update Data.

Il y a un point crucial à retenir de cette lecture : les fonctions de modification de collection ne modifient pas la variable directement. Elles retournent une nouvelle collection avec la modification appliquée. Il est donc impératif de réaffecter ce résultat à votre variable.

La syntaxe est toujours la même :
Variable = Fonction(Variable, Valeur_a_ajouter)

Par exemple, pour ajouter la chaîne "Bonjour" à une collection nommée Flow.MaCollection :
Flow.MaCollection = AddItem(Flow.MaCollection, "Bonjour")

Les fonctions les plus utiles sont :

  • AddItem(collection, item) : Ajoute un élément à la fin de la collection.
  • AddItemAt(collection, index, item) : Insère un élément à une position spécifique (l'index).
  • RemoveItem(collection, item) : Supprime la première occurrence d'un élément par sa valeur.
  • RemoveItemAt(collection, index) : Supprime un élément à une position spécifique.

3. Accéder aux données d'une collection

Maintenant que notre collection contient des données, comment pouvons-nous lire un élément spécifique ? Pour cela, nous utilisons son index, c'est-à-dire sa position dans la liste.

Important : En informatique, l'indexation commence presque toujours à zéro. Le premier élément a l'index 0, le deuxième a l'index 1, et ainsi de suite.

La fonction pour récupérer un élément par son index est GetAt().

Genesys Cloud Expression Help: GetAt Function
Cette capture d'écran de l'aide d'Architect montre la syntaxe et un exemple pour la fonction `GetAt`. On y voit clairement qu'elle prend en paramètre la collection et l'index (base zéro) de l'élément à récupérer.

La syntaxe est donc GetAt(MaCollection, index).

Par exemple, pour récupérer le premier élément de notre collection Flow.MaCollection, nous utiliserions l'expression : GetAt(Flow.MaCollection, 0).


4. Mise en pratique : Gérer une liste de choix

Passons à la pratique pour consolider ces concepts. Nous allons simuler la gestion d'une liste de services auxquels un client a souscrit.

Objectif : Créer un flux qui initialise une collection de services, y ajoute un service, puis récupère le premier service de la liste pour l'énoncer à l'appelant.

  1. Créez un nouveau flux d'appel entrant pour cet exercice. Nommez-le "Manipulation de Collections".

  2. Créez une collection vide.

    • Ajoutez une action Update Data.
    • Créez une String Collection nommée Flow.SubscribedServices. Laissez la valeur initiale par défaut (NOT_SET).
  3. Peuplez la collection.

    • Ajoutez une deuxième action Update Data.
    • Dans la section Update Statements, choisissez la variable Flow.SubscribedServices.
    • Dans le champ Value to Assign, passez en mode expression et tapez : AddItem(Flow.SubscribedServices, "Assurance Vie")
    • Cliquez sur + Add Update Statement dans la même action Update Data.
    • Sélectionnez à nouveau Flow.SubscribedServices.
    • Dans Value to Assign, tapez : AddItem(Flow.SubscribedServices, "Epargne Logement").
    • Remarque : Nous utilisons ici deux instructions dans la même action Update Data pour plus de clarté, mais cela revient au même que d'utiliser deux actions Update Data successives. Après cette action, votre collection contiendra ["Assurance Vie", "Epargne Logement"].
  4. Récupérez le premier service.

    • Ajoutez une troisième action Update Data.
    • Cette fois, créez une variable simple de type String nommée Flow.FirstService.
    • Dans le champ Value to Assign, entrez l'expression : GetAt(Flow.SubscribedServices, 0).
  5. Vérifiez le résultat.

    • Ajoutez une action Play Audio (catégorie Audio).
    • Configurez-la pour énoncer un message en utilisant le Text-to-Speech (TTS).
    • Dans le champ Text to Speech Expression, entrez : Append("Le premier service de votre liste est : ", Flow.FirstService). La fonction Append permet de concaténer (joindre) des chaînes de caractères.
    • Ajoutez une action Disconnect à la fin.
  6. Publiez et testez votre flux. Vous devriez entendre le message "Le premier service de votre liste est : Assurance Vie".

Cet exercice simple vous a fait parcourir le cycle de vie complet d'une collection : création, peuplement et lecture.


Conclusion

Félicitations ! Vous savez maintenant comment travailler avec des collections dans Architect. C'est un concept qui peut sembler un peu abstrait au début, mais qui est absolument fondamental pour construire des logiques de flux complexes et traiter des données multiples.

Points clés à retenir :

  • Une collection est une variable qui contient une liste d'éléments de même type.
  • On la crée via l'action Update Data.
  • Les fonctions comme AddItem et RemoveItem permettent de manipuler les collections. N'oubliez pas qu'elles retournent une nouvelle collection : il faut donc réaffecter le résultat à la variable.
  • La fonction GetAt(collection, index) permet de récupérer un élément spécifique. L'index du premier élément est toujours 0.

Prochaine leçon :

Nous savons créer une liste et lire un de ses éléments. Mais comment effectuer une action pour chaque élément de la liste, sans savoir à l'avance combien il y en a ? C'est le rôle de l'action Loop (boucle), que nous explorerons en détail dans la prochaine et dernière leçon de ce module.