Jaa


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

Yhdistä asiakaspalvelija verkkopohjaiseen sovellukseen

  1. Valitse Copilot Studion siirtymisvalikossa Kanavat.

  2. Valitse Mobiilisovellus-ruutu avataksesi määritysikkunan.

  3. Kopioi Verkkopohjaiset sovellukset -osan koodi ja välitä se sovelluskehittäjille verkkopohjaiseen sovellukseesi lisäämistä varten.

    Lisää asiakaspalvelija verkkopohjaiseen sovellukseen.

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:

Hae asiakaspalvelija parametrit Copilot Studio

Jos haluat muodostaa yhteyden rakentamaasi asiakaspalvelija, sinun on haettava asiakaspalvelija:n nimi ja tunnus päätepiste tunnistettava se.

  1. Siirry Copilot Studio asiakaspalvelija:n Yleiskatsaus-sivulle ja kopioi asiakaspalvelija:n nimi.

  2. Valitse Kanavat>Mobiilisovellus.

  3. Valitse Mobiilisovellus-sivulla Tunnuksen päätepiste -kodan vieressä Kopioi. Tätä päätepistettä tarvitaan Hae Direct Line -tunnus -vaiheessa.

    Hanki asiakaspalvelija parametrit.

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.

  1. 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;
       }
    
  2. Alkamisensa jälkeen kukin keskustelu voidaan tunnistaa ja yhdistää yhdistelmällä token ja conversationtId. 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",
               });
           }
       }
    
  3. Hae asiakaspalvelija:n vastaus käyttämällä samaa token ja conversationId. 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.