Introducing Calabrio Workforce Intelligence | The Next Evolution of Contact Center WFM. Learn more

    Non classé
  • |
  • Exploiter la force de Calabrio Teleopti WFM partie 3 : Obtenir des mises à jour de planning comme un pro

Non classé

Téléopti Importé

Exploiter la force de Calabrio Teleopti WFM partie 3 : Obtenir des mises à jour de planning comme un pro

    Share

    Robin Karlsson, Technical Lead R&D chez Teleopti, revient pour le troisième et dernier épisode de sa série de blogs « How best to use Calabrio WFM’s API », qui se concentre cette semaine sur les mises à jour des horaires.

     

    Dans le précédent article de cette série, nous avons examiné la mise à jour des informations dans Calabrio WFM à l’aide de l’API externe. Cependant, nous avons parfois besoin de savoir quand une information dans Calabrio WFM a été modifiée/mise à jour. Ces demandes concernent principalement des informations sur les horaires. C’est pourquoi nous avons ajouté une toute nouvelle façon de recevoir des notifications sur les changements d’horaire.

     

    Lorsque quelqu’un modifie les horaires, vous en êtes informé par l’intermédiaire du point de contact que vous avez spécifié. Le point final et la plage relative de jours qui vous intéressent sont définis en émettant une commande :

     

    InternalService.ExecuteCommand(new AddScheduleChangesListenerCommandDto
    {
    Listener = new ScheduleChangesListenerDto
    {
    DaysStartFromCurrentDate = -1, //Depuis hier
    DaysEndFromCurrentDate = 4, //Écouter les changements effectués pendant quatre jours par rapport à aujourd’hui
    Name = « ScheduleIntegration », //A nom pour pouvoir identifier l’auditeur lors d’un changement d’abonnement
    Url = « https://schedulechangeslistener.teleopti.com/endpoint » //L’url qui recevra les mises à jour
    }
    }) ;

     

    Si vous souhaitez recevoir des notifications pour un plus grand nombre de jours, le point d’accès sera plus sollicité. Les données envoyées au point d’accès sont des données sérialisées en format json. Une signature est calculée pour chaque demande et les informations relatives à la signature sont envoyées, dans l’en-tête de la demande créée, au point de terminaison que vous avez spécifié.

     

    Pour obtenir les détails nécessaires à la vérification de la signature, vous devez faire appel à l’API et stocker les données quelque part :

     

    var settings = SchedulingService.GetScheduleChangeSubscriptionsByQuery(new GetScheduleChangesSubscriptionSettingsQueryDto()) ;
    if (settings.Length > 0)
    {
    foreach (var listener in settings[0].Listeners)
    {
    //Information pour chaque point d’écoute des changements d’horaire
    }
    }

     

    Maintenant que nous avons mis en place les informations relatives aux points finaux, nous allons immédiatement commencer à recevoir des demandes d’informations sur les horaires à chaque fois que des changements se produisent. En procédant de la sorte, nous pouvons envoyer nos propres notifications de changement aux agents, ou stocker les informations sur les horaires mis à jour dans notre système qui peut s’intégrer à Calabrio WFM.

     

    Une partie des informations que nous obtenons avec les détails sur le point de terminaison de l’auditeur est nécessaire pour vérifier la signature. Comme les données sont envoyées à un point final non authentifié, nous utilisons le mécanisme des signatures pour permettre au destinataire de rejeter les demandes non souhaitées.

     

    Voici un exemple de ce à quoi peut ressembler le code permettant de recevoir les changements d’horaire :

     

    var signature = Request.Headers[« Signature »] ;
    var rsa = new RSACryptoServiceProvider() ;
    rsa.ImportParameters(new RSAParameters
    {
    Modulus = Convert.FromBase64String(« … »), //Modulus des détails de l’auditeur
    Exponent = Convert.FromBase64String(« … ») //Exponent provenant des détails de l’auditeur
    }) ;

    var sr = new StreamReader(Request.InputStream) ;
    string content = sr.ReadToEnd() ;

    var isValidRequest = rsa.VerifyData(Encoding.UTF8.GetBytes(content), CryptoConfig.MapNameToOID(« SHA1 »), Convert.FromBase64String(signature)) ;
    if (!isValidRequest)
    {
    lancez une nouvelle exception ArgumentException(« Les données ont été falsifiées ! ») ;
    }

    File.AppendAllText(« c:\Ntemp\Nschedulechanges.txt »,content + Environment.NewLine) ;

     

    L’exemple ne fait qu’écrire un journal des changements de programme directement dans un fichier dans la zone des fichiers temporaires du serveur.

     

    Comme pour chaque partie de cette série, vous trouverez l’exemple de code sur le dépôt officiel GitHub de Teleopti, disponible à l’adresse https://github.com/Teleopti/sdk-sample.

     

    Avec Calabrio ONE, vous le ferez :

    • Impliquer les employés
    • Activer les connaissances
    • Enrichir l’expérience client
    Réservez une démonstration Product-Hero-2