Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Transkrypcje Dynamics 365 Contact Center są przechowywane w formacie zakodowanym w formacie base64 w tabeli adnotacji w Microsoft Dataverse. Załączniki są przechowywane jako osobne rekordy w tabeli adnotacji. Jeśli konwersacja ma dwa pliki wymieniane między agentem a klientem, tworzone są łącznie trzy rekordy związane z tą konwersacją. Każda konwersacja zawsze ma rekordy n+1 zapisane dla niej w tabeli adnotacji, gdzie n to liczba załączników w konwersacji. Załączniki są również kodowane w formacie base64 przed zapisaniem.
Opcja zbiorczego pobierania transkrypcji nie jest dostępna od razu po wyjęciu z pudełka. Możesz użyć następujących żądań internetowego interfejsu API, aby pobrać wszystkie transkrypcje i załączniki wymienione w ciągu ostatniego miesiąca.
Następujące żądanie internetowego interfejsu API pobiera wszystkie transkrypcje tekstowe:
GET [Organization URI]/api/data/v9.1/annotations?$filter=objecttypecode eq 'msdyn_transcript'
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Następujące żądanie internetowego interfejsu API pobiera wszystkie adnotacje załączników plików:
GET [Organization URI]/api/data/v9.1/annotations?$filter=objecttypecode eq 'msdyn_ocliveworkitem'
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Atrybut documentBody w odpowiedzi uzyskanej z każdego żądania internetowego interfejsu API zawiera transkrypcję lub załącznik zakodowany w formacie base64.
Możesz wywołać interfejsy API przy użyciu kodu C#, a następnie iterować po każdym ze zwróconych rekordów, uzyskać dostęp do atrybutu documentBody i przetworzyć go, aby uzyskać całe transkrypcje.
Do wygenerowania transkrypcji wymagana jest co najmniej jedna wiadomość wysłana przez klienta.
Struktura transkrypcji JSON
Transkrypcje, które widzisz w linku, mogą zawierać różne typy wiadomości:
- Komunikaty sterujące
- Komunikaty systemowe
- Wiadomości tekstowe (na przykład Cześć, Witam i Jak się masz)
- Metadane załączników plików
W każdym z tych typów wiadomości można zobaczyć pole wskazujące createdDateTime dokładny czas, w którym dana wiadomość została opublikowana lub utworzona.
Komunikat kontrolny nie ma żadnej wartości wizualnej i wskazuje zdarzenie, takie jak agent dołączył do konwersacji lub ją opuścił. Zwykle ma flagę o nazwie isControlMessage ustawioną na 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
},
Komunikat systemowy to specjalny rodzaj komunikatu, który jest wyświetlany klientowi w związku ze zdarzeniami podczas konwersacji. Na przykład, gdy agent dołącza, gdy agent rozłącza się i gdy dołącza nowy agent.
{
"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"
},
Wiadomości tekstowe wymieniane podczas czatu między agentem a klientem wyglądają następująco:
{
"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"
},
Jak pokazano w poprzednim kodzie, wiadomości wysyłane przez klienta mają nazwę wyświetlaną "Klient", jeśli jest to niezidentyfikowany klient, lub ich rzeczywistą nazwę, jeśli są znani Dynamics 365 Contact Center.
W przypadku wiadomości, które agent wysyła do klienta, istnieją tagi oznaczające, że jest to wiadomość "publiczna". Wiadomości oznaczone jako "prywatne" w tagach to wiadomości wymieniane między dwoma agentami i nie są widoczne dla klienta.
{
"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"
},
Komunikat FileAttachment wygląda podobnie do następującego fragmentu kodu w formacie 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"
},
Zwykle zawiera metadane związane z załącznikami wymienianymi podczas czatu. Jest annotationid to klucz do rekordu zakodowanego w formacie base64 w tabeli Adnotacje dla tego załącznika pliku. Rekord można pobrać przy użyciu następującego żądania internetowego interfejsu API. Żądanie internetowego interfejsu API zapewnia załącznik zakodowany w formacie base64, który można zdekodować i używać w żądany sposób.
GET [Organization URI]/api/data/v9.1/annotations(<annotationid>)
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0