Fermer

décembre 10, 2018

Configuration du flux de contact dynamique avec Amazon Connect2 minutes de lecture

Configuration du flux de contact dynamique avec Amazon Connect


Définition de la configuration «dynamique»

L'éditeur de flux de contacts Amazon Connect vous permet de configurer facilement les paramètres de RVI via une interface graphique. La configuration dynamique est pratique pour les cas d'utilisation plus complexes. De cette façon, il est possible de gérer la configuration via un emplacement central, généralement une base de données.

Les flux de contacts internationaux en sont un bon exemple. Supposons que vous souhaitiez exactement la même expérience client dans cinq langues différentes ou plus. Vous pouvez exploiter un flux de contacts Amazon Connect unique pour cela et charger la configuration de manière dynamique en fonction des préférences de langue.

Que pouvez-vous configurer de manière dynamique dans Amazon Connect?

Actuellement, vous pouvez configurer les ressources suivantes de manière dynamique dans un flux de contacts:

  • Invite de synthèse vocale
  • Invite audio préenregistrée
  • Options de menu
  • File d'attente
  • Transfert de flux de contact
  • Flux bloqué
  • Flux silencieux
  • Attribut de contact
  • ID appelant sortant

Exemple de configuration étape par étape

Dans cet exemple, nous chargeons de manière dynamique toutes les invites text-to-speech, audio et les files d'attente. Nous utiliserons un seul flux de contacts Amazon Connect pour gérer les appels en anglais, allemand et français, en fonction du numéro composé dans le pays.

Pas de menus ici! Nous prendrons la décision de routage en fonction du numéro composé.

  • Numéro britannique -> route vers les invites dans les agents anglophones et anglophones
  • numéro de l'Allemagne -> itinéraire vers les invites dans les agents germanophones et germanophones
  • France nombre -> route vers invites en français et agents francophones

Étape 1

Créez de nouvelles files d'attente dans Amazon Connect et ajoutez-les aux profils de routage appropriés.

 ] queues "width =" 784 "height =" 102 "srcset =" https://i2.wp.com/blogs.perficient.com/files/2018/12/0-queues.png?resize=300%2C39&ssl= 1 300w, https://i2.wp.com/blogs.perficient.com/files/2018/12/0-queues.png?resize=768%2C100&ssl=1 768w, https://i2.wp.com/ blogs.perficient.com/files/2018/12/0-queues.png?resize=1024%2C133&ssl=1 1024w, https://i2.wp.com/blogs.perficient.com/files/2018/12/0 -queues.png? resize = 640% 2C83 & ssl = 1 640w, https://i2.wp.com/blogs.perficient.com/files/2018/12/0-queues.png?w=1040&ssl=1 1040w "tailles = "(largeur maximale: 784px) 100 vw, 784px "data-recalc-dims =" 1 "/> </a data-recalc-dims=

Étape 2

Préparez une liste d'invites de synthèse vocale et d'ARN audio d'invites. Nous allons utiliser cette information pour remplir la base de données à l'étape 3.

Astuce: vous pouvez trouver Audio PromptARN en accédant à l'invite Amazon Connect et en cliquant sur l'invite en question.

 prompt "width =" 896 " height = "400" srcset = "https://i0.wp.com/blogs.perficient.com/files/2018/12/2-prompts.png?resize=300%2C134&ssl=1 300w, https: // i0 .wp.com / blogs.perficient.com / files / 2018/12/2-prompts.png? resize = 768% 2C343 & ssl = 1 768w, https://i0.wp.com/blogs.perficient.com/files/ 2018/12/2-prompts.png? Resize = 1024% 2C458 & ssl = 1 1024w, https://i0.wp.com/blogs.perficient.com/files/2018/12/2-prompts.png?resize=640 % 2C286 & ssl = 1 640w "tailles =" (largeur maximale: 896 px) 100 vw, 896 px "data-recalc-dims =" 1 "/> Il s'agit d'un identifiant d'invite unique qui sera référencé dans le flux de contacts.</p data-recalc-dims=

3

Dans AWS, accédez au service DynamoDB et créez une nouvelle base de données. Dans cet exemple, nous utilisons le numéro du centre de contacts local comme clé primaire.

Voici un exemple de structure de base de données DynamoDb: [19659003]  database "width =" 687 "height =" 103 "srcset =" https://i1.wp.com/blogs.perficient.com/files/2018/12/database.png?resize= 300% 2C45 & ssl = 1 300w, https://i1.wp.com/blogs.perficient.com/files/2018/12/database.png?resize=768%2C116&ssl=1 768w, https: //i1.wp. com / blogs.perficient.com / files / 2018/12 / database.png? resize = 1024% 2C155 & ssl = 1 1024w, https://i1.wp.com/blogs.perficient.com/files/2018/12/database .png? resize = 640% 2C97 & ssl = 1 640w, https://i1.wp.com/blogs.perficient.com/files/2018/12/database.png?w=1261&ssl=1 1261w "tailles =" (max. -width: 687px) 100vw, 687px "data-recalc-dims =" 1 "/> </a data-recalc-dims=

Étape 4

Créez une nouvelle fonction Lambda NodeJs basée sur l'exemple ci-dessous.

 var "width =" 770 "height =" 167 "srcset =" https://i2.wp.com/blogs.perficient.com/files/2018/ 12 / variables.png? Resize = 300% 2C65 & ssl = 1 300w, https://i2.wp.com/blogs.perficient.com/files/2018/12/var iables.png? resize = 768% 2C167 & ssl = 1 768w, https://i2.wp.com/blogs.perficient.com/files/2018/12/variables.png?resize=1024%2C223&ssl=1 1024w, https: //i2.wp.com/blogs.perficient.com/files/2018/12/variables.png?resize=640%2C139&ssl=1 640w "values ​​=" (max-width: 770px) 100vw, 770px "data-recalc -dims = "1" /> </a data-recalc-dims=

 const AWS = require ('aws-sdk');
const region = process.env ["region"];
const nom_base_table = process.env ["tableName"];
let dynamoDb = new AWS.DynamoDB.DocumentClient ({région: région});

exports.handler = (événement, contexte, rappel) => {

console.log ('démarrage de la fonction Lambda');
console.log (JSON.stringify (event));

let dialedNumber = event.Details.ContactData.SystemEndpoint.Address;

const params = {
       TableName: dbTableName,
       Clé:{
          "dialedNumber": dialedNumber
       },
       FilterExpression: "dialedNumber =: numéro",
       ExpressionAttributeValues: {
         ": numéro": numéro composé
    }};
   
   console.log ('Analyse de la base de données dynamodb ...');
   var result = {};
  
  dynamoDb.scan (params, function (err, data) {
      si (err) {
        console.log (err);
          console.log ('err');
          rappel (err);
        }
      autre{
      console.log (données);
      résultat = {
          "prompt0": data.Items [0] .prompt0,
          "promptHold": data.Items [0] .promptHold,
          "queue": data.Items [0] .queue
      };
      
      rappel (null, résultat);
        }
      });
           

};
 {
  "Détails": {
    "Données de contact": {
      "SystemEndpoint": {
        "Address": "+1234567899" // ce numéro doit résider dans la base de données DynamoDb au format E164
      }
    }
  }
}

Assurez-vous que le rôle d'exécution Lambda dispose d'un accès approprié à la ressource de table DynamoDb. Voici un exemple de stratégie IAM pouvant être associé au rôle d’exécution IAM Lambda:

 {
    "Version": "2012-10-17",
    "Déclaration": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "dynamodb:Scan",
            "Resource": "arn:aws:dynamodb:us-east-1:123456789999:table/dh-dynamic-call-flow"
        }
    ]
}

Étape 5

Ajouter des autorisations d'appeler la fonction Lambda pour Amazon Connect. Consultez le blog suivant si vous ne savez pas comment faire cela: https://blogs.perficient.com/2018/11/30/invoking-lambda-functions-with-amazon-connect/ [19659033] Étape 6

Référence à toutes les ressources dans un flux de contacts Amazon Connect.

Partie 1:

 <img class=



Source link