Fermer

novembre 19, 2018

Appel automatisé avec l'API de contact sortant Amazon Connect


Amazon Connect fournit des fonctionnalités standard d'appels sortants prêtes à l'emploi. L'API de contact sortant est une extension de cette fonctionnalité qui permet plus de flexibilité pour automatiser les appels sortants. Vous pouvez implémenter la numérotation via un clic à partir du Web, sur la base d'une notification vocale, d'un rappel de paiement planifié, d'une enquête post-travail planifiée, etc.

Pour plus d'informations, consultez les pages de documentation officielle: Annonce Documentation de l'API .

Dans cet article de blog, nous créons une application d'appel simple à l'aide de l'API Amazon Connect Outbound Contact. Nous construisons le serveur final pour appeler le numéro de téléphone d'un client tout en corrigeant certaines idées fausses sur l'API sortante.

Setup

 composants d'appels sortants

  1. Site Web de clic à appeler – Cette composant appelle la logique de back-end. Nous pouvons l’imaginer comme un formulaire Web qui demande à un client son numéro de téléphone et son nom afin d’être en contact téléphonique avec un représentant.
  2. Fonction Lambda – Une simple fonction NodeJs Lambda qui appelle l’API sortante. 19659007] API Amazon Connect Outbound – L'élément qui fait le gros du travail. L'API sortante passe l'appel dans un flux de contact Amazon Connect.
  3. Amazon Connect – Le moteur Contact Flow traite l'appel reçu de l'API sortant, à l'aide de la logique de flux entrant. Oui, flux entrant, nu avec moi. Une fois que l’API a passé un appel dans le moteur de flux de contacts, il n’ya aucune différence dans l’expérience des appelants utilisant cette méthode par rapport à la numérotation dans un flux entrant. À partir de là, un administrateur Amazon Connect peut décider du résultat de l'appel. Il peut se terminer dans une file d'attente, attendre un représentant, jouer un rappel automatique, raccrocher, etc.
  4. Téléphone du client – En supposant qu'un appel soit mis en file d'attente, un client serait connecté dès qu'un agent est disponible. aider.

Invoquer l’API de contact sortant

Bien, construisons cette application! Nous déclenchons l'API de contact sortant à partir d'une fonction Lambda de NodeJs. L'éditeur de code en ligne AWS facilite l'essai d'une fonction de démonstration. Par exemple, vous pouvez accéder directement aux méthodes AWS-SDK sans rien installer localement. AWS-SDK nous permet également d'utiliser l'API sortante avec d'autres langages de programmation.

Au moment de l'écrire, l'API sortante prend en charge deux actions: démarrer un appel (StartOutboundVoiceContact) et mettre fin à un appel (StopContact).

Prérequis n ° 1 – Autorisation Lambda

Pour pouvoir utiliser les actions de l'API de contact sortant via une fonction Lambda, vous devez accorder l'autorisation Amazon Contact Start Voice Contact.

Voir l'exemple de stratégie IAM ci-dessous:

 ] {
    "Version": "2012-10-17",
    "Déclaration": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "connect:StartOutboundVoiceContact",
            "Resource": "*"
        }
    ]
} 

Attachez cette stratégie IAM à un rôle IAM, puis utilisez-le pour exécuter la fonction Lambda. De plus, je recommanderais également l’ajout d’une autorisation d’écriture CloudWatchLogs pour permettre à la fonction d’écrire des journaux.

Prérequis n ° 2 – Paramètres d’entrée

Cette application prend en compte le numéro de téléphone, le nom et le jour de la semaine du client. C’est à vous de collecter les paramètres d’entrée selon vos préférences; cela peut facilement se transformer en un formulaire Web par simple clic. Pour cet article de blog, nous créons l'exemple d'événement d'entrée JSON dans l'interface Lambda.

 {
  "nom": "Dora",
  "numéro": "+1111111111",
  "jour": "vendredi"
}

Pour tester un Lambda avec un événement, accédez à AWS Management Console et accédez à votre nouvelle fonction Lambda. Il devrait y avoir un menu déroulant Test dans le coin supérieur droit; créez un nouvel événement test à l'aide de cet exemple d'événement JSON et entrez vos propres points de données. Cela devrait ressembler à quelque chose comme ceci:

 test-lambda-event

Exemple de fonction Lambda

 const AWS = require ('aws-sdk');
AWS.config.update ({région: 'us-east-1'});

exports.handler = (événement, contexte, rappel) => {
    let connect = new AWS.Connect ();
    
    const customerName = event.name;
    const customerPhoneNumber = event.number;
    const dayOfWeek = event.day;
    
    laisser params = {
        "InstanceId": '12345l-abcd-1234-abcde-123456789bcde',
        "ContactFlowId": '987654-lkjhgf-9875-abcde-poiuyt0987645',
        "SourcePhoneNumber": '+1123456789',
        "DestinationPhoneNumber": customerPhoneNumber,
        "Les attributs" : {
            'name': customerName,
            'dayOfWeek': jourOfWeek
        }
        
    }
    
    connect.startOutboundVoiceContact (
        paramètres, fonction (erreur, réponse) {
            
            si (erreur) {
                console.log (erreur)
                callback ("Erreur", null);
            } autre
            {
                console.log ('Initié un appel sortant avec Contact Id' + JSON.stringify (response.ContactId));
                rappel (null, 'succès');
            }
        }
        )

    
};

Voyons ce qui se passe ici. L'action StartOutboundVoiceContact prend en compte les paramètres obligatoires suivants:

  1. InstanceId – ID d'instance Amazon Connect (pas l'ARN complet, mais simplement l'ID. Il va ressembler à 12345l- abcd . -1234- abcde -123456789bcde ). Recherchez cette chaîne dans AWS Management Console> Amazon Connect> Les détails de votre instance.
  2. ContactFlowId – Identifiant du flux de contacts Amazon Connect – Flux d'appels qui gérera l'expérience des appels avant la prise en charge d'un agent (logique IVR). [19659030] Conseil: Assurez-vous de créer un flux de contacts de type type «Flux de contacts» . Le type de flux «Whisper sortant» n’est pas un type correct pour cette conception, il est utilisé à d’autres fins dans le système. Croyez-moi, j'ai appris à la dure.

     Outbound Whisper

    3. SourcePhoneNumber ou QueueId – Un numéro Amazon Connect, c'est-à-dire un numéro de centre de contact qui sera utilisé pour effectuer l'appel FROM. Vous pouvez également spécifier un QueueId au lieu du SourcePhoneNumber, car une file d'attente est quand même liée à un numéro d'appel sortant (l'appel sera donc originaire DU numéro lié à cette file d'attente).

    4. DestinationPhoneNumber – À qui l'appel devrait-il aller? Il s’agit du numéro de téléphone du client, le numéro de destination finale.

    L’action StartOutboundVoiceContact peut prendre davantage de paramètres facultatif dans la section Attributs . Spécifiez une paire clé-valeur via une mappe d'attributs pour transmettre tout point de données supplémentaire. Les mêmes attributs seront disponibles pour une utilisation dans les flux de contact Amazon Connect.

    Dans cet exemple, nous transmettons le nom du client et le jour de la semaine sous forme de paramètres facultatifs. Oui, vous l'avez bien remarqué, j'imagine que c'est vendredi.

    Flux de contact Amazon Connect

    Créez un flux de contact Amazon Connect (et non le flux Whisper sortant) et ajoutez les blocs suivants:

    Voici comment vous pouvez passer les attributs dans un bloc d'invite; c’est essentiellement ce que le client entendra de nouveau.

     promot

    C’est tout! J'espère que vous avez suivi et que vous avez passé votre premier appel sortant. Merci de votre lecture et n'hésitez pas à contacter toutes les questions ou commentaires.

    Demandez une démonstration d'Amazon Connect






    Source link