asiakaspalvelija-merkin julkaiseminen mobiilisovelluksiin tai mukautettuihin sovelluksiin
Voit yhdistää asiakaspalvelija mukautettuun sovellukseen, jotta sovelluksen käyttäjät voivat olla vuorovaikutuksessa asiakaspalvelija:n kanssa suoraan sovelluksestasi.
Useimmissa tapauksissa mukautettu sovellus on mobiililaitteen sovellus, joka on joko verkkopohjainen sovellus tai natiivisovellus tai sovitin muihin yrityksen vaatimiin palveluihin.
Mobiilisovellukseen muodostetaan yhteys eri tavoilla sen mukaan, onko sovellus verkkopohjainen vai natiivisovellus.
asiakaspalvelija:n yhdistäminen verkkopohjaiseen sovellukseen on suhteellisen yksinkertaista, koska se edellyttää koodikatkelma kopioimista sovellukseesi. Sekä verkkopohjaiset sovellukset että natiivit tai mukautetut sovellukset vaativat kuitenkin edelleen huomattavaa kehittäjäasiantuntemusta, jotta asiakaspalvelija voidaan integroida täysin sovellukseesi. Molemmat menettelyt kuvataan tässä artikkelissa.
edellytykset
- .NET Core SDK -versio 2.1.
- NuGet-paketti Microsoft.Bot.Connector.DirectLine.
- Asiakaspalvelija, joka on luotu Copilot Studio siten, että haluat muodostaa yhteyden sovellukseesi.
Yhdistä asiakaspalvelija verkkopohjaiseen sovellukseen
Valitse Copilot Studion siirtymisvalikossa Kanavat.
Valitse Mobiilisovellus-ruutu avataksesi määritysikkunan.
Kopioi Verkkopohjaiset sovellukset -osan koodi ja välitä se sovelluskehittäjille verkkopohjaiseen sovellukseesi lisäämistä varten.
Yhdistä asiakaspalvelija natiiviin tai mukautettuun sovellukseen
Vihje
Vaikka tässä osassa kuvataan, miten yhteys luodaan mobiilisovellukseen, samaa prosessia voi soveltaa mukautettuihin tai natiivisovelluksiin, kuten IoT (esineiden internetin) -sovelluksiin.
Jos tavoitteenasi on muodostaa yhteys Azure botti Service -kanaviin, kehittäjät voivat näiden ohjeiden lisäksi lukea lisää artikkelista asiakaspalvelija - Azure botti Service -kanavien julkaiseminen.
Tärkeää
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ä.
Koodinäytteet
Tässä asiakirjassa käytettävien koodikatkelmien alkuperä:
Viitteet
Tämän asiakirjan ohjeissa viitataan seuraavaan lähdemateriaaliin:
- Bot Framework Direct Line -ohjelmointirajapinta
- Direct Line -todennus
- Siirron yhteydessä saatavilla olevat kontekstimuuttujat
- Microsoft Bot Framework -aktiviteetti
Hae asiakaspalvelija parametrit Copilot Studio
Jos haluat muodostaa yhteyden rakentamaasi asiakaspalvelija, sinun on haettava asiakaspalvelija:n nimi ja tunnus päätepiste tunnistettava se.
Siirry Copilot Studio asiakaspalvelija:n Yleiskatsaus-sivulle ja kopioi asiakaspalvelija:n nimi.
Valitse Kanavat>Mobiilisovellus.
Valitse Mobiilisovellus-sivulla Tunnuksen päätepiste -kodan vieressä Kopioi. Tätä päätepistettä tarvitaan Hae Direct Line -tunnus -vaiheessa.
Hae Direct Line -tunnus
Jos haluat aloittaa keskustelun asiakaspalvelija kanssa, tarvitset tunnuksen Direct Line . Tämän tunnuksen voi hankkia tekemällä GET-pyynnön Copilot Studio -näytössä osoitettuun päätepisteeseen. Tätä tunnusta on sitten käytettävä otsikkona myöhemmissä Direct Line API -kutsuissa.
Esimerkki:
GET <BOT TOKEN ENDPOINT>
Jos pyyntö onnistuu, palautetaan Direct Line tunnus, vanhentumisaika ja conversationId pyydetylle asiakaspalvelija. Esimerkki:
{
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"expires_in": 3600,
"conversationId": "abc123"
}
Näytekoodiesimerkki
Seuraavassa esimerkissä käytetään yhdistimen mallikoodin näytteitä tunnuksen Direct Line a Copilot Studio asiakaspalvelija hakemiseen.
/// <summary>
/// Get directline token for connecting bot
/// </summary>
/// <returns>directline token as string</returns>
public async Task<DirectLineToken> GetTokenAsync(string url)
{
try
{
return await _httpClient.GetFromJsonAsync<DirectLineToken>(url);
}
catch (HttpRequestException ex)
{
throw ex;
}
}
/// <summary>
/// class for serialization/deserialization DirectLineToken
/// </summary>
public class DirectLineToken
{
public string Token { get; set; }
public int Expires_in { get; set; }
public string ConversationId { get; set; }
}
Vastausobjekti on sama kuin aiemmin nähty GET
-pyyntö.
{
"token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
"expires_in": 3600,
"conversationId": "abc123"
}
Käytä tätä Direct Line kommunikoidaksesi asiakaspalvelija kanssa
Kun olet hakenut tunnuksen Direct Line , olet valmis keskustelemaan # Copilot Studio asiakaspalvelija kanssa Direct Line. Voit aloittaa keskustelun sekä lähettää ja vastaanottaa viestejä Bot Framework Direct Line -ohjelmointirajapinta -kohdan ohjeiden avulla.
Seuraavassa esimerkissä käytetään yhdistimen mallikoodin näytteitä keskustelun aloittamiseen sekä viestien lähettämiseen ja vastaanottamiseen kohteesta a Copilot Studio asiakaspalvelija.
Alusta DirectLineClient-esiintymä Direct Line -tunnuksen avulla ja aloita keskustelu:
// Use the retrieved token to create a DirectLineClient instance using (var directLineClient = new DirectLineClient(token)) { var conversation = await directLineClient.Conversations.StartConversationAsync(); string conversationtId = conversation.ConversationId; }
Alkamisensa jälkeen kukin keskustelu voidaan tunnistaa ja yhdistää yhdistelmällä
token
jaconversationtId
. Käyttäjäviestin lähettäminen aiemmin luotuun keskusteluun:// Use the retrieved token to create a DirectLineClient instance // Use the conversationId from above step // endConversationMessage is your predefined message indicating that user wants to quit the chat while (!string.Equals(inputMessage = /*Get_User_Input()*/, endConversationMessage, StringComparison.OrdinalIgnoreCase)) { using (var directLineClient = new DirectLineClient(token)) { // Send user message using directlineClient // Payload is a Microsoft.Bot.Connector.DirectLine.Activity await directLineClient.Conversations.PostActivityAsync(conversationtId, new Activity() { Type = ActivityTypes.Message, From = new ChannelAccount { Id = "userId", Name = "userName" }, Text = inputMessage, TextFormat = "plain", Locale = "en-Us", }); } }
Hae asiakaspalvelija:n vastaus käyttämällä samaa
token
jaconversationId
. Haetut Direct Line vastaus -aktiviteetit sisältävät sekä käyttäjän että asiakaspalvelija:n viestejä. Voit suodattaa vastaus aktiviteetit asiakaspalvelija-nimesi mukaan, jolloin saat vain asiakaspalvelija:n vastaus-viestin.// Use the same token to create a directLineClient using (var directLineClient = new DirectLineClient(token)) { // To get the first response set string watermark = null // More information about watermark is available at // https://learn.microsoft.com/azure/bot-service/rest-api/bot-framework-rest-direct-line-1-1-receive-messages?view=azure-bot-service-4.0 // response from bot is of type Microsoft.Bot.Connector.DirectLine.ActivitySet ActivitySet response = await directLineClient.Conversations.GetActivitiesAsync(conversationtId, watermark); // update watermark from response watermark = response?.Watermark; // response contains set of Activity from both user and bot // To display bot response only, filter Activity.From.Name equals to your bot name List<Activity> botResponses = response?.Activities?.Where(x => x.Type == ActivityTypes.Message && string.Equals(x.From.Name, /*Bot_Name*/, StringComparison.Ordinal)).ToList(); // Display botResponses }
Direct Line -tunnuksen päivittäminen
Sinun on ehkä päivitettävä Direct Line tunnus lisäämällä koodi, jos sovelluksesi käy pitkän keskustelun asiakaspalvelija:n kanssa. Tunnus vanhenee, mutta sen voi päivittää ennen vanhentumista; lisätietoja: Direct Line -todennus.
Seuraavassa esimerkissä käytetään näytteitä Yhdistimen näytekoodista olemassa olevan Copilot Studio -keskustelun tunnuksen päivittämistä varten:
// DirectLine provides a token refresh method
// Requires the currentToken valid when refreshing
string refreshToken = new DirectLineClient(currentToken).Tokens.RefreshToken().Token;
// create a new directline client with refreshToken
directLineClient = new DirectLineClient(refreshToken);
// use new directLineClient to communicate to your bot
Jäsennä keskustelun hyötykuorma asiakaspalvelija
Kun olet aloittanut keskustelun asiakaspalvelija-tunnisteella, keskustelun JSON-tietosisältö käyttää vakioaktiviteettia Microsoft Bot Framework Direct Line . Lisätietoja: Bot Framework Direct Line API.
Siirtoaktiviteetin käsitteleminen
Jos sovelluksen on suoritettava siirto live-asiakaspalvelijoiden tarjoajalle, sinun on käsiteltävä siirtoaktiviteetti. Siirtoaktiviteetti lähetetään, kun Siirrä asiakaspalvelijalle-solmu käynnistyy. Voit tutustua tarkemmin kunkin siirtoaktiviteetin tietoihin.
Tervetuloviestin käynnistys
Jos haluat, että asiakaspalvelija lähettää tervehdys-järjestelmän aihe automaattisesti, kun käyttäjä aloittaa keskustelun, voit lähettää aktiviteetin ja Type=event
:lla Name=startConversation
.