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
- Sinun on oltava rakentanut asiakaspalvelija käyttämällä Copilot Studio.
- Tarvitset vuorovaikutuskeskuksen, joka kykenee ohjelmalliseen vuorovaikutukseen ohjelmointirajapinnan tai SDK:n avulla
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
Täysi siirto vuorovaikutuskeskukseen tapahtuu seuraavan mallin mukaan:
Loppukäyttäjä käyttää vuorovaikutuskeskuksen keskustelupohjaa.
Sitoutumiskeskus reitittää saapuvan keskustelun sisäänrakennettujen chat-reititysominaisuuksien kautta asiakaspalvelija-merkkiin.
Mukautettu sovitin välittää saapuvat chat-viestit aktivointikeskuksesta a Copilot Studio asiakaspalvelija.
Kun käyttäjä käynnistää siirron, Copilot Studio aloittaa siirron säilyttäen täyden keskustelukontekstin.
Mukautettu sovitin sieppaa siirtoviestin, jäsentää koko keskustelun kontekstin ja reitittää eskaloidun keskustelun saumattomasti taitavalle ihmisasiakaspalvelijalle käytettävyyden perusteella.
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>
}
}