Aracılığıyla paylaş


Dynamics 365 konuşma yönetim bilgileri ile Twilio Flex çeviricilerini tümleştirme (önizleme)

[Bu makale, yayın öncesi belgelerine dahildir ve değiştirilebilir.]

Bu tümleştirme, Dynamics 365'ten Twilio Flex çağrıları yapıp bunları almasına olanak sağlar ve çağrıdan sonra AI tarafından oluşturulan çağrı ve arama ayrıntıları sırasında gerçek zamanlı bilgileri alabilirler.

Önemli

  • Bu, bir önizleme özelliğidir.
  • Önizleme özellikleri, üretimde kullanıma yönelik değildir ve sınırlı işlevselliğe sahip olabilir. Bu özellikler, ek kullanım koşullarına tabidir ve müşterilerin önceden erişmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.

Önkoşullar

  • Twilio hesabı

  • Twilio Flex hesabı: Esnek hesap ayarlama hakkında daha fazla bilgi için bu bağlantıya bakın

  • Sistem yöneticisi ayrıcalıklarıyla birlikte, Sales Premium veya Sales Enterprise lisansına sahip bir Microsoft Dynamics 365 Sales ortamı

  • Konuşma Yönetim Bilgileri yükleme ve kurulumu - Daha fazla bilgi edinin

  • Dynamics 365 Kanal Tümleştirme Çerçevesi 1.0 uygulaması kuruldu. Daha fazla bilgi edinin

  • Yerel Node JS ortamı ayarlandı

  • create-flex-plugin uygulaması

1. Adım: Twilio Flex'i kanal sağlayıcısı olarak yapılandırma

Dynamics 365 Kanal Tümleştirme Çerçevesi'nde, Twilio Flex için bir kanal sağlayıcısı oluşturun. Örnek olarak aşağıdaki ekran görüntüsüne bakın:

Kanal sağlayıcısı olarak eklenen Twilio ekran görüntüsü.

Aşağıdaki değerleri girin::

  • Kanal URL'si:https://flex.twilio.com/agent-desktop

  • Giden İletişimi Etkinleştir: Evet

  • API Sürümü: 1.0

  • Kanal sırası: 1

  • Güvenilen Etki Alanı:https://flex.twilio.com/

  • Kanal için Birleşik Arabirim Uygulamaları seçin: Satış Merkezi (veya tümleştirmenin etkinleştirilmesini istediğiniz başka bir uygulama)

  • Kanal için güvenlik rollerini seçin: Twilio Flex kullanacak olan rolleri ekleyin. Örneğin, satış temsilcisi, satış yöneticisi ve daha fazlası. Dynamics 365'e bir iFrame olarak Twilio Flex'i eklemek için, Dynamics 365 kuruluş URL'sini İzin Verilen URL'ler listesine ekleyin. Daha fazla bilgi için bu makaleye bakın.

2. Adım: SIPREC bağlayıcısını kurun ve Dynamics 365'e yapılan çağrıları yönlendirin

  1. SIPREC bağlayıcı eklentisini kurun.

  2. Twilio yönetim merkezi ayarlarını açın ve aşağıdaki ekran görüntüsünde gösterildiği gibi medyayı Dynamics 365 kaydedicisinde ayırmaya göre yapılandırın:

    Twilio yönetim merkezi ayarlarının ekran görüntüsü.

    Aşağıdaki alanlara dikkat edin:

    • Benzersiz ad: Ad belirtin ve not alın. Bunu sonraki adımlarda kullanacaksınız

    • Oturum Kayıt Sunucusu: Dynamics 365 medya kayıt sunucusu URL'sini belirtin. Desteklenen kaydedici ve bölgelerin listesi için bkz. Kaydedici uç noktaları ve bölgeleri.

      • Medyayı en yakın kaydediciye eklemek istiyorsanız şu URL'yI kullanın: sip:SRS@media.recording.dynamics.com:5061;secure=true

      • Kimlik bilgileri alanları boş kalabilir. Kimlik doğrulaması, Twilio ve Dynamics arasındaki TLS kurulumunda bulunan sertifikayla yapılır.

3. Adım: Medyayı Dynamics 365'te ayırmak için çağrı akışı yapılandırma

  1. Konsoldaki Stüdyo Akışları bölümüne gidin ve ses IVR akışını seçin.

  2. Sağ tarafta, arabirim öğesi altındaki Ses bölümü kütüphanesinin altına Akışı Ayır arabirim öğesini ekleyin:

    Akışı Ayır arabirim öğesinin ekran görüntüsü.

  3. Şimdi, daha önce tanımladığınız SIPREC bağlayıcıyı kullanarak akışı ayırmak için arabirim öğesini yapılandırın:

    Akışı Ayır arabirim öğesinin yapılandırma ekran görüntüsü.

  4. Aşağıdaki değerleri girin:

    - Akış Eylemi: Başla

    • Akış Türü: Siprec
    • Bağlayıcı Adı: SIPREC bağlayıcısına verdiğiniz ad. Bizim örneğimizde, SipRec1.
    • İzler: Her iki İzleme
    • Akış parametreleri:
      • Rol: gelen (Örneğimizde gelen çağrıları kaydedebiliriz)

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

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

  5. Geçişler sekmesinde, arama aracısına gönderilmeden önce Akış Ayırma'yı yapılandırın:

    Twilio Geçiş sekmesinin ekran görüntüsü.

  6. Akışı kaydedin ve yayımlayın.

4. Adım: Twilio telefon numarası yapılandırma

Yeni oluşturulan stüdyo akışına bir Twilio telefon numarası yönlendirmeniz gerekir.

  1. Twilio telefon numaraları konsolundan size ait bir numara seçin veya yeni bir numara satın alın.

  2. Numarayı seçerek telefon numarasını açın ve sayfadaki Ses bölümüne kaydırın.

  3. Gelen Arama'da daha önce tanımladığınız akışı, aşağıdaki ekran görüntüsünde gösterilen alanlarda seçin:

    Alanlara Twilio Gelen Arama ekran görüntüsü gelir.

5. Adım: Tümleştirme için Dynamics 365'i yapılandırma

Twilio'yu bir çağrı sağlayıcısı olarak ayarlayıp, kimlerin aramaları kaydedebileceğini tanımlamak ve konuşma bilgileri için kullanılan diğer bilgiler için bir kayıt ilkesi yapılandıralım.

  1. Satış Merkezi uygulamasında, Değiştir alanına gidin ve Sales Insights ayarları'nı seçin.

  2. Konuşma Yönetim Bilgileri'ni seçin.

    Konuşma yönetim bilgileri ayarlar sayfasının ekran görüntüsü

  3. Arama sağlayıcıları bölümünde Twilio'yu seçin ve Twilio firma ID'sini belirtin.

  4. Değişiklikleri kaydedin.

  5. Twilio çağrı sağlayıcısını kullanarak bir kayıt ilkesi yapılandırın.

    1. Kayıt ilkesi oluştur seçeneğini belirleyin ve ilkeyi yapılandırın. Daha fazla bilgi.

    2. Oluştur'u seçin ve ardından ayarları yayımlayın.

6. Adım: Gerçek zamanlı deneyimi tümleştirmek için Flex eklentisi hazırlayın

Flex, kullanıcı arabiriminde yapacağınız bir React projesi ve özelleştirmelerdir, eklenti bileşenleri olarak oluşturulur.

Bir Düğüm ortamı hazırlamak ve boş bir Flex eklentisi ayarlamak bu belgenin kapsamı dışındadır. İlk Flex eklentisini oluşturma konusunda adım adım öğretici için Twilio belgelerine bakın.

Dynamics için çzelleştirme kodunuzu eklemeye hazır yeni bir eklenti oluşturun.

Bu noktada, eklenti JS dosyanız aşağıdaki gibi görünmelidir:

Plıgin.js dosyasının ekran görüntüsü.

Microsoft CIF İstemci kitaplığını eklentinize ekleyin. Flex başlatıldığında istemci kitaplığının zaman uyumsuz olarak yüklenmesi gerekir; bu nedenle, Flex init işlevine aşağıdaki kodu ekleyin.

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);
  }
}

Eklentiyi yayınlayın.
Artık sınamaya hazır bir Flex eklentimiz var.

7. Adım: Dynamics 365 konuşma yönetim bilgileri ve Flex entegrasyonunu test etme

Satış Merkezi uygulamasında oturumu açın, Çağrı simgesini seçin. Sağ bölmeye Twilio Flex eklendiğini görürsünüz.

Satış Merkezi uygulaması içine eklenmiş Twilio çeviricisinin ekran görüntüsü.

Durumunuzu Twilio'da Uygun olarak ayarladığınızdan emin olun ve 4. Adım: Twilio telefon numarası yapılandırma'da ayarladığınız Twilio Telefon Numarası'na bir yapın.

Eklenmiş çevirici üzerinde arama bildiriminin ekran görüntüsü

Çağrıyı yanıtladıktan ve kaydı başlattıktan sonra, arama sonrasında gerçek zamanlı dökümü ve çağrı içgörülerini görüntülemek için Arama Özeti sayfasından Döküm sekmesine gidin.

Arama özeti sayfasını görüntüleme ve anlama