Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As transcrições do Dynamics 365 Contact Center são armazenadas no formato codificado base64 na tabela de anotações no Microsoft Dataverse. Os anexos são armazenados como registros separados na tabela de anotações. Se uma conversa tiver dois arquivos trocados entre o agente e o cliente, um total de três registros serão criados relacionados a essa conversa. Qualquer conversa sempre tem n+1 registros armazenados para ela na tabela de anotações, onde n é o número de anexos na conversa. Os anexos também são codificados em base64 antes de serem salvos.
A opção de baixar transcrições em massa não está disponível prontamente. Você pode usar as seguintes solicitações de API da Web para recuperar todas as transcrições e anexos trocados no último mês.
A seguinte solicitação de API da Web recupera todas as transcrições textuais:
GET [Organization URI]/api/data/v9.1/annotations?$filter=objecttypecode eq 'msdyn_transcript'
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
A seguinte solicitação de API da Web recupera todas as anotações de anexo de arquivo:
GET [Organization URI]/api/data/v9.1/annotations?$filter=objecttypecode eq 'msdyn_ocliveworkitem'
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
O documentBody atributo na resposta obtida de cada uma das solicitações de API da Web contém a transcrição codificada base64 ou anexo.
Você pode chamar as APIs usando o código C# e, em seguida, iterar sobre cada um dos registros retornados, acessar o documentBody atributo e processá-lo para obter as transcrições inteiras.
Pelo menos uma mensagem enviada por um cliente é necessária para gerar uma transcrição.
Estrutura da transcrição JSON
As transcrições que você vê no link podem conter diferentes tipos de mensagens:
- Mensagens de controlo
- Mensagens do sistema
- Mensagens de texto (por exemplo, Oi, Olá e Como você está)
- Metadados de anexos de ficheiros
Em cada um desses tipos de mensagens, você pode ver um createdDateTime campo que indica a hora exata em que essa mensagem foi postada ou criada.
Uma mensagem de controle não tem valor visual e indica um evento como o agente entrou ou saiu da conversa. Geralmente tem uma bandeira chamada isControlMessage set to true.
{
"content": "<addmember><eventtime>1589863236124</eventtime><initiator>28:bc81db89-c4d7-4763-91fe-086fcc2e6daf</initiator><rosterVersion>1589863235629</rosterVersion><lastRosterVersion>1589801089959</lastRosterVersion><target>8:orgid:04fd615d-586d-4866-9791-b24c5f7a9e78</target></addmember>",
"contentType": "text",
"createdDateTime": "2020-05-19T04:40:36.124+00:00",
"likes": [],
"attachments": [],
"id": "1589863236124",
"created": "2020-05-19T04:40:36.124Z",
"culture": null,
"deleted": null,
"important": null,
"modified": null,
"modifiedDateTime": null,
"isControlMessage": true,
"from": null
},
Uma mensagem do sistema é um tipo especial de mensagem exibida ao cliente sobre eventos durante as conversas. Por exemplo, quando um agente se junta, quando um agente se desconecta e quando um novo agente entra.
{
"content": "Alan Steiner has left the conversation.",
"contentType": "text",
"createdDateTime": "2020-05-19T04:43:12.976+00:00",
"from": {
"application": {
"displayName": "DynamicsBot",
"id": "bc81db89-c4d7-4763-91fe-086fcc2e6daf"
},
"user": null,
"phone": null,
"guest": null,
"encrypted": null,
"onPremises": null,
"azureApplicationInstance": null,
"applicationInstance": null,
"device": null
},
"likes": [],
"attachments": [],
"id": "1589863392976",
"created": "2020-05-19T04:43:12.976Z",
"culture": null,
"deleted": null,
"important": null,
"modified": null,
"modifiedDateTime": null,
"tags": "system"
},
As mensagens de texto trocadas durante o bate-papo entre o agente e o cliente aparecem da seguinte forma:
{
"content": "I am using product A",
"contentType": "text",
"createdDateTime": "2020-05-19T04:43:03.979+00:00",
"from": {
"user": {
"displayName": "Customer",
"id": "04fd615d-586d-4866-9791-b24c5f7a9e78"
},
"phone": null,
"guest": null,
"encrypted": null,
"onPremises": null,
"azureApplicationInstance": null,
"applicationInstance": null,
"application": null,
"device": null
},
"likes": [],
"attachments": [],
"id": "1589863384036",
"created": "2020-05-19T04:43:03.979Z",
"culture": null,
"deleted": null,
"important": null,
"modified": null,
"modifiedDateTime": null,
"tags": "private,parentID-5493180821148088016",
"deliveryMode": "unbridged"
},
Como visto no código anterior, as mensagens enviadas pelo cliente têm um nome para exibição de "Cliente", se for um cliente não identificado, ou seu nome real, se forem conhecidas pelo Centro de Contato do Dynamics 365.
Para mensagens que o agente envia a um cliente, há tags que indicam que é uma mensagem "pública". As mensagens marcadas com "privado" nas tags são mensagens trocadas entre dois agentes e não são visíveis para o cliente.
{
"content": "Great! Just give me a moment. \\nWhich product are you using currently?",
"contentType": "text",
"createdDateTime": "2020-05-19T04:42:44.202+00:00",
"from": {
"user": {
"displayName": "Alan Steiner",
"id": "04fd615d-586d-4866-9791-b24c5f7a9e78"
},
"phone": null,
"guest": null,
"encrypted": null,
"onPremises": null,
"azureApplicationInstance": null,
"applicationInstance": null,
"application": null,
"device": null
},
"likes": [],
"attachments": [],
"id": "1589863364220",
"created": "2020-05-19T04:42:44.202Z",
"culture": null,
"deleted": null,
"important": null,
"modified": null,
"modifiedDateTime": null,
"tags": "public,messageId-1589863364202,RTT-C1",
"deliveryMode": "unbridged"
},
Uma FileAttachment mensagem se parece com o seguinte trecho no JSON:
{
"content": "",
"contentType": "text",
"createdDateTime": "2020-05-06T21:31:37.316+00:00",
"from": {
"application": {
"displayName": "Customer",
"id": "6cc05310-05d9-4ce5-8fc0-d606c478f896"
},
"user": null,
"phone": null,
"guest": null,
"encrypted": null,
"onPremises": null,
"azureApplicationInstance": null,
"applicationInstance": null,
"device": null
},
"likes": [
],
"attachments": [
{
"id": "0-wus-d3-37f4fa3cd63945c526799ae5b4e009f5",
"index": 0,
"fileType": "docx",
"name": "mr Hand goes to the moon, By contoso.docx",
"sourceUrl": "https://us-api.asm.contoso.com/v1/objects/0-wus-d3-37f4fa3cd63945c526799ae5b4e009f5/",
"annotationid": "cfb551a8-ef4f-431a-871f-9b027ff940e3"
}
],
"id": "1588800697316",
"created": "2020-05-06T21:31:37.316Z",
"culture": null,
"deleted": null,
"important": null,
"modified": null,
"modifiedDateTime": null,
"deliveryMode": "bridged"
},
Geralmente tem metadados relacionados aos anexos trocados durante o chat. A annotationid é a chave para o registro codificado base64 na tabela Anotações para esse anexo de arquivo. Você pode recuperar o registro usando a seguinte solicitação de API da Web. A solicitação de API da Web fornece o anexo codificado base64 que você pode decodificar e usar da maneira desejada.
GET [Organization URI]/api/data/v9.1/annotations(<annotationid>)
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0