מטא-נתונים של תמליל הצ'אט

במסמך הזה מוסבר על סכימת ה-JSON שמשמשת למבנה של מטא-נתונים בתמלילי צ'אטים. הסכימה הזו נחוצה כדי לייצג ולעבד שיחות בצורה מדויקת.

סכימת מטא-נתונים של תמליל הצ'אט

הסכמה הזו מתארת את מבנה הנתונים של תמלילי צ'אטים. הרכיבים העיקריים מתוארים בקטעים הבאים:

מידע ליבה בתמליל

המאפיינים הבאים מספקים את המידע הבסיסי על התמליל עצמו:

  • comm_type (string). סוג התקשורת שאליה שייך התמליל הזה. השיחה יכולה להיות בצ'אט או בטלפון, אם יש לכם אפשרות לשלוח SMS.

  • comm_id (מספר שלם). מזהה של התקשורת, לדוגמה — צ'אט או שיחה שהתמליל הזה קשור אליהם.

  • transcript_version (string). הגרסה של פורמט התמליל. המאפיין הזה נדרש לצורך תאימות לאחור כשמנתחים תמלילים.

  • assigned_at (מחרוזת, תאריך ושעה). חותמת הזמן של מועד הקצאת הצ'אט.

  • timezone (string). אזור הזמן שבו התנהלה שיחת הצ'אט.

הגדרות של הודעות

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

  • text (object): מייצג הודעת טקסט

    • type (מחרוזת): הערך חייב להיות 'text'

    • content (מחרוזת): תוכן הטקסט בפועל של ההודעה

    • lang (מחרוזת): שפת תוכן הטקסט

  • text_template (object): מייצג הודעת טקסט עם תבנית

    • type (string): צריך להיות text_template

    • content (מחרוזת): תוכן תבנית הטקסט, שעשוי לכלול placeholders

  • markdown (object): מייצג הודעה באמצעות עיצוב Markdown

    • type (string): צריך להיות Markdown

    • content (מחרוזת): תוכן תבנית ה-Markdown

  • markdown_template (object): מייצג הודעת Markdown עם תבנית

    • type (string): צריך להיות markdown_template.

    • content (string): תוכן תבנית Markdown, יכול להיות עם placeholders

  • photo (אובייקט): מייצג הודעה שמכילה תמונה

    • type (string): צריך להיות photo

    • media_id (מספר שלם): המזהה של קובץ המדיה של התמונה

  • video (אובייקט): מייצג הודעה שמכילה סרטון

    • title (string): שם הסרטון

    • video (object): פרטים על הסרטון

      • url (string): כתובת ה-URL של הסרטון

      • text (string): טקסט חלופי לכתובת ה-URL של הסרטון

    • media_id (מספר שלם): מזהה המדיה לאחזור כתובת ה-URL של הסרטון אם היא לא סופקה ישירות

  • image (object): מייצג הודעה שמכילה תמונה

    • title (string): שם התמונה

    • image (אובייקט): פרטים על התמונה

      • url (string): כתובת ה-URL של התמונה

      • text (string): טקסט חלופי לכתובת ה-URL של התמונה

  • document (object): מייצג הודעה שמכילה מסמך

    • title (string): שם המסמך

    • document (object): פרטים על המסמך

      • url (string): כתובת ה-URL של המסמך.

      • text (string): טקסט חלופי לכתובת ה-URL של המסמך

  • inline_button (object): מייצג קבוצה של לחצנים בתוך השורה

    • title (מחרוזת): הכותרת של קבוצת הלחצנים בתוך השורה

    • buttons (array): מערך של אובייקטים של כפתורים

      • title (string): שם הכפתור

      • action (string): שם הפעולה שמצוינת על ידי הלחצן

      • link (string): כתובת URL של קישור לפעולות של תשובה מהירה

  • sticky_button (אובייקט): מייצג קבוצה של כפתורים קבועים

    • title (מחרוזת): הכותרת של קבוצת הלחצנים הקבועה

    • buttons (array): מערך של אובייקטים של כפתורים

      • title (string): שם הכפתור

      • action (string): שם הפעולה שמצוינת על ידי הלחצן

      • link (string): כתובת URL של קישור לפעולות של תשובה מהירה

  • content_card (אובייקט): מייצג כרטיס תוכן

    • cards (array): מערך של אובייקטים של כרטיסי תוכן

      • title (מחרוזת): הכותרת של כרטיס התוכן

      • body (string): גוף הטקסט של כרטיס התוכן

  • server_message (object): מייצג הודעה שאוחזרה מהשרת

    • message_id (מספר שלם): המזהה של הודעת השרת המאוחסנת

    • content (string): תוכן ההודעה שאוחזר מהשרת

  • action (אובייקט): מייצג פעולה שבוצעה במהלך הצ'אט. יכול להיות אחד מהערכים הבאים:

    • action_escalation (object): מייצג פעולת הסלמה

      • action (מחרוזת): הערך חייב להיות 'העברה לטיפול ברמה גבוהה יותר'

      • escalation_reason (string): הסיבה להעברה לטיפול ברמה גבוהה יותר.

      • menu_id (מספר שלם): המזהה שאליו צריך להעביר את הפנייה

      • language (מחרוזת): קוד השפה בפורמט ISO 689 של התור שאליו יש להעביר את הפנייה

    • action_deflection (object): מייצג פעולת הפניה

      • action (string): צריך להיות deflection

      • deflection_type (string): סוג ההטיה

      • sip_parameters (אובייקט או null): פרמטרים של SIP להעברה כחלק מההפניה, אם קיימים

    • action_end (אובייקט): מייצג פעולת סיום

      • action (string): צריך להיות end
  • noti (object): מייצג הודעת התראה. יכול להיות שזה אחד מסוגי ההתראות הבאים:

    • noti_transfer_started (object): התראה על התחלת העברה.

      • type (string): צריך להיות noti

      • event (string): חייב להיות transferStarted

      • target (מחרוזת): יעד ההעברה, לדוגמה: — תפריט או נציג.

      • agent (object): הסוכן שהתחיל את ההעברה

        • id (integer): מזהה הסוכן

        • email (מחרוזת): האימייל של הסוכן

        • name (string): שם הסוכן

    • noti_verification_requested (אובייקט): התראה על בקשת אימות

    • type (string): צריך להיות noti

    • event (string): צריך להיות verificationRequested

    • agent (object): הנציג שמבקש אימות

      • id (מספר שלם): המזהה של הסוכן שמבקש אימות

      • email (מחרוזת): כתובת האימייל של הנציג שמבקש אימות

      • name (מחרוזת): שם הנציג שמבקש אימות

    • noti_end_user_verified (object): התראה על אימות משתמש קצה

      • type (string): צריך להיות noti

      • event (string): צריך להיות endUserVerified

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

    • noti_custom (object): מייצג התראה בהתאמה אישית.

      • type (string): צריך להיות noti

      • event (string): צריך להיות custom

      • detail (אובייקט): פרטים של אירוע מותאם אישית

      • key (מחרוזת): מפתח שמייצג את הפרטים של האירוע המותאם אישית

      • data (object): מטען ייעודי (payload) של אירוע שהוגדר בהתאמה אישית

רשומות בתמליל

  • entries (מערך): מערך של אובייקטים, שכל אובייקט מייצג הודעה ספציפית שנשלחה בצ'אט.

    • timestamp (string): חותמת הזמן שבה ההודעה נשלחה

    • type (מחרוזת): סוג ההודעה, עם הפניה לאחת ההגדרות שמתוארות למעלה, לדוגמה – text, ‏ photo, ‏ noti.

    • body (אובייקט): התוכן של ההודעה, בהתאם למבנה שמוגדר לפי סוג ההודעה. הוא משתמש ב-oneOf כדי להתאים לסוגים שונים של מבני גוף.

    • role (מחרוזת): התפקיד של המשתתף ששלח את ההודעה. הערכים האפשריים כוללים end_user, ‏ agent, ‏ manager, ‏ virtual_agent,‏ external_agent, ‏ task_virtual_agent, ‏ system.

    • user_data (אובייקט): נתונים של המשתמש ששלח את ההודעה, אלא אם מדובר בהודעה של משתמש קצה או בהודעת מערכת.

      • name (string): שם המשתמש

      • id (integer): המזהה הייחודי של המשתמש

    • avatar_url (string): כתובת URL של האחסון של הדמות של המשתמש