Κοινή χρήση μέσω


Ενοποίηση Twilio Flex στις πληροφορίες συνομιλίας του Dynamics 365 (έκδοση προεπισκόπησης)

[Αυτό το άρθρο αποτελεί τεκμηρίωση προέκδοσης και ενδέχεται να αλλάξει.]

Με την ενοποίηση αυτή, οι πωλητές σας μπορούν να κάνουν και να λαμβάνουν κλήσεις Twilio Flex από το Dynamics 365 και να λαμβάνουν μεταγραφές σε πραγματικό χρόνο κατά τη διάρκεια της κλήσης και των πληροφοριών κλήσεων που δημιουργούνται από AI μετά την κλήση.

Σημαντικό

  • Αυτή είναι μια δυνατότητα προεπισκόπησης.
  • Οι λειτουργίες προεπισκόπησης δεν προορίζονται για παραγωγική χρήση και ενδέχεται να έχουν περιορισμένη λειτουργικότητα. Αυτές οι δυνατότητες υπόκεινται στους συμπληρωματικούς όρους χρήσης και είναι διαθέσιμες πριν την επίσημη κυκλοφορία ώστε οι πελάτες να έχουν πρόσβαση από νωρίς και να κάνουν σχόλια.

Προϋποθέσεις

  • Ένας λογαριασμός Twilio

  • Ένας λογαριασμός Twilio – δείτε αυτήν τη σύνδεση για περισσότερες πληροφορίες σχετικά με το πώς να ρυθμίσετε έναν λογαριασμό Flex

  • Ένα περιβάλλον Microsoft Dynamics 365 Sales με την άδεια χρήσης Sales Premium ή Sales Enterprise, μαζί με τα δικαιώματα διαχειριστή συστήματος

  • Εγκατάσταση και ρύθμιση πληροφοριών συνομιλίας - Μάθετε περισσότερα

  • Εγκαταστάθηκε το πλαίσιο ενοποίησης καναλιών Dynamics 365 1.0. Μάθετε περισσότερα

  • Ένα τοπικό περιβάλλον Node JS που έχει ρυθμιστεί

  • Η εφαρμογή create-flex-plugin

Βήμα 1: Ρύθμιση παραμέτρων του Twilio Flex ως υπηρεσία παροχής καναλιών

Στο Πλαίσιο ενοποίησης καναλιών του Dynamics 365, δημιουργήστε μία υπηρεσία παροχής καναλιών για το Twilio Flex. Δείτε το παρακάτω στιγμιότυπο οθόνης παράδειγμα:

Στιγμιότυπο οθόνης του Twilio που προστέθηκε ως υπηρεσία παροχής καναλιών.

Εισαγάγετε τις παρακάτω τιμές::

  • Διεύθυνση URL καναλιού:https://flex.twilio.com/agent-desktop

  • Ενεργοποίηση εξερχόμενης επικοινωνίας: Ναι

  • Έκδοση API: 1.0

  • Σειρά καναλιών: 1

  • Αξιόπιστος τομέας:https://flex.twilio.com/

  • Επιλέξτε Εφαρμογές ενοποιημένου περιβάλλοντος εργασίας για το Κανάλι: Κέντρο πωλήσεων (ή οποιαδήποτε άλλη εφαρμογή για την οποία θέλετε να είναι ενεργοποιημένη η ενοποίηση)

  • Επιλέξτε τους ρόλους ασφαλείας για το κανάλι: Προσθέστε τους ρόλους που θα χρησιμοποιούσαν το Twilio Flex. Για παράδειγμα, ο Πωλητής, ο Διευθυντής πωλήσεων κ.ο.κ. Για να ενσωματώσετε το Twilio Flex ως iframe μέσα στο Dynamics 365, προσθέστε τη διεύθυνση URL του οργανισμού Dynamics 365 στη λίστα επιτρεπόμενων διευθύνσεων URL. Για περισσότερες πληροφορίες, συμβουλευτείτε αυτό το άρθρο.

Βήμα 2: Εγκατάσταση της σύνδεσης SIPREC και δρομολόγηση των κλήσεων στο Dynamics 365

  1. Εγκαταστήστε το πρόσθετο Σύνδεση SIPREC.

  2. Ανοίξτε τις ρυθμίσεις του κέντρου διαχείρισης Twilio και ρυθμίστε τις παραμέτρους του για να διαχωρίσετε τα μέσα στο πρόγραμμα καταγραφής Dynamics 365 σύμφωνα με το παρακάτω στιγμιότυπο:

    Στιγμιότυπο οθόνης των ρυθμίσεων του Κέντρου διαχείρισης Twilio.

    Είναι σημαντικό να σημειώσετε τα εξής πεδία:

    • Μοναδικό όνομα: Καθορίστε ένα όνομα και σημειώστε το. Θα πρέπει να το χρησιμοποιήσετε στα επόμενα βήματα

    • Διακομιστής καταγραφής περιόδων λειτουργίας: Καθορίστε τη διεύθυνση URL του διακομιστή καταγραφής μέσων του Dynamics 365. Για μια λίστα υποστηριζόμενων προγραμμάτων καταγραφής και περιοχών, ανατρέξτε στο θέμα Υποστηριζόμενα τελικά σημεία και περιοχές προγράμματος καταγραφής.

      • Εάν θέλετε να διαχωρίσετε τα μέσα στο πλησιέστερο πρόγραμμα καταγραφής, χρησιμοποιήστε την παρακάτω διεύθυνση URL: sip:SRS@media.recording.dynamics.com5061;secure=true

      • Τα πεδία διαπιστευτηρίων μπορούν να παραμείνουν κενά. Ο έλεγχος ταυτότητας γίνεται με πιστοποιητικό στη ρύθμιση TLS μεταξύ του Twilio και του Dynamics.

Βήμα 3: Ρύθμιση παραμέτρων της ροής κλήσεων για τον διαχωρισμό των μέσων στο Dynamics 365

  1. Μεταβείτε στην ενότητα Ροές στούντιο στην Κονσόλα και επιλέξτε τη ροή Voice IVR.

  2. Στη δεξιά πλευρά, στην ενότητα Φωνή στη βιβλιοθήκη γραφικών στοιχείων, προσθέστε το γραφικό στοιχείο Διαχωρισμός ροής:

    Στιγμιότυπο οθόνης του γραφικού στοιχείου Διαχωρισμός ροής.

  3. Τώρα, ρυθμίστε τις παραμέτρους του γραφικού στοιχείου για να διαχωρίσετε τη ροή χρησιμοποιώντας τη σύνδεση SIPREC που ορίσατε νωρίτερα:

    Στιγμιότυπο οθόνης της ρύθμισης παραμέτρων του γραφικού στοιχείου Διαχωρισμός ροής.

  4. Εισαγάγετε τις παρακάτω τιμές:

    - Ενέργεια ροής: Έναρξη

    • Τύπος ροής: Βίντεο
    • Όνομα σύνδεσης: Το όνομα που δώσατε στη σύνδεση SIPREC. Στο παράδειγμά μας, είναι SipRec1.
    • Κομμάτια: Και τα δύο κομμάτια
    • Παράμετροι ροής:
      • Ρόλος: εισερχόμενα (Στο δικό μας παράδειγμα, θα καταγράψουμε τις εισερχόμενες κλήσεις)

      • CallerDisplayName: {{trigger.call.From}}

      • CalleeDisplayName: {{trigger.call.To}}

  5. Στην καρτέλα Μεταβάσεις, ρυθμίστε τον Διαχωρισμό ροής ώστε να είναι πριν η κλήση αποσταλεί στον εκπρόσωπο:

    Στιγμιότυπο οθόνης της καρτέλας μετάβασης Twilio.

  6. Αποθηκεύστε τη ροή και δημοσιεύστε.

Βήμα 4: Ρύθμιση παραμέτρων ενός αριθμού τηλεφώνου Twilio

Θα πρέπει να δείξετε έναν αριθμό τηλεφώνου Twilio στη ροή στούντιο που μόλις δημιουργήσατε.

  1. Επιλέξτε έναν αριθμό που σας ανήκει – ή αγοράστε έναν νέο αριθμό – από την κονσόλα αριθμών τηλεφώνου Twilio.

  2. Ανοίξτε τον αριθμό τηλεφώνου επιλέγοντάς τον και, στη συνέχεια, κάντε κύλιση προς τα κάτω στην ενότητα Φωνητική επικοινωνία στη σελίδα.

  3. Επιλέξτε τη ροή που είχατε ορίσει νωρίτερα στα πεδία Εισέρχεται κλήση όπως φαίνεται στο παρακάτω στιγμιότυπο:

    Στιγμιότυπο οθόνης Κλήση Twilio εισέρχεται σε πεδία.

Βήμα 5: Ρύθμιση παραμέτρων του Dynamics 365 για την ενοποίηση

Ας ρυθμίσουμε το Twilio ως υπηρεσία παροχής κλήσεων και ας ορίσουμε μια πολιτική καταγραφής για να καθορίσουμε τα άτομα που μπορούν να καταγράφουν τις κλήσεις και άλλες πληροφορίες που χρησιμοποιούνται για πληροφορίες σχετικά με τις συνομιλίες.

  1. Στην εφαρμογή Κέντρο Πωλήσεων, μεταβείτε στην Αλλαγή περιοχής και επιλέξτε Ρυθμίσεις Sales Insights.

  2. Επιλέξτε Πληροφορίες συνομιλίας.

    Στιγμιότυπο οθόνης της σελίδας ρυθμίσεων Πληροφοριών συνομιλίας

  3. Επιλέξτε Twilio στην ενότητα "Υπηρεσίες παροχής κλήσεων" και καθορίστε το SID λογαριασμού Twilio.

  4. Αποθηκεύστε τις αλλαγές.

  5. Ρυθμίστε τις παραμέτρους μιας πολιτικής εγγραφής χρησιμοποιώντας την υπηρεσία παροχής κλήσεων Twilio.

    1. Επιλέξτε Δημιουργία πολιτικής εγγραφής και ρύθμιση της πολιτικής. Μάθετε περισσότερα..

    2. Επιλέξτε Δημιουργία και έπειτα δημοσιεύστε τις ρυθμίσεις.

Βήμα 6: Προετοιμασία προσθήκης Flex για ενσωμάτωση της εμπειρίας σε πραγματικό χρόνο

Το Flex είναι ένα έργο React και οι προσαρμογές που κάνετε στο περιβάλλον εργασίας χρήστη δημιουργούνται ως στοιχεία προσθήκης.

Η προετοιμασία ενός περιβάλλοντος Node και η ρύθμιση μιας κενής προσθήκης Flex βρίσκονται εκτός του πεδίου αυτής της τεκμηρίωσης. Ανατρέξτε στην τεκμηρίωση του Twilio για ένα βήμα προς βήμα εκπαιδευτικό βοήθημα σχετικά με τη δημιουργία της πρώτης προσθήκης Flex.

Δημιουργήστε μια νέα προσθήκη που θα είναι έτοιμη για να προσθέσετε τον κωδικό προσαρμογής σας για το Dynamics.

Σε αυτό το σημείο, το αρχείο JS της προσθήκης σας θα φαίνεται ως εξής:

Στιγμιότυπο οθόνης του αρχείου plugin.js.

Προσθέστε τη βιβλιοθήκη προγράμματος-πελάτη Microsoft CIF στην προσθήκη σας. Η βιβλιοθήκη πελάτη πρέπει να φορτώνεται ασύγχρονα κατά την εκκίνηση του Flex, επομένως προσθέστε τον παρακάτω κώδικα στη συνάρτηση Flex init.

import React from 'react';
import \* as Flex from '@twilio/flex-ui';
import { FlexPlugin } from '@twilio/flex-plugin';
import reducers, { namespace } from './states';
const PLUGIN\_NAME = 'SamplePlugin';
export interface CallStartedEvent {
  callId: string;
  startTime: Date;
  isIncomingCall: boolean;
  contactNumber: string;
  contactName: string;
}

export interface CallEndedEvent {
  callId: string;
  callDurationInSeconds: number;
  callTerminationReason: string; // \['success', 'error'\]
  callEndTime: Date;
  isCallStarted: boolean;
}

export default class SamplePlugin extends FlexPlugin {
  constructor() {
    super(PLUGIN\_NAME);
  }
  /\*\*
   \* This code is run when your plugin is being started
   \* Use this to modify any UI components or attach to the actions framework
   \*
   \* @param flex { typeof Flex }
   \* @param manager { Flex.Manager }
   \*/
  async init(flex: typeof Flex, manager: Flex.Manager): Promise<void> {
    this.registerReducers(manager);
    this.loadCIF();
    flex.Actions.addListener('afterAcceptTask', (payload) => {
      const callStartedEvent : CallStartedEvent = {
        callId: payload.task.\_task.attributes.call\_sid,
        startTime: new Date(),
        isIncomingCall: true,
        contactName: payload.task.\_task.attributes.caller,
        contactNumber: payload.task.\_task.attributes.caller
      };
      // @ts-ignore
      Microsoft.CIFramework.raiseEvent('WIDGET\_CALL\_STARTED', callStartedEvent);
    });

    flex.Actions.addListener('afterCompleteTask', (payload) => {
      // @ts-ignore
      Microsoft.CIFramework.raiseEvent('WIDGET\_CALL\_ENDED', {
        callId: payload.task.\_task.attributes.call\_sid,
        callTerminationReason: 'success',
        callEndTime: new Date(),
        isCallStarted: true
      });
      const callEndedEvent : CallEndedEvent = {
        callId: payload.task.\_task.attributes.call\_sid,
        callEndTime: new Date(),
        callTerminationReason: 'success',
        isCallStarted: true
      };
 

      // @ts-ignore
      Microsoft.CIFramework.raiseEvent('WIDGET\_CALL\_ENDED', callEndedEvent);
    });

    const options: Flex.ContentFragmentProps = { sortOrder: -1 };
    flex.AgentDesktopView.Panel1.Content.add(<div key="SamplePlugin-component" >Hello Partner!</div>, options);
  }

  loadCIF = () => {
    const script = document.createElement("script");
    script.src = \`${window.location.ancestorOrigins\[0\]}/webresources/Widget/msdyn\_ciLibrary.js\`;
    script.setAttribute('data-crmurl', window.location.ancestorOrigins\[0\]);
    script.setAttribute('data-cifid', 'CIFMainLibrary');
    document.body.appendChild(script);
  }

  /\*\*

   \* Registers the plugin reducers
   \*
   \* @param manager { Flex.Manager }
   \*/
  private registerReducers(manager: Flex.Manager) {
    if (!manager.store.addReducer) {
      // eslint-disable-next-line
      console.error(\`You need FlexUI > 1.9.0 to use built-in redux; you are currently on ${Flex.VERSION}\`);
      return;
    }
    manager.store.addReducer(namespace, reducers);
  }
}

Δημοσίευση της προσθήκης.
Τώρα έχουμε μια προσθήκη Flex που είναι έτοιμη για δοκιμή!

Βήμα 7: Δοκιμή των πληροφοριών συνομιλίας του Dynamics 365 και της ενοποίησης Flex

Συνδεθείτε στην εφαρμογή Κέντρο πωλήσεων, επιλέξτε το εικονίδιο Κλήση. Θα δείτε το Twilio Flex ενσωματωμένο στο δεξιό τμήμα παραθύρου.

Στιγμιότυπο οθόνης του ενσωματωμένου προγράμματος κλήσης Twilio στην εφαρμογή Κέντρο πωλήσεων.

Βεβαιωθείτε ότι έχετε ορίσει την κατάστασή σας ως Διαθέσιμη στο Twilio και κάντε μια κλήση στον αριθμό τηλεφώνου Twilio που έχετε ορίσει στο Βήμα 4: Ρύθμιση παραμέτρων ενός αριθμού τηλεφώνου Twilio.

Στιγμιότυπο οθόνης της ειδοποίησης κλήσης στο ενσωματωμένο πρόγραμμα κλήσης

Αφού απαντήσετε στην κλήση και ξεκινήσετε την εγγραφή, περιηγηθείτε στην καρτέλα Κείμενο συνομιλίας για να δείτε τη μεταγραφή σε πραγματικό χρόνο και, στη συνέχεια, προβάλετε πληροφορίες κλήσης στη σελίδα Σύνοψη κλήσεων μετά τη τέλος της κλήσης.

Προβολή και κατανόηση της σελίδας σύνοψης κλήσεων