Herhangi bir genel etkileşim merkezine devretmeyi yapılandırın

Note

Bu makaledeki özellikler, standart harness tarafından desteklenmektedir ve standart harness tarafından desteklenen aracılar için Lisanslama bölümünde açıklanan faturalama seçeneklerini kullanır. Standart aracılara ve aracı akışlarına erişme bölümünde standart özelliklere nasıl erişeceğinizi öğrenin.

Copilot Studio, temsilci konuşmalarını bir görevlendirme hub'ı aracılığıyla bir insan temsilciye sorunsuz ve bağlamsal olarak iletmenizi sağlar.

Bazı özel geliştirmelerle, konuşmaları herhangi bir katılım merkezine devredecek şekilde aracınızı yapılandırabilirsiniz.

Prerequisites

Important

Bu makale bazı yazılım geliştirme becerileri gerektirir. Bu makaledeki adımlar geliştirici araçları, yardımcı programlar ve tümleşik geliştirme ortamları (IDE) hakkında sağlam bir anlayışa sahip deneyimli BT uzmanlarına yöneliktir.

Overview

Bir görevlendirme hub'ına iletim için genel bağdaştırıcı veri akışının ekran görüntüsü.

Bir etkileşim merkezine tam aktarım şu deseni izler:

  1. Müşteri, katılım merkezinin sohbet tuvaliyle etkileşim kurar.
  2. Katılım merkezi, gelen sohbeti yerleşik sohbet yönlendirme özellikleri aracılığıyla bir aracıya yönlendirir.
  3. Özel bir bağdaştırıcı, gelen sohbet iletilerini etkileşim merkezinden Copilot Studio ajanına aktarır.
  4. Müşteri devri tetiklediğinde Copilot Studio, tam konuşma bağlamıyla devir işlemine başlar.
  5. Özel bağdaştırıcı, aktarım iletisini yakalar, tüm konuşma bağlamını ayrıştırır ve kullanılabilirliğe göre yükseltilmiş konuşmayı uzman bir insan temsilcisine kesintisiz olarak yönlendirir.
  6. Müşterinin sohbeti kesintisiz ve bağlamsal olarak sohbete devam edebilecek bir insan temsilcisine devredilir.

Konuşmayı bir insan aracısına devretmek için, özel bir aktarma adaptörü oluşturmanız gerekir.

Özel teslim bağdaştırıcısı oluşturma

Bağdaştırıcı; müşteriler, aracılar ve insan aracılar arasındaki iletileri aktararak ve dönüştürerek aracı katılım merkezinize giden veya buradan gelen konuşmaları köprüler.

En popüler aracı katılım merkezleri yazılım geliştirme kitleri (SDK'lar) sağlar veya API'lerini herkese açık olarak belgeleyerek bu tür bağlayıcılar oluşturmanıza izin verir.

Bu belge, özel bir bağdaştırıcı neleri içerebilir konusunu kapsamaz. Ancak, canlı bir temsilciye standart devretme deneyimimizin bir parçası olarak Copilot Studio'in ürettiği şeye dayanan aşağıdaki örnek devretme mesajı, başlamanıza yardımcı olabilir.

Bu kod parçacıkları ve örnekleri, konuşmanın bağlamını ayıklamanıza ve aracı konuşmalarını sorunsuz ve bağlamsal olarak herhangi bir genel etkileşim merkezine devretmenize olanak tanır.

Örnek aktarım mesaj yükü

Devir şu anda yalnızca Direct Line'i desteklemektedir. Daha fazla bilgi için bkz. Direct Line üzerinden bir aracıyla etkileşim kurma. Devir işleminden sonra bağdaştırıcı handoff.initiate adlı bir olay etkinliği oluşturur ve bunu gönderir.

GitHub sitesinde tam bir örnek devir iletisi etkinliği görebilirsiniz.

Devir iletisinden bağlamı ayıklama

Konuşma bağlamını kullanmak için olay etkinliğini ayrıştırınhandoff.initiate. Aşağıdaki kod parçacığı handoff.initiate olay etkinliğini ayrıştırır ve konuşma içeriğini ayıklar. Bkz. GitHub'da tam kod örneği.

public void InitiateHandoff(string botresponseJson)
{
    BotResponse response = JsonConvert.DeserializeObject<BotResponse>(botresponseJson);

    // Look for Handoff Initiate Activity. This indicates that conversation needs to be handed off to agent
    Activity handoffInitiateActivity = response.Activities.ToList().FirstOrDefault(
        item => string.Equals(item.Type, ActivityTypes.Event, System.StringComparison.Ordinal)
        && string.Equals(item.Name, HandoffInitiateActivityName, System.StringComparison.Ordinal));

    if (handoffInitiateActivity != null)
    {
        // Read transcript from attachment
        if (handoffInitiateActivity.Attachments?.Any() == true)
        {
            Attachment transcriptAttachment = handoffInitiateActivity.Attachments.FirstOrDefault(a => string.Equals(a.Name.ToLowerInvariant(), TranscriptAttachmentName, System.StringComparison.Ordinal));
            if (transcriptAttachment != null)
            {
                Transcript transcript = JsonConvert.DeserializeObject<Transcript>(transcriptAttachment.Content.ToString());
            }
        }

        // Read handoff context
        HandoffContext context = JsonConvert.DeserializeObject<HandoffContext>(handoffInitiateActivity.Value.ToString());

        // Connect to Agent Hub
        // <YOUR CUSTOM ADAPTER CODE GOES HERE>
    }
}