Jaa


Siirron määrittäminen mihin tahansa yleiseen vuorovaikutuskeskukseen

Copilot Studio Voit luovuttaa asiakaspalvelija keskustelut saumattomasti ja kontekstuaalisesti ihmiselle asiakaspalvelija sitoutumiskeskuksen kautta.

Mukautetun kehityksen avulla voit määrittää asiakaspalvelija siirtämään keskustelut mihin tahansa sitoutumiskeskukseen. Tässä oppaassa kuvataan, miten tämä voidaan tehdä.

edellytykset

Tärkeää

Jotkut tämän osan ohjeet edellyttävät ohjelmistokehitystä sinulta tai kehittäjiltäsi. Se on tarkoitettu kokeneille IT-ammattilaisille, kuten IT-järjestelmänvalvojille tai sovelluskehittäjille, joilla on vankka käsitys kehittäjien työkaluista, apuohjelmista ja IDE:istä ja jotka haluavat integroida kolmannen osapuolen vuorovaikutuskeskuksia Copilot Studioiin.

Yleiskuvaus

KUVA YLEISESTÄ SOVITINTIETOVUOSTA.

Täysi siirto vuorovaikutuskeskukseen tapahtuu seuraavan mallin mukaan:

  1. Loppukäyttäjä käyttää vuorovaikutuskeskuksen keskustelupohjaa.

  2. Sitoutumiskeskus reitittää saapuvan keskustelun sisäänrakennettujen chat-reititysominaisuuksien kautta asiakaspalvelija-merkkiin.

  3. Mukautettu sovitin välittää saapuvat chat-viestit aktivointikeskuksesta a Copilot Studio asiakaspalvelija.

  4. Kun käyttäjä käynnistää siirron, Copilot Studio aloittaa siirron säilyttäen täyden keskustelukontekstin.

  5. Mukautettu sovitin sieppaa siirtoviestin, jäsentää koko keskustelun kontekstin ja reitittää eskaloidun keskustelun saumattomasti taitavalle ihmisasiakaspalvelijalle käytettävyyden perusteella.

  6. Loppukäyttäjän keskustelu siirretään saumattomasti ja konteksti säilyttäen ihmisasiakaspalvelijalle, joka voi jatkaa keskustelua.

Jos haluat siirtää keskustelun ihmisasiakaspalvelijalle, sinun on luotava mukautettu siirtosovitin.

Mukautetun siirtosovittimen luominen

Sovitin yhdistää keskustelut asiakaspalvelija-vuorovaikutuskeskukseen ja sieltä pois välittämällä ja muuntamalla viestejä loppukäyttäjien, asiakaspalvelijoiden ja asiakaspalvelijoiden välillä.

Useimmat suositut vuorovaikutuskeskukset tarjoavat Software Delvelopment Kitejä (SDK) tai dokumentoivat ohjelmointirajapintansa julkisesti, minkä ansiosta voit luoda tällaisia sovittimia.

Tässä asiakirjassa ei käsitellä sitä, mitä mukautettu sovitin voi sisältää. Seuraava esimerkki luovutusviestistä, joka perustuu siihen, mitä Copilot Studio luo osana vakiosiirtoa live-asiakaspalvelijakokemukseen, voi kuitenkin auttaa pääsemään alkuun.

Näiden koodinpätkien ja näytteiden avulla voit poimia kontekstia keskustelusta ja siirtää asiakaspalvelija keskustelut saumattomasti ja asiayhteyteen mihin tahansa yleiseen sitoutumiskeskukseen.

Esimerkki siirtoviestin tiedoista

Tällä hetkellä tuetaan vain Direct Lineen siirtoa. Lue lisää vuorovaikutuksesta asiakaspalvelija overin kanssa Direct Line. Siirron yhteydessä luodaan tapahtuma-aktiviteetti handoff.initiate, joka lähetetään sovittimelle.

Löydät täyden näytteen siirtoviestiaktiviteetista GitHub-sivustoltamme.

Kontekstin poimiminen siirtoviestistä

Käyttääksesi keskustelukontekstia sinun on jäsennettävä handoff.initiate-tapahtuma-aktiviteetti. Seuraava koodikatkelma jäsentää handoff.initiate-tapahtuma-aktiviteetin ja poimii keskustelukontekstin. Katso täysi koodinäyte GitHubista.

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