Fermer

novembre 25, 2019

Nouveautés de l’API Streams v1.4


Avec la sortie de la nouvelle fonctionnalité de discussion dans Amazon Connect l'API Amazon Connect Streams a également été mise à jour. Cette mise à jour fournit un accès facile aux interactions de discussion en fournissant de nouvelles méthodes d'action et de nouveaux gestionnaires d'événements.

API de Media Controller pour la discussion en ligne

Media Controller est une API qui permet des interactions de discussion simples, telles que la réception et l'envoi de messages, la récupération de transcriptions et la souscription à des événements.

Utilisation

Pour initialiser un instance de contrôleur multimédia, il utilise l’ID du contact et l’ID de connexion du contact. Nous voulons également nous assurer que le contact est connecté à un agent et que le type de média est chat, avant d'initialiser l'instance.

 function handleContactConnected (contact) {
  si (contact) {
      console.log ("[contact.onConnected] Contact connecté à un agent. L'état du contact est" + contact.getStatus (). type);

      if (contact.getAgentConnection (). getMediaType () === connect.MediaType.CHAT) {
        contact.getAgentConnection (). getMediaController ()
          .then (controller => {
            // Le contrôleur de média qui fournit des méthodes
            // pour des interactions de chat faciles.

          })
      }
  }
} 

Méthodes événement / action

onMessage (cb)

Écoute tous les messages entrants envoyés entre le client et l'agent.

Paramètres:

  • Callback – Function * . ] Obligatoire
 controller.onMessage (function (response, contentType) {
  if (response.data.ParticipantRole === 'CLIENT') {
    // Gérer l'interaction client
  }
}); 

Réponse: Dans l'objet de données de la réponse, vous pouvez voir si le message provient de l'agent ou du client, ainsi que le contenu du message. Le type de contenu / événement sera «MESSAGE INCOMING».

 Screen Shot 2019 11 20 à 10.04.25 pm

Cas d'utilisation:

Créez une fenêtre personnalisée de discussion d'agent en triant les messages du client et du agent.

sendMessage ({message: "text", contentType: "text / plain"})

Envoie un message au destinataire. Le message et le type de contenu sont nécessaires.

Paramètres:

  • message – String * Requis
  • contentType – String * Requis

getTranscript ({maxResults: 15, sortOrder: “ ASCENDING ”})

Récupérer les messages et les événements survenus dans le contact. * Disponible uniquement si le contact existe toujours.

Paramètres:

  • maxResults – Number * Facultatif
  • sortOrder – String * Facultatif
    • La ​​valeur par défaut est “ASCENDING”
 controller.getTranscript ({maxResults: 30, sortOrder: "DESCENDING"})
  .then (réponse => {
    // tableau de transcriptions
    response.data.Transcript.forEach (transcript => {
      if (transcript.ParticipantRole === 'AGENT' && transcript.Type === 'MESSAGE') {
        // Messages d'agent
      }

      if (transcript.ParticipantRole === 'CLIENT' && transcript.Type === 'MESSAGE') {
        // messages clients
      }
   });
  })
  .catch (err => {
    // erreur de traitement
  }) 

Réponse: chaque transcription indique l'événement qui s'est produit, par exemple le moment où le client a rejoint le groupe, ou les détails du message, tels que le contenu et l'identification de l'expéditeur.

 Screen Shot 2019 11 20 at 10.20 .59 pm Cas d'utilisation:

Afficher l'historique de la conversation avec un agent afin de fournir une meilleure expérience client.

sendEvent ({contentType: “event”})

Envoyer des événements à le client doit fournir des informations supplémentaires, telles que la saisie ou le retrait de la conversation par l'agent.

Paramètres:

  • contentType – String * Obligatoire
  • Types de contenu disponibles
    • Saisie: application / vnd.amazonaws.connect.event.typing
    • Participant rejoint: application / vnd.amazonaws.connect.event.participant.joined
    • Participant Gauche: application / vnd.amazonaws.connect.event .participant.left
    • Transfert réussi: application / vnd.amazonaws.connect.event.transfer.succeed
    • Echec du transfert: application / vnd.amazonaws.connect.event.transfer.failed
    • Reconnaissance: application / vnd .amazonaws.connect.event.connection.acknowledged
    • Discussion terminée: application / vnd.amazonaws.connect.event.chat.ended
 controller.sendEvent ({contentType: "application / vnd.amazonaws.connect.event. en tapant "})
  .then (res => {
    // Réponse de l'envoi d'un événement de typage d'agent au client
  })
  .catch (err => {
    // erreur de traitement
  }) 

Cas d'utilisation:

Informez le client si l'agent saisit pour offrir une meilleure expérience utilisateur.

 Screen Shot 2019 11 20 à 10.38.31 H [1945]

API de contact View

L'API de contact View permet de basculer d'un contact à l'autre dans le CCP. Cette fonctionnalité s'applique à tous les types de supports et à tous les contacts.

core.viewContact (“contactID”)

La méthode vous permet de basculer sur le contact spécifié, qu'il s'agisse d'une conversation en ligne ou d'une conversation téléphonique.

Paramètres:

  • contactId – String * Requis

core.onViewContact (cb)

Abonnez-vous d'une méthode à appeler lorsque la méthode viewContact est appelée pour passer à un autre contact.

Paramètres:

  • Callback – Function * Obligatoire

Réponse: La réponse est l'ID du contact auquel l'agent vient de basculer.

 connect.core.onViewContact (fonction (contact) {
  // Le contact que l'agent vient de changer
}); 

Nouveaux gestionnaires d'événements

core.onAuthFail (cb)

Utile pour les CCP personnalisés et incorporés à gérer les cas d'utilisation d'échec d'authentification et de connexion personnalisée.

Paramètre: Callback – Fonction * Requis

 connect.core.onAuthFail (function () {
  // agent déconnecté ou session expirée. besoin de connexion
  // montre le bouton pour la connexion ou affiche un écran de connexion.

core.onAccessDenied (cb)

Il est utile que les CCP personnalisés et incorporés soient informés du cas d'utilisation dont l'accès est refusé, lorsque l'agent n'a pas l'autorisation de CCP selon le profil de sécurité.

Paramètre: Rappel – Fonction * Requis

 connect.core.onAccessDenied (function () {
  // L'agent n'a pas la permission du PCC. Afficher la page d'accès refusé.
}); 

subscribe (connect.WebSocketEvents.ALL_MESSAGE, cb)

Inscrivez une méthode à appeler lorsqu'un événement ou un message est envoyé entre l'agent et le client.

Paramètres: Rappel – Fonction * Requise

 bus.subscribe (connect.WebSocketEvents.ALL_MESSAGE, fonction (websocketEvent) {
  const parsedWebSocketEvent = JSON.parse (websocketEvent.content);

  si (
    parsedWebSocketEvent.ContentType === "application / vnd.amazonaws.connect.event.typing"
    && parsedWebSocketEvent.ParticipantRole === "CLIENT"
  ) {
    // Afficher sur la fenêtre de discussion personnalisée que le client est en train de taper.
  }
}); 

Réponse: L'événement ou le message est transmis sous forme de chaîne JSON dans la clé de contenu de la réponse. La réponse indique également le type de média en tant que sujet.

 Screen Shot 2019 11 22 À 4.54.19 pm Dans l'objet de contenu, il indique l'horodatage de l'événement, le type d'événement. ou le message qui a été envoyé, l'identifiant du contact, ainsi que l'identification de l'expéditeur.

 Screen Shot 2019 11 22 À 4.54.31 pm

[1965 subscribe (connect.WebSocketEvents.CONNECTION_GAIN, cb)

Abonnez-vous à une méthode à appeler lorsque la connexion websocket est connectée.

Paramètres: Callback – Fonction * Obligatoire [19659000] bus.subscribe (connect.WebSocketEvents.CONNECTION_GAIN, function () {
  // Connexion Websocket gagnée
});

subscribe (connect.WebSocketEvents.CONNECTION_LOST, cb)

Abonnez-vous à une méthode à appeler lorsque la connexion websocket est perdue.

Paramètres: Rappel – Fonction * Obligatoire ]

 bus.subscribe (connect.WebSocketEvents.CONNECTION_LOST, function () {
  // Connexion Websocket perdue
}); 

Pour savoir comment Perficient peut vous aider à intégrer le chat Amazon Connect à votre centre de contact, contactez-nous ici .






Source link