הורד תעתיקים של מרכז הקשר של Dynamics 365 בצובר

תעתיקים של מרכז הקשר של Dynamics 365 מאוחסנים בתבנית מקודדת base64 בטבלת הביאורים ב- Microsoft Dataverse. קבצים מצורפים מאוחסנים כרשומות נפרדות בטבלת הביאורים. אם בשיחה יש שני קבצים שהוחלפו בין הסוכן ללקוח, נוצרות בסך הכל שלוש רשומות הקשורות לשיחה זו. לכל שיחה יש תמיד n+1 רשומות המאוחסנות עבורה בטבלת הביאורים, כאשר n הוא מספר הקבצים המצורפים בשיחה. קבצים מצורפים מקודדים גם הם base64 לפני השמירה.

האפשרות להוריד תמלילים בכמות גדולה אינה זמינה מהקופסה. באפשרותך להשתמש בבקשות ה- Web API הבאות כדי לאחזר את כל התעתיקים והקבצים המצורפים שהוחלפו בחודש האחרון.

בקשת ה- Web API הבאה מאחזרת את כל התעתיקים הטקסטואליים:

GET [Organization URI]/api/data/v9.1/annotations?$filter=objecttypecode eq 'msdyn_transcript'
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0  

בקשת ה- Web API הבאה מאחזרת את כל ביאורי הקובץ המצורף:

GET [Organization URI]/api/data/v9.1/annotations?$filter=objecttypecode eq 'msdyn_ocliveworkitem'
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0  

התכונה documentBody בתגובה המתקבלת מכל אחת מבקשות ה- Web API מכילה את התעתיק או הקובץ המצורף המקודד base64.

אתה יכול להתקשר לממשקי ה-API באמצעות קוד C# ולאחר מכן לחזור על כל אחת מהרשומות המוחזרות, לגשת לתכונה documentBody ולעבד אותה כדי לקבל את כל התמלילים.

נדרשת לפחות הודעה אחת שנשלחה על-ידי לקוח כדי ליצור תמלול.

מבנה תמליל JSON

התמלילים שאתה רואה בקישור יכולים להכיל סוגים שונים של הודעות:

  • שליטה בהודעות
  • הודעות מערכת
  • הודעות טקסט (לדוגמה, היי, שלום ומה שלומך)
  • מטה-נתונים של קובץ מצורף

בכל אחד מסוגי ההודעות הללו, באפשרותך לראות createdDateTime שדה המציין את השעה המדויקת שבה הודעה זו פורסמה או נוצרה.

להודעת בקרה אין ערך חזותי והיא מציינת אירוע כמו סוכן שהצטרף לשיחה או עזב אותה. בדרך כלל יש לו דגל שנקרא 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
},

הודעת מערכת היא סוג מיוחד של הודעה המוצגת ללקוח לגבי אירועים במהלך השיחות. לדוגמה, כאשר סוכן מצטרף, כאשר סוכן מתנתק וכאשר סוכן חדש מצטרף.

{
	"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"
},

הודעות טקסט שהוחלפו במהלך הצ'אט בין סוכן ללקוח מופיעות באופן הבא:

{
	"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"
},

כפי שניתן לראות בקוד הקודם, להודעות שנשלחו על-ידי הלקוח יש שם תצוגה של "לקוח" אם הוא לקוח לא מזוהה, או שמו האמיתי אם הוא מוכר למרכז הקשר של Dynamics 365.

עבור הודעות שהסוכן שולח ללקוח, ישנן תגיות המציינות שזו הודעה "ציבורית". הודעות המסומנות ב"פרטיות" בתגיות הן הודעות המוחלפות בין שני סוכנים ואינן גלויות ללקוח.

{
	"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"
},

הודעה FileAttachment נראית כמו המקטע הבא ב- 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"
  },

בדרך כלל יש לו מטא נתונים הקשורים לקבצים המצורפים שהוחלפו במהלך הצ'אט. זהו annotationid המפתח לרשומה המקודדת base64 בטבלת הביאורים עבור קובץ מצורף זה. באפשרותך לאחזר את הרשומה באמצעות בקשת ה- Web API הבאה. בקשת ה- Web API מספקת לך את הקובץ המצורף המקודד base64 שבאפשרותך לפענח ולהשתמש בו בדרך הרצויה.

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

מרכז הקשר של Dynamics 365 למפתחים