Partilhar via


Transferir transcrições e dados de interação do Copilot

Os representantes de atendimento ao cliente (representantes ou representantes de serviço) usam recursos do Copilot, como copiar resumos, usar uma resposta sugerida, feedback e bate-papo. As interações do copiloto são armazenadas nas tabelas Copilot Interaction (msdyn_copilotinteraction), Copilot Interaction Data (msdyn_copilotinteractiondata), Copilot Transcript (msdyn_copilottranscript) e Copilot Transcript Data (msdyn_copilottranscriptdata) no Dataverse. Você pode baixar as transcrições e os dados de interação usando a API Web Dataverse ou o SDK para .NET.

Pré-requisitos

  • Certifique-se de que a caixa de seleção Dados da experiência de suporte esteja marcada no Copilot para perguntas e e-mails, para que os dados de transação e interação sejam armazenados pelo sistema no Dataverse.
  • Verifique se você está conectado com a função de administrador Omnichannel ou supervisor Omnichannel.

Recuperar resumo da conversa

Quando um representante de serviço usa o msdyn_conversationinsight Copilot para gerar um resumo de conversa, o resumo é armazenado na tabela no Dataverse. Um registro é criado na tabela com um ID de conversa exclusivo armazenado no msdyn_ConversationId campo. O texto de resumo é armazenado no campo msdyn_copilotsummary.

Por exemplo, depois de encerrar uma conversa com um cliente, um representante de serviço usa o Copilot para gerar um resumo da conversa. O resumo da conversa é armazenado na tabela com os msdyn_conversationinsight seguintes valores.

Atributo Valor da amostra
ID da conversação 70b76ab52-120b-49e6-9dce-53f235125a01
Resumo da conversação "Problema: problemas com a válvula de fermentação na máquina de café. Etapas de solução de problemas: o cliente relatou o problema. Resultado: Problema reportado para assistência adicional."

Você pode recuperar o resumo da conversa da seguinte maneira:

  1. Identifique o ID da conversa, que é o identificador primário do registro na msdyn_ocliveworkitem tabela. No nosso exemplo, esse valor é 70b76ab52-120b-49e6-9dce-53f235125a01.

  2. Use a seguinte solicitação de API da Web para filtrar o registro da msdyn_conversationinsight tabela.

    
     [Organization URI]/api/data/v9.2/msdyn_conversationinsights?$filter=_msdyn_conversationid_value eq '<conversation-ID>'
    
    

    Em nosso exemplo, a solicitação de API da Web é a seguinte.

     https://<yourorg>.crm.dynamics.com/api/data/v9.2/msdyn_conversationinsights?$filter=_msdyn_conversationid_value eq '70b76ab52-120b-496e-9dce-53f235125a01'
    

    A resposta para o nosso exemplo é o seguinte:

    {
    "status": { "code": 20000, "message": "Successfully fetched summary from insights" },
    "summary": "Issue: Trouble with the brew valve on the coffee machine.\nTroubleshooting steps: \n- Customer reported the issue.\nOutcome: Issue reported for further assistance."
    }
    

Onde são armazenadas as interações do meu copiloto

Cada interação do representante de atendimento ao cliente com Copilot é armazenada na tabela msdyn_copilotinteraction com um ID de interação exclusivo. A tabela a seguir lista onde os dados de interação correspondentes são armazenados para cada tipo de interação.

Característica Tabela
Fazer uma pergunta msdyn_copilottranscriptdata
Feedback, resumo do caso, escrever um e-mail, sugerir uma resposta msdyn_copilotinteractiondata

Obtenha msdyn_copilotinteractionid e msdyn_interactiondataid dos registros de interação do copiloto

Antes de realizar ações como transferir uma transcrição ou visualizar comentários textuais, deve obter os valores de msdyn_copilotinteractionid e o valor do ID do registo msdyn_copilotinteractiondata correspondente de msdyn_copilotinteraction. Você pode usar a seguinte chamada de API da Web para obter a ID de interação no msdyn_copilotinteractionid campo e o interactiondataid no msdyn_interactiondataid_value campo.

[Organization URI]/api/data/v9.1/msdyn_copilotinteractions
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0  

Os principais atributos do registro são os seguintes.

Atributo Definição
msdyn_copilotinteractionid Identificador exclusivo de instâncias de entidade
msdyn_scenariorequestid Agrupa várias interações relacionadas com o Copilot.
Por exemplo: um representante faz uma pergunta ao Copilot e, em seguida, marca a resposta recebida com o polegar para cima. São consideradas duas interações, mas fazem parte do mesmo cenário.
msdyn_scenariotype Refere-se ao recurso usado pelo representante.
msdyn_interactiontype Refere-se à interação representativa específica com o Copilot.
msdyn_interactionforid O ID da entidade do registro referenciado, para o qual o representante interagiu com o Copilot.
msdyn_interactionforlogicalname O nome lógico da entidade do registo referenciado, para o qual o representante interagiu com o Copilot.
msdyn_interactioncontext Contexto adicional, como referência a transcrições.
msdyn_interactiondataid Refere-se a msdyn_copilotinteractiondata entidade que contém dados de interação

Resposta da amostra

A resposta a seguir indica um cenário em que um representante faz uma pergunta ao Copilot e, em seguida, seleciona o botão polegar para baixo para fornecer feedback. O msdyn_scenariorequestid, msdyn_scenariotype é o mesmo para ambas as interações. Os valores msdyn_interactiontype para as interações são definidos como 100230305 e 100230302, que correspondem a Gerados e Polegar para baixo.


{
          "@odata.etag": "W/\"17413914\"",
          "msdyn_interactiontype": 100230305,
          "msdyn_clienttimestamp": "2025-03-19T08:00:34Z",
          "modifiedon": "2025-03-19T08:00:34Z",
          "msdyn_interactionforlogicalname": "msdyn_ocliveworkitem",
          "overriddencreatedon": null,
          "msdyn_scenariotype": 100230201,
          "importsequencenumber": null,
          "_modifiedonbehalfby_value": null,
          "msdyn_interactionforid": "2cc5ea06-a4fd-4f83-8e75-0324383b953f",
          "statecode": 0,
          "msdyn_scenariorequestid": "cbdc1bef-6099-7f9a-f1fe-dab02e36315b",
          "_organizationid_value": "7eede269-bbb1-ef11-8a64-000d3a350e1a",
          "versionnumber": 17413914,
          "utcconversiontimezonecode": 190,
          "_msdyn_interactiondataid_value": null,
          "_createdonbehalfby_value": null,
          "_modifiedby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "createdon": "2025-03-19T08:00:34Z",
          "msdyn_interactioncontext": "{\"OcSessionId\":\"28dea393-c175-4788-9494-07fd42ee0884\",\"ResponseStatusCode\":20000,\"Plugins\":{\"IsContentRedacted\":false},\"Transcript\":{\"Id\":\"8d1d70e6-3297-644a-4e86-00d8973223a0\",\"DataId\":\"a1584aaf-d5bd-357d-54a8-84dbdba547f9\"},\"Filters\":{\"AgentContextFilters\":[],\"AutomatedFilters\":[]},\"Streaming\":{\"State\":\"GENERATED\"},\"ResponseSource\":{\"category\":\"KnowledgeSearch\",\"subCategory\":\"KnowledgeSearch\"},\"IsAutoPrompt\":true,\"AutoPromptTrigger\":\"follow-up-prompt\",\"IsAutoExpanded\":false,\"IsSuggestedPrompt\":false,\"IsEmbed\":false,\"IsStandalone\":false}",
          "msdyn_name": null,
          "statuscode": 1,
          "msdyn_copilotinteractionid": "c49dc43b-9804-f011-bae2-6045bd014292",
          "_createdby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "timezoneruleversionnumber": 0
      },
      {
          "@odata.etag": "W/\"17413983\"",
          "msdyn_interactiontype": 100230302,
          "msdyn_clienttimestamp": "2025-03-19T08:00:37Z",
          "modifiedon": "2025-03-19T08:00:41Z",
          "msdyn_interactionforlogicalname": "msdyn_ocliveworkitem",
          "overriddencreatedon": null,
          "msdyn_scenariotype": 100230201,
          "importsequencenumber": null,
          "_modifiedonbehalfby_value": null,
          "msdyn_interactionforid": "2cc5ea06-a4fd-4f83-8e75-0324383b953f",
          "statecode": 0,
          "msdyn_scenariorequestid": "cbdc1bef-6099-7f9a-f1fe-dab02e36315b",
          "_organizationid_value": "7eede269-bbb1-ef11-8a64-000d3a350e1a",
          "versionnumber": 17413983,
          "utcconversiontimezonecode": 190,
          "_msdyn_interactiondataid_value": null,
          "_createdonbehalfby_value": null,
          "_modifiedby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "createdon": "2025-03-19T08:00:41Z",
          "msdyn_interactioncontext": "{\"OcSessionId\":\"28dea393-c175-4788-9494-07fd42ee0884\",\"IsEmbed\":false,\"IsStandalone\":false}",
          "msdyn_name": null,
          "statuscode": 1,
          "msdyn_copilotinteractionid": "cb9dc43b-9804-f011-bae2-6045bd014292",
          "_createdby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "timezoneruleversionnumber": 0
      },

Baixar transcrições de bate-papo

Quando um representante de serviço faz uma pergunta ao Copilot, o bate-papo é salvo como uma transcrição codificada no formato codificado base64 usando o conjunto de caracteres UTF-16LE na msdyn_copilottranscriptdata tabela no Dataverse. Você pode baixar as transcrições para rever a conversa e as respostas fornecidas pelo Copilot.

Por exemplo, enquanto trabalha num caso, o representante de serviço pergunta ao Copilot "Como posso reservar uma viagem?". O Copilot gera uma resposta com base em um artigo da base de conhecimento. Se você quiser baixar a transcrição do bate-papo, execute as seguintes etapas:

  1. Use a chamada da API da Web para obter a ID de interação.

  2. Filtre a tabela msdyn_copilotinteraction usando o ID de interação necessário para acessar o atributo Transcript.DataID a partir de msdyn_interactioncontext. Use a seguinte solicitação de API da Web para filtrar os dados por ID de interação.

    
       [Organization URI]/api/data/v9.1/msdyn_copilotinteractions(<msdyn_copilotinteractionid>)
       Accept: application/json  
       OData-MaxVersion: 4.0  
       OData-Version: 4.0  
    
    Atributo Valor para o nosso cenário
    msdyn_copilotinteractionid F0970641-C1E7-EE11-904C-000D3A3BB867
    msdyn_scenariorequestid 93893746-e203-e9b6-18b9-887d68d18daf
    msdyn_scenariotype Fazer uma pergunta
    msdyn_interactiontypename Gerado
    msdyn_interactionforid 1cd6023d-d326-ee11-9966-000d3a3411cf (caso a partir do qual a interação foi iniciada)
    msdyn_interactioncontext {\"OcSessionId\":\"28dea393-c175-4788-9494-07fd42ee0884\",\"ResponseStatusCode\":20000,\"Plugins\":{\"IsContentRedacted\":false},\"Transcript\":{\"Id\":\"8d1d70e6-3297-644a-4e86-00d8973223a0\",\"DataId\":\"a1584aaf-d5bd-357d-54a8-84dbdba547f9\"},\"Filters\":{\"AgentContextFilters\":[],\"AutomatedFilters\":[]},\"Streaming\":{\"State\":\"GENERATED\"},\"ResponseSource\":{\"category\":\"KnowledgeSearch\",\"subCategory\":\"KnowledgeSearch\"},\"IsAutoPrompt\":true,\"AutoPromptTrigger\":\"follow-up-prompt\",\"IsAutoExpanded\":false,\"IsSuggestedPrompt\":false,\"IsEmbed\":false,\"IsStandalone\":false}
  3. Copie o valor do Trasncript.DataId do msdyn_interactioncontext. Em nosso exemplo, esse valor é a1584aaf-d5bd-357d-54a8-84dbdba547f9.

  4. A seguinte solicitação de API da Web recupera a transcrição codificada no formato base64/UTF-16LE.

      [Organization URI]/api/data/v9.1/msdyn_copilottranscriptdatas(<Transcript:DataID>)/msdyn_transcriptdata
      Accept: application/json  
      OData-MaxVersion: 4.0  
      OData-Version: 4.0  
    

    Em nosso exemplo, a solicitação de API da Web é a seguinte.

     [Organization URI]/api/data/v9.1/msdyn_copilottranscriptdatas(a1584aaf-d5bd-357d-54a8-84dbdba547f9)/msdyn_transcriptdata
    
  5. Decodifice os dados codificados usando um decodificador base64 com a opção de conjunto de caracteres UTF-16LE para obter a transcrição. Pode utilizar uma ferramenta de descodificador online para descodificar os dados. Para o nosso exemplo, a transcrição decodificada é exibida da seguinte forma.

    
    {
      "messages": [
        {
          "id": "283c2269-b131-dac2-3aed-847bd99402e7",
          "requestId": "93893746-e203-e9b6-18b9-887d68d18daf",
          "message": "How can I book a trip?",
          "sequence": 0,
          "user": "user",
          "timestamp": 1711052758750,
          "isActivityError": false,
          "context": {}
        },
        {
          "id": "eba9e9d5-71e2-9502-0bca-9387246fb094",
          "requestId": "93893746-e203-e9b6-18b9-887d68d18daf",
          "message": "To book a trip, follow these steps:\n\n1. Go to the travel portal.\n2. Click on \"Travel\" and then select \"Book a Trip\".\n3. Fill in your name, contact information, and the dates of your trip.\n4. Choose your destination from the drop-down menu. Here's the data you'll be working with:\n\n```json\n{\n    \"id\": \"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\",\n    \"title\": \"Booking Travel\",\n    \"source\": \"internal_kb\"\n}\n```\n\n5. Select a hotel from the drop-down menu and specify the check-in and check-out dates. If you don't want to book a hotel, you can check the \"I do not want to book a hotel\" box.\n6. Choose the type of rental car you want. If you don't want to rent a car, you can check the \"I do not want to rent a car\" box.\n7. Click \"Submit\".\n\nOnce you've submitted your booking request, you will receive a follow-up communication from a representative with a quote. You can also add any notes or additional information by clicking on the case from the My Bookings screen.",
          "sequence": 1,
          "user": "bot",
          "timestamp": 1711052776968,
          "isActivityError": false,
          "sources": [
            {
              "id": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
              "title": "Booking Travel",
              "source": "internal_kb"
            }
          ],
          "context": {
            "customerIntent": "How to book a trip?"
          }
        }
      ],
      "context": {
        "chatId": "21b27e83-299d-a639-3e4a-8dcd6332e184",
        "sessionId": "session-id-2",
        "entityId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
        "entityName": "knowledgearticle"
      }
    } 
    
    

Obter comentários textuais

Quando um representante interage com o Copilot, ele pode fornecer feedback sobre as respostas que o Copilot fornece. O feedback é armazenado na msdyn_verbatim coluna da msdyn_copilotinteractiondata tabela no Dataverse.

Por exemplo, a resposta do Copilot não é precisa e o representante seleciona o ícone de polegar para baixo para fornecer feedback. O representante também fornece feedback literal. O aplicativo cria um registro na msdyn_copilotinteraction tabela com o msdyn_interactiontypename definido como ThumbsDown.

Os principais atributos para o registro são os seguintes.

Atributo Dados de amostra para o nosso exemplo
msdyn_copilotinteractionid 817ff9e4-cbe7-ee11-904c-000d3a3bb867
msdyn_scenariorequestid 93893746-e203-e9b6-18b9-887d68d18daf
msdyn_scenariotype Fazer uma pergunta
msdyn_interactiontype 100230302
msdyn_interactiontypename ThumbsDown
msdyn_interactionforid 1cd6023d-d326-ee11-9966-000d3a3411cf
msdyn_interactiondataid 807ff9e4-cbe7-ee11-904c-000d3a3bb867

Pode obter o feedback integral fornecido pelo representante da seguinte forma.

  1. Obtenha o valor de ID de registro msdyn_copilotinteractiondata necessário da msdyn_copilotinteraction tabela.

  2. Execute a seguinte solicitação de API da Web para recuperar o feedback literal.

    
       [Organization URI]/api/data/v9.1/msdyn_copilotinteractiondatas(<msdyn_copilotinteractiondataid>)
       Accept: application/json  
       OData-MaxVersion: 4.0  
       OData-Version: 4.0  
    

    Em nosso exemplo, a solicitação de API da Web é a seguinte.

    [Organization URI]/api/data/v9.1/msdyn_copilotinteractiondatas(807ff9e4-cbe7-ee11-904c-000d3a3bb867)
    
  3. Veja o feedback integral disponível na msdyn_verbatim coluna. Para o nosso exemplo, o feedback recuperado é o seguinte.

    
      {
      "@odata.etag": "W/\"29538313\"",
      "_owningbusinessunit_value": "0e9ec0a2-eb6a-ed11-9561-000d3a336228",
      "statecode": 0,
      "statuscode": 1,
      "_createdby_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "msdyn_copilotinteractiondataid": "807ff9e4-cbe7-ee11-904c-000d3a3bb867",
      "_ownerid_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "modifiedon": "2024-03-21T21:42:21Z",
      "msdyn_verbatim": "Article is outdated",
      "_owninguser_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "_modifiedby_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "versionnumber": 29538313,
      "createdon": "2024-03-21T21:42:21Z",
      "msdyn_interactiondata_name": null,
      "overriddencreatedon": null,
       "importsequencenumber": null,
      "_modifiedonbehalfby_value": null,
      "msdyn_interactiondata": null,
      "utcconversiontimezonecode": null,
      "_createdonbehalfby_value": null,
      "msdyn_name": null,
      "_owningteam_value": null,
      "timezoneruleversionnumber": null
    }
    
    

Baixar dados de interação

Exceto transcrições de perguntas e respostas, para todas as outras interações entre representantes e Copilot, os dados são armazenados na tabela msdyn_copilotinteractiondata no Dataverse.

Por exemplo, uma interação pode ser um representante usando o Copilot para gerar um e-mail ou um resumo do caso. Os principais atributos para o nosso exemplo são os seguintes.

Atributo Valor para o nosso cenário
msdyn_copilotinteractionid 0dd941e5-34e7-ee11-904c-000d3a3bb867
msdyn_scenariorequestid 42AE7F8E-736F-1CEA-035B-6BF970B48E9C
msdyn_scenariotype Resumo do caso
msdyn_interactiontype 100230305
msdyn_interactiontypename Gerado
msdyn_interactionforid 1cd6023d-d326-ee11-9966-000d3a3411cf
msdyn_interactioncontext {"Filters":{"AgentContextFilters":[],"DynamicFilters":{"IsApplied":false}}}
msdyn_interactiondataid f9d841e5-34e7-ee11-904c-000d3a3bb867

Você pode baixar os dados de interação da seguinte maneira.

  1. Obtenha o valor de ID de registro msdyn_copilotinteractiondata necessário da msdyn_copilotinteraction tabela.

  2. Execute a seguinte solicitação de API da Web para recuperar os dados de interações da msdyn_copilotinteractiondata tabela no formato codificado base64:

     [Organization URI]/api/data/v9.1/msdyn_copilotinteractiondatas(<msdyn_copilotinteractiondataid>)/msdyn_interactiondata
     Accept: application/json  
     OData-MaxVersion: 4.0  
     OData-Version: 4.0  
    
    

    Em nosso exemplo, a solicitação de API da Web é a seguinte.

      [Organization URI]/api/data/v9.1/msdyn_copilotinteractiondatas(f9d841e5-34e7-ee11-904c-000d3a3bb867)/msdyn_interactiondata
    
    
  3. Decodifice os dados codificados em base64 para obter a transcrição. Você pode usar uma ferramenta de decodificador base64 on-line para decodificar os dados. Para o nosso exemplo de e-mail, os dados de interação decodificados são exibidos da seguinte maneira.

Observação

Faça uma pergunta, sugira uma resposta e elabore um e-mail Os recursos usam o codificador base64 com o conjunto de caracteres UTF-16LE. O resumo de casos e conversas usa o conjunto de caracteres UTF-8. Recomendamos que você use o mesmo conjunto de caracteres que foi usado para codificar dados para decodificá-los.

Captura de ecrã dos dados de interação descodificados.

Utilizar o Copilot para resolver problemas dos clientes
Ver relatório de análise do copiloto