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

במסמך הזה מתוארת הסכימה של רשומת המטא-נתונים של סשן הצ'אט. רשומת המטא-נתונים היא מסמך ה-JSON שנוצר ב-Contact Center AI Platform בשביל סשן צ'אט תמיכה. פלטפורמת CCAI מעבירה את רשומת המטא-נתונים לשילוב ה-CRM כחלק מהפקודה session-end של הצ'אט. כשמפעילים אחסון חיצוני, פלטפורמת CCAI גם כותבת את הרשומה להגדרת האחסון החיצוני באמצעות קובץ metadata.json. כל צ'אט יוצר רשומה אחת, שמזוהה באופן ייחודי על ידי id ברמה העליונה. אתם יכולים להשתמש בסכימה הזו כדי להטמיע רשומות במערכות במורד הזרם, לאמת את המידע שמתקבל או למפות שדות לעמודות במחסן הנתונים.

הרמה הבסיסית (root) של הסכימה

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

מפתח ראשי: id (מספר שלם)

מזהה באופן ייחודי את סשן הצ'אט בדייר (tenant) שלכם. לכל צ'אט יש רשומה אחת. כל שאר השדות, המערכים והאובייקטים בתצוגת עץ ברמה העליונה מתארים מאפיינים של הצ'אט שה-id הזה מזהה.

Handler discriminator: agent_info (object, oneOf)

אובייקט יחיד שהצורה שלו משתנה בהתאם ל-handler האחרון של הצ'אט. שתי הגרסאות מוציאות זו את זו – רק אחת מהן קיימת:

  • וריאנט של נציג אנושי: מוצג כשהגורם האחרון שטיפל בצ'אט היה נציג אנושי. מכיל את email, first_name, last_name ו-agent_number בנוסף לשדות המשותפים id, name ו-avatar_url.

  • גרסת נציג וירטואלי: מוצגת כשהגורם האחרון שטיפל בצ'אט היה נציג וירטואלי. כולל את va_alias ומשמיט את email,‏ first_name,‏ last_name ו-agent_number.

כדי לזהות את הגרסה של הרשומה, בודקים אם יש שדה ספציפי לגרסה, בדרך כלל agent_info.email לגרסת הנציג האנושי או agent_info.va_alias לגרסת הנציג הווירטואלי. ההגדרות המלאות של כל וריאנט מופיעות בקטעים הגדרות: agent והגדרות: virtual_agent.

מבחינים של צורת הצ'אט: chat_type, session_type, session_type_v2 (מחרוזת)

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

  • ‫chat_type: משתמש באוצר המילים של ה-enum הקודם, כמו Messaging Inbound (App Chat),‏ Messaging (SMS) ו-Messaging (WhatsApp).

  • ‫session_type: תמיד מחזירה את אותה מחרוזת כמו chat_type. הוא קיים לצורך תאימות לדורות קודמים עם שילובים שמתבססים על השדה הזה. צריך להתייחס אליו כאל כינוי שהוצא משימוש של chat_type.

  • ‫session_type_v2: משתמש באוצר המילים הנוכחי של ה-enum, שעשוי לכלול הבחנות מפורטות יותר כמו "הודעות נכנסות (צ'אט בנייד)". בסוגי צ'אטים שאין להם ערך ספציפי לגרסה 2, הפונקציה session_type_v2 מחזירה את אותה מחרוזת כמו chat_type. שילובים חדשים צריכים לנתח את session_type_v2.

הערכים של כל שדה מפורטים בקטע מידע בסיסי.

מידע בסיסי

  • ‫id (מספר שלם): מזהה ייחודי לכל סשן צ'אט. המפתח הראשי הזה מבדיל בין שיחה אחת לאחרת.

  • ‫lang (מחרוזת): קוד השפה לפי תקן ISO 639 ששימש במהלך הצ'אט (למשל, "en" לאנגלית, "es" לספרדית).

  • ‫chat_type (מחרוזת): סוג הצ'אט, לפי אוצר המילים של הסוג הקודם. הערכים כוללים את "Messaging Inbound (App Chat)", "Messaging Inbound (Web Chat)", "Messaging (SMS)", "Messaging (WhatsApp)" ו-"Messaging (Apple Messaging for Business)".

  • session_type (מחרוזת): עותק משוכפל של chat_type (אותם ערכים), שנשמר לצורך תאימות לדורות קודמים. מידע נוסף זמין במאמר ניהול גרסאות והוצאה משימוש: כפילויות מדור קודם.

  • ‫session_type_v2 (מחרוזת): סוג הצ'אט, לפי אוצר המילים של הסוג הנוכחי. הוא משפר את הערכים של chat_type באמצעות הבחנות מפורטות יותר. הערכים כוללים את "Messaging Inbound (Mobile Chat)", "Messaging Inbound (Web Chat)", "Messaging (WhatsApp)", "Messaging (Apple Messaging for Business)", "Messaging (SMS)", "Messaging Inbound (SMS)", "Messaging Outbound (SMS)", "Messaging Outbound (SMS via API)", "Messaging Inbound (SMS Direct)", "Messaging Outbound (SMS Direct)" ו-"Messaging Outbound (SMS Direct via API)".

  • ‫status (מחרוזת): הסטטוס הנוכחי של הצ'אט. ערכים אפשריים: "queued", "selecting", "assigned", "va_assigned", "dismissed", "va_dismissed", "check_in_timeout", "finished", "no_response", "canceled" ו-"failed". (בפלטפורמת CCAI, צ'אט שהסתיים ולא התקבלה בו תשובה מהלקוח מדווח כ-"no_response").

  • ‫sub_status (מחרוזת או null): פרטי סטטוס ספציפיים יותר של הצ'אט, אם יש כאלה. ערכים אפשריים: "selecting",‏ "queued",‏ "ongoing",‏ "dismissed",‏ "finished",‏ "timeout",‏ "deflected",‏ "abandoned",‏ "expired",‏ "failed",‏ "disconnected_by_agent",‏ "disconnected_by_end_user",‏ "no_messages",‏ "no_messages_disconnected_by_agent",‏ "no_messages_disconnected_by_end_user" ו-"end_user_opt_out".

  • ‫created_at (מחרוזת, תאריך ושעה): חותמת הזמן שבה נוצר הסשן של הצ'אט בפלטפורמת CCAI.

  • ‫assigned_at (מחרוזת, תאריך ושעה או null): חותמת הזמן שבה פלטפורמת CCAI הקצתה את הצ'אט לנציג, או null אם הוא לא הוקצה.

  • ‫ends_at (מחרוזת, תאריך ושעה או null): חותמת הזמן של סיום שיחת הצ'אט.

  • updated_at (מחרוזת, תאריך-שעה): חותמת הזמן שבה פלטפורמת CCAI עדכנה לאחרונה את נתוני הצ'אט.

  • ‫first_msg_sent_at (מחרוזת, תאריך ושעה או null): חותמת הזמן שבה משתתף שלח את ההודעה הראשונה בצ'אט.

  • ‫last_msg_sent_at (מחרוזת, תאריך ושעה או null): חותמת הזמן שבה אחד מהמשתתפים שלח את ההודעה האחרונה בצ'אט.

  • ‫wait_duration (מספר שלם): משך הזמן הכולל שהלקוח המתין, בשניות.

  • ‫chat_duration (מספר שלם): משך הזמן הכולל של הצ'אט, בשניות.

  • ‫verified (ערך בוליאני): מציין אם הפעולה החכמה לאימות אימתה את האינטראקציה.

  • rating (מספר שלם או null): הדירוג של שביעות רצון הלקוחות (CSAT) שהלקוח נתן, או null אם הלקוח לא נתן דירוג.

  • ‫has_feedback (ערך בוליאני): מציין אם הצרכן סיפק משוב אחרי הצ'אט.

  • out_ticket_id (מחרוזת או null): המזהה של הפנייה שנוצרה על ידי פלטפורמת CCAI במערכת ה-CRM החיצונית.

  • out_ticket_url (מחרוזת, URI או null): כתובת ה-URL של הפנייה ב-CRM.

  • ‫is_out_ticket_account (בוליאני או null): מציין אם הפנייה ב-CRM מייצגת לקוח (true) או אינטראקציה בצ'אט (false).

  • ‫fail_reason (מחרוזת): הסיבה לכל כשל במהלך הצ'אט, או "nothing" אם לא היה כשל בצ'אט. ערכים אפשריים: "nothing",‏ "unknown",‏ "expired",‏ "after_hours",‏ "escalation_failed",‏ "check_in_timed_out",‏ "check_in_timed_out_expired",‏ "expired_menu_selection",‏ "end_user_opt_out",‏ "over_cap_email",‏ "group_deleted_no_substitute",‏ "presession_deflection_unknown",‏ "presession_deflection_timeout",‏ "presession_deflection_message_delivery_failed",‏ "sms_error" ו-"force_ended".

  • ‫provider_type (מחרוזת): סוג ספק הצ'אט שבו משתמשים. ערכים אפשריים: "unknown",‏ "messaging",‏ "twilio_conversations", "nexmo_conversations" ו-"ujet_conversations".

  • ‫provider_channel_id (מחרוזת או null): מזהה ערוץ ספציפי לספק של הצ'אט.

  • ‫message_count (מספר שלם): המספר הכולל של ההודעות שהוחלפו בצ'אט.

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

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

  • ‫transcript (ערך בוליאני): מציין אם קיים תמליל צ'אט לסשן.

מידע על נציגים ונציגים וירטואליים

  • ‫agent_info (אובייקט): מידע על הנציג האנושי או הנציג הווירטואלי שטיפל בצ'אט בפעם האחרונה. בשדה הזה נעשה שימוש במילת המפתח oneOf כדי לציין שהוא יכול להיות אחד משני סוגים.

    • ‫agent (אובייקט): מידע על הנציג האנושי:

      • ‫id (מספר שלם): המזהה הייחודי של הסוכן.

      • ‫agent_number (מחרוזת או null): מזהה שמוקצה לנציג.

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

      • ‫name (מחרוזת): השם המלא של הסוכן.

      • last_name (מחרוזת): שם המשפחה של הסוכן.

      • ‫first_name (מחרוזת): השם הפרטי של הנציג.

      • ‫avatar_url (מחרוזת, URI או null): כתובת ה-URL של תמונת הדמות של הנציג.

    • ‫virtual_agent (אובייקט): מידע על הנציג הווירטואלי:

      • ‫id (מספר שלם): המזהה הייחודי של הנציג הווירטואלי.

      • name (מחרוזת): השם של הנציג הווירטואלי.

      • ‫avatar_url (מחרוזת, URI או null): כתובת ה-URL של תמונת הדמות של הנציג הווירטואלי.

      • va_alias (מחרוזת או null): הכינוי של הנציג הווירטואלי, אם הוגדר כזה. מוצג תמיד במטען הייעודי (payload). הערך הוא null כשלא מוגדר כינוי.

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

    • ‫id (מספר שלם): המזהה הייחודי של התפריט.

    • ‫name (מחרוזת): שם התפריט.

    • ‫parent_id (מספר שלם או null): המזהה של תפריט ההורה, אם יש כזה.

    • position (מספר שלם או null): מיקום התפריט ביחס לתפריטים אחרים באותה רמה.

    • ‫deleted (בוליאני): מציין אם אדמין מחק את התפריט.

    • ‫menu_type (מחרוזת): סוג התפריט (לדוגמה, "sms_menu", "web_menu").

    • ‫hidden (ערך בוליאני): אם התפריט גלוי או זמין לשימוש.

    • ‫menu_path (אובייקט או null): מתאר את הנתיב ההיררכי של התפריטים שהלקוח ניווט בהם.

    • ‫items_count (מספר שלם): מספר התפריטים בנתיב.

    • ‫name (מחרוזת או null): מחרוזת של שמות תפריטים שמופרדים בלוכסנים (לדוגמה, "Support/Billing"), או null אם הנתיב לתפריט לא זמין.

    • ‫materialized_path (מחרוזת): מחרוזת של מזהי תפריטים שמופרדים בלוכסנים.

  • ‫queue_priority_level (מספר שלם): העדיפות שהוקצתה לתור שנבחר לצ'אט. העמודה הזו מוצגת רק אם התכונה "עדיפות בתור" מופעלת בחשבון.

פרטי משתמש הקצה

  • end_user (אובייקט או null): מידע על הצרכן:

    • ‫id (מספר שלם או null): המזהה הפנימי של הצרכן.

    • ‫identifier (מחרוזת או null): מזהה חיצוני של הצרכן.

    • ‫out_contact_id (מחרוזת או null): מזהה הצרכן במערכת לניהול קשרי לקוחות (CRM).

סימוני לקוחות ונתונים שסופקו על ידי ה-SDK

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

    • ‫verified_customer (בוליאני): מציין אם מערכת חיצונית סימנה את הצרכן כמאומת.

    • ‫bad_actor (בוליאני): מציין אם מערכת חיצונית סימנה את הצרכן כגורם זדוני.

    • ‫repeat_customer (בוליאני): מציין אם מערכת חיצונית סימנה את הצרכן כלקוח חוזר.

  • ‫custom_data_secured (אובייקט או null): נתונים מותאמים אישית, חתומים באופן מאובטח, שסופקו על ידי ה-SDK או Apps API.

  • ‫custom_data_not_secured (אובייקט או null): נתונים מותאמים אישית, חתומים באופן לא מאובטח, שסופקו על ידי ה-SDK או ה-API של האפליקציות.

  • ‫sip_headers (אובייקט): כותרות SIP נכנסות שתועדו בצ'אט. המפתחות והערכים משקפים את כותרות ה-SIP שהתקבלו מהספק במעלה הזרם. מופיע רק אם מפעילים בחשבון את תיעוד הכותרות של SIP ומגדירים שהן יופיעו במטא-נתונים של הסשן

קבצי מדיה מצורפים

  • ‫photos (מערך): תמונות או צילומי מסך שמשויכים לשיחה.

    • ‫id (מספר שלם): מזהה ייחודי של התמונה.

    • ‫photo_type (מחרוזת): סוג התמונה. הערכים האפשריים כוללים את "photo" ו-"screenshot".

    • ‫url (מחרוזת, URI): כתובת ה-URL של התמונה השמורה.

    • smart_action_type (מחרוזת או null): הפעולה החכמה שמשויכת לתמונה, אם יש כזו.

    • ‫transfer_id (מספר שלם או null): מזהה אירוע ההעברה שמשויך לתמונה, אם משתתף העלה אותה אחרי שההעברה הושלמה.

  • ‫videos (מערך): סרטונים שמשויכים לצ'אט.

    • ‫id (מספר שלם): המזהה הייחודי של הסרטון.

    • ‫url (מחרוזת, URI): כתובת ה-URL של הסרטון השמור.

    • smart_action_type (מחרוזת או null): הפעולה החכמה שמשויכת לסרטון, אם יש כזו.

    • ‫transfer_id (מספר שלם או null): מזהה אירוע ההעברה שמשויך לסרטון, אם משתתף העלה אותו אחרי שההעברה הושלמה.

העברות של צ'אטים

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

    • ‫id (מספר שלם): המזהה הייחודי של ההעברה.

    • ‫status (מחרוזת): הסטטוס הנוכחי של ההעברה. הערכים האפשריים כוללים את "transferring",‏ "transferred",‏ "failed" ו-"deflected".

    • ‫fail_reason (מחרוזת): הסיבה שההעברה נכשלה, או "nothing" אם היא לא נכשלה. ערכים אפשריים: "nothing",‏ "timeout",‏ "canceled",‏ "ag_connection_timeout",‏ "va_failure",‏ "agent_detection_missed",‏ "unknown" ו-"unreachable_phone_number".

    • ‫created_at (מחרוזת, תאריך-שעה): חותמת הזמן של תחילת ההעברה.

    • assigned_at (מחרוזת, תאריך ושעה או null): חותמת הזמן שבה פלטפורמת CCAI הקצתה את ההעברה.

    • connected_at (מחרוזת, תאריך-שעה או null): חותמת הזמן של החיבור להעברה.

    • updated_at (מחרוזת, תאריך ושעה או null): חותמת הזמן שבה פלטפורמת CCAI עדכנה לאחרונה את רשומת ההעברה.

    • ‫call_duration (מספר שלם או null): משך הזמן של קטע הצ'אט שהועבר, בשניות.

    • ‫wait_duration (מספר שלם או null): משך הזמן שהלקוח המתין במהלך ההעברה, בשניות.

    • ‫deflection (מחרוזת): סוג ההסטה שמשויך להעברה. הגדרות: deflection לערכים מותרים.

    • ‫answer_type_path (מחרוזת או null): נתיב שמתאר איך הנציגים או התפריטים ענו לצ'אטים המקוריים ולצ'אטים של היעד.

    • ‫from_menu_path / to_menu_path (אובייקט או null): נתיב התפריט לפני ההעברה ואחריה. אותה צורה כמו menu_path בקטע הגדרות.

    • ‫from_agent / to_agent (אובייקט או null): נציג אנושי בכל צד של ההעברה, באותה צורה כמו האובייקט agent בהגדרות.

    • ‫from_virtual_agent / to_virtual_agent (אובייקט או null): נציג וירטואלי בכל צד של ההעברה. אותה צורה כמו האובייקט virtual_agent בהגדרות.

    • ‫from_queue_priority_level / to_queue_priority_level (מספר שלם או null): עדיפות התור לפני ואחרי ההעברה.

משך הטיפול בצ'אט

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

    • ‫id (מספר שלם): המזהה הייחודי של משך הטיפול.

    • ‫agent_id (מספר שלם או null): המזהה של הנציג.

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

    • ‫chat_duration (מספר שלם): משך הצ'אט בפלח הזה, בשניות.

    • ‫menu_path_id (מספר שלם או null): המזהה של נתיב התפריט.

    • ‫menu_path (מחרוזת): השם של נתיב התפריט.

    • lang (מחרוזת): השפה שבה נעשה שימוש.

    • ‫transfer (ערך בוליאני): אם התרחשה העברה.

    • ‫transfer_id (מספר שלם או null): מזהה ההעברה.

    • ‫started_at (מחרוזת, תאריך-שעה או null): חותמת הזמן של ההתחלה.

    • ‫ended_at (מחרוזת, תאריך ושעה או null): חותמת הזמן של הסיום.

    • ‫response_count (מספר שלם): מספר התשובות של הסוכן.

    • ‫response_time_total (מספר שלם): זמן התגובה הכולל של הנציג, בשניות.

    • ‫response_time_max (מספר שלם): זמן התגובה הארוך ביותר של הנציג, בשניות.

    • ‫response_time_avg (מספר או null): זמן התגובה הממוצע של הנציג, בשניות. הערך הזה יכול לכלול דיוק עשרוני.

    • assigned_connection_duration (מספר שלם): משך הזמן שהלקוח המתין בזמן שהנציג שהוקצה התחבר במהלך הקטע הזה.

משך הזמן בתור

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

    • ‫id (מספר שלם): מזהה ייחודי.

    • ‫agent_id (מספר שלם או null): מזהה הסוכן.

    • ‫ended_at (מחרוזת, תאריך-שעה): חותמת הזמן של הסיום.

    • ‫lang (מחרוזת): שפה.

    • ‫menu_path_id (מספר שלם או null): מזהה הנתיב של התפריט.

    • ‫menu_path (מחרוזת): הנתיב בתפריט.

    • ‫queue_duration (מספר שלם או null): משך הזמן בתור, בשניות.

    • ‫started_at (מחרוזת, תאריך ושעה): חותמת הזמן של ההתחלה.

    • ‫transfer_cold (ערך בוליאני או null): אם הצ'אט הועבר בלי נתוני רקע.

    • ‫transfer (ערך בוליאני): אם התרחשה העברה.

    • ‫transfer_id (מספר שלם או null): מזהה ההעברה.

    • ‫service_level_abandon_time_threshold (מספר שלם): סף הנטישה של רמת השירות, בשניות.

    • ‫service_level_event (מחרוזת): סטטוס האירוע ברמת השירות. הערכים האפשריים כוללים את "excluded",‏ "in_sla" ו-"not_in_sla".

    • ‫service_level_target_percent (מספר שלם): אחוז היעד של רמת השירות.

    • ‫service_level_target_time (מספר שלם): זמן היעד של רמת השירות, בשניות.

העברת שיחות מנציג וירטואלי לנציג אנושי

  • ‫escalations (מערך): כל רשומה מייצגת העברה מנציג וירטואלי לנציג אנושי.

    • ‫id (מספר שלם): המזהה הייחודי של בקשת התמיכה ברמה גבוהה יותר.

    • ‫status (מחרוזת): הסטטוס הנוכחי של הבקשה לטיפול ברמה גבוהה יותר. ערכים אפשריים: "escalating",‏ "escalated",‏ "canceled",‏ "deflecting" ו-"deflected".

    • ‫reason (מחרוזת): הסיבה להעברת הצ'אט לטיפול ברמה גבוהה יותר. ערכים אפשריים: "unknown",‏ "by_end_user_ask",‏ "by_end_user_message", "by_virtual_agent",‏ "payload_failure",‏ "could_not_resume", "by_human_agent",‏ "invalid_queue" ו-"dismissed".

    • created_at (מחרוזת, תאריך ושעה): חותמת הזמן שבה התחילה ההעברה לרמה גבוהה יותר.

    • escalated_at (מחרוזת, תאריך ושעה או null): חותמת הזמן של סיום ההעברה לרמה גבוהה יותר.

    • ‫from_virtual_agent (אובייקט או null): הנציג הווירטואלי שהעביר את הצ'אט לטיפול ברמה גבוהה יותר. אותה צורה כמו האובייקט virtual_agent בהגדרות.

    • ‫to_agent (אובייקט או null): הנציג האנושי שהצ'אט הועבר אליו. צורה זהה לאובייקט agent בקטע Definitions.

    • ‫from_menu_path / to_menu_path (אובייקט או null): נתיב התפריט לפני ואחרי ההעברה לטיפול ברמה גבוהה יותר.

העברות לטיפול ברמה גבוהה יותר שנמנעו על ידי הנציג הווירטואלי

  • ‫virtual_agent_deflected_escalations (מערך): פרטים על העברות מנציגים וירטואליים שהופנו ליעד אחר.

    • ‫id (מספר שלם): מזהה ייחודי.

    • ‫deflection (מחרוזת): סוג ההסטה של ההעברה לטיפול ברמה גבוהה יותר שהוסטה. ערכים אפשריים: "no_deflection",‏ "over_cap",‏ "over_cap_email",‏ "over_cap_virtual_agent",‏ "over_cap_human_agent",‏ "over_cap_sip",‏ "over_cap_extension",‏ "after_hours",‏ "after_hours_email" ו-"after_hours_virtual_agent".

    • ‫escalation_id (מספר שלם): מזהה אירוע ההעברה לטיפול ברמה גבוהה יותר.

    • ‫escalation_reason (מחרוזת): הסיבה להעברה לטיפול ברמה גבוהה יותר. ערכים זהים לאלה של escalations[].reason (ראו 10. העברת פניות מנציג וירטואלי לנציג אנושי).

    • ‫escalated_at (מחרוזת, תאריך ושעה): חותמת הזמן של ההעברה לטיפול ברמה גבוהה יותר.

    • menu_path_id (מספר שלם): מזהה הנתיב של התפריט.

    • ‫menu_path (מחרוזת): הנתיב בתפריט.

    • ‫lang (מחרוזת): שפה.

    • ‫virtual_agent (אובייקט): פרטי הנציג הווירטואלי. הגדרות: virtual_agent.

משך הטיפול של הנציג הווירטואלי

  • ‫virtual_agent_handle_durations (מערך): מקטעי הזמן שבהם הצ'אט טופל על ידי נציג וירטואלי.

    • ‫id (מספר שלם): מזהה ייחודי.

    • ‫virtual_agent (אובייקט): פרטי הנציג הווירטואלי. הגדרות: virtual_agent.

    • ‫chat_duration (מספר שלם): משך המקטע, בשניות.

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

    • ‫finish_reason (מחרוזת): הסיבה לסיום האינטראקציה.

    • ‫response_count (מספר שלם): מספר התשובות של הנציג הווירטואלי.

    • ‫response_time_total (מספר שלם): זמן התגובה הכולל של הנציג הווירטואלי, בשניות.

    • ‫response_time_max (מספר שלם): זמן התגובה הארוך ביותר של הנציג הווירטואלי, בשניות.

    • ‫response_time_avg (מספר או null): זמן התגובה הממוצע של הנציג הווירטואלי, בשניות. הערך הזה יכול לכלול דיוק עשרוני.

    • ‫fallback_response_count (מספר שלם): מספר התגובות החלופיות.

    • ‫initiated_by (מחרוזת): איך התחיל הסשן של הנציג הווירטואלי. ערכים אפשריים: "end_user",‏ "human_agent" ו-"post_session".

    • menu_path_id (מספר שלם): מזהה הנתיב של התפריט.

    • ‫menu_path (מחרוזת): הנתיב בתפריט.

    • ‫lang (מחרוזת): שפה.

    • ‫transfer (ערך בוליאני): אם הצ'אט הועבר.

    • ‫transfer_id (מספר שלם או null): מזהה אירוע ההעברה.

    • ‫started_at (מחרוזת, תאריך ושעה): חותמת הזמן של ההתחלה.

    • ‫ended_at (מחרוזת, תאריך-שעה): חותמת הזמן של הסיום.

משך הטיפול של הצרכן

  • consumer_handle_durations (מערך): משך הזמן שהצרכן היה בצ'אט.

    • ‫id (מספר שלם): מזהה ייחודי.

    • ‫chat_duration (מספר שלם): משך הזמן של פלח הצרכנים, בשניות.

    • ‫started_at (מחרוזת, תאריך-שעה או null): חותמת הזמן של ההתחלה.

    • ‫ended_at (מחרוזת, תאריך ושעה או null): חותמת הזמן של הסיום.

    • ‫message_count (מספר שלם): מספר ההודעות של הצרכן.

    • ‫response_count (מספר שלם): מספר התגובות של הצרכנים.

    • ‫response_time_total (מספר שלם): זמן התגובה הכולל של הצרכן, בשניות.

    • ‫response_time_max (מספר שלם): זמן התגובה הארוך ביותר של הצרכן, בשניות.

    • ‫response_time_avg (מספר שלם): זמן התגובה הממוצע של הצרכן, בשניות.

משך האירועים של הצרכנים

  • consumer_event_durations (מערך): פרטים של אירועי צ'אט של צרכנים (למשל, CSAT, תשלום).

    • ‫id (מספר שלם): מזהה ייחודי.

    • ‫duration (מספר שלם): משך האירוע, בשניות.

    • type (מחרוזת): סוג האירוע. ערכים אפשריים: "csat".

    • ‫event (מחרוזת): תוצאת האירוע. ערכים אפשריים: "finished" ו-"abandoned".

    • menu_path_id (מספר שלם): מזהה הנתיב של התפריט.

    • ‫menu_path (מחרוזת): הנתיב בתפריט.

    • ‫lang (מחרוזת): שפה.

    • ‫started_at (מחרוזת, תאריך ושעה): חותמת הזמן של ההתחלה.

    • ‫ended_at (מחרוזת, תאריך-שעה): חותמת הזמן של הסיום.

משתתפים

  • participants (מערך): מידע על כל משתתף בצ'אט (לדוגמה, משתמש קצה, נציג, נציג וירטואלי).

    • ‫id (מספר שלם): המזהה הייחודי של המשתתף.

    • ‫type (מחרוזת): סוג המשתתף. ערכים אפשריים: "end_user",‏ "agent",‏ "manager",‏ "virtual_agent",‏ "external_agent" ו-"task_virtual_agent".

    • ‫entry_type (מחרוזת): איך המשתתף הצטרף לצ'אט. ערכים אפשריים: "queue_or_transfer",‏ "barge" ו-"post_session".

    • ‫user_id (מספר שלם או null): מזהה המשתמש אם המשתתף הוא נציג.

    • end_user_id (מספר שלם או null): מזהה הצרכן, אם המשתתף הוא הצרכן.

    • ‫virtual_agent_id (מספר שלם או null): מזהה הנציג הווירטואלי אם המשתתף הוא נציג וירטואלי.

    • ‫virtual_agent_params (אובייקט): מטא-נתונים בהתאמה אישית שמשמשים את הנציג הווירטואלי. מוצג רק כשמגדירים הכללה של מטא-נתונים בהתאמה אישית של נציג וירטואלי.

    • ‫status (מחרוזת): סטטוס המשתתף. ערכים אפשריים: "waiting",‏ "connecting",‏ "invited",‏ "connected",‏ "wrapping_up",‏ "finished",‏ "failed",‏ "resuming" ו-"post_session_in_progress".

    • ‫fail_reason (מחרוזת): הסיבה לכשל, אם יש כזה. ערכים אפשריים: "nothing",‏ "canceled",‏ "ag_connection_timeout" ו-"unknown".

    • ‫connected_at (מחרוזת, תאריך ושעה או null): חותמת הזמן של ההצטרפות של המשתתף.

    • ‫phone_number (מחרוזת): מספר הטלפון של המשתתף. מופיע רק אצל משתתפים פרטיים.

    • ‫chat_id (מספר שלם): מזהה הצ'אט.

    • chat_duration (מספר שלם או null): משך הצ'אט של המשתתף, בשניות.

    • ‫finished_at (מחרוזת, תאריך ושעה או null): חותמת הזמן של סיום המעורבות של המשתתף.

    • ‫agent_assist (אובייקט): הגדרות Agent Assist שפעילות למשתתף. מוצג תמיד. אובייקט ריק כברירת מחדל כש-Agent Assist לא מוגדר.

    • ‫virtual_agent (אובייקט או null): פרטי הנציג הווירטואלי שמשמש כמשתתף הזה, שונה מ-agent_info ברמה העליונה ומ-virtual_agent_params.

    • ‫sip_headers (אובייקט או null): כותרות SIP שמשויכות למשתתף הזה. תמיד מופיע במטען הייעודי (payload). ערך null כשפלטפורמת CCAI לא מתעדת אף אחד.

    • location (מחרוזת או null): המיקום שהוגדר לנציג. מוצג רק למשתתפים שהם נציגים.

    • location_id (מספר שלם או null): המזהה של המיקום. מופיע רק אצל משתתפים שהם סוכנים.

    • ‫email (מחרוזת, אימייל): כתובת האימייל של הסוכן. מופיע רק אצל משתתפים שהם נציגים.

    • first_name (מחרוזת או null): השם הפרטי של הנציג. מופיע רק אצל משתתפים שהם נציגים.

    • ‫last_name (מחרוזת או null): שם המשפחה של הסוכן. מופיע רק אצל משתתפים שהם נציגים.

    • middle_name (מחרוזת או null): השם האמצעי של הסוכן. מופיע רק אצל משתתפים שהם נציגים.

    • ‫teams (מערך): מערך של אובייקטים מסוג { id, name } שמתארים את הצוותים שהנציג משתייך אליהם. מופיע רק אצל משתתפים שהם סוכנים.

יומני צ'ק-אין

  • check_in_logs (מערך): אירועי צ'ק-אין שתועדו במהלך הסשן בצ'אט. כל פריט מקבץ אירועי צ'ק-אין לתהליך צ'ק-אין אחד.

    • ‫check_in_id (מספר שלם): המזהה של תהליך הצ'ק-אין.

    • ‫check_in_modal_displayed (מחרוזת, תאריך ושעה): חותמת הזמן שבה פלטפורמת CCAI הציגה לצרכן את המודל של הצ'ק-אין. מוצג רק כשפלטפורמת CCAI הציגה את המודל של הצ'ק-אין.

    • ‫check_in_modal_confirmed (מחרוזת, תאריך ושעה): חותמת הזמן שבה הצרכן אישר שהוא עדיין נוכח. מופיעה רק כשהצרכן אישר את המודל של הצ'ק-אין.

    • check_in_modal_timed_out (מחרוזת, תאריך ושעה): חותמת הזמן שבה פג הזמן הקצוב לתפוגה של בקשת הדיווח. מוצג רק כשנגמר הזמן של מודל הצ'ק-אין.

    • ‫timeout_modal_rejoin_success (מחרוזת, תאריך ושעה): חותמת הזמן של ההצטרפות מחדש. מופיע רק כשהצרכן הצטרף מחדש אחרי זמן קצוב לתפוגה.

    • ‫timeout_modal_rejoin_failed_after_hour (מחרוזת, תאריך-שעה): חותמת זמן של המועד שבו הפעולה של ההצטרפות מחדש נכשלה בגלל ההתנהגות לאחר שעות הפעילות. מוצג רק אם ההצטרפות מחדש נכשלה כי התור היה אחרי שעות הפעילות.

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

    • ‫timeout_modal_time_out_sdk_closed (מחרוזת, תאריך-שעה): חותמת הזמן שבה הסתיים תהליך המודל של הזמן הקצוב לתפוגה כי ה-SDK נסגר. מוצג רק כשערכת ה-SDK נסגרה אחרי זמן קצוב לתפוגה.

אירועים של מבצעים

  • offer_type (מחרוזת או null): האופן שבו פלטפורמת CCAI הציעה את הצ'אט לנציג.

  • offer_events (מערך): אירועים שבהם פלטפורמת CCAI הציעה את הצ'אט לנציגים.

    • ‫casting_time (מחרוזת, תאריך ושעה): השעה שבה פלטפורמת CCAI הציעה את הצ'אט.

    • group (מחרוזת): הקבוצה שפלטפורמת CCAI הציעה לה את הצ'אט.

פרטים נוספים

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

  • answer_type (מחרוזת או null): איך השיחה נענתה. ערכים אפשריים: "manual",‏ "auto",‏ "outbound" ו-"deflection".

  • inbound_number (מחרוזת): מספר הטלפון הנכנס שמשויך לצ'אט. השדה הזה מופיע רק אם מספר טלפון נכנס משויך לצ'אט.

  • ‫outbound_number (מחרוזת): מספר הטלפון לשיחות יוצאות שמשויך לצ'אט. מופיע רק כשמספר טלפון לשיחות יוצאות משויך לצ'אט.

  • ‫after_hours (בוליאני): אם הצ'אט התרחש אחרי שעות הפעילות.

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

    • ‫user_id (מספר שלם): מזהה הסוכן.

    • transfer_id (מספר שלם או null): מזהה אירוע העברה, אם תועד אחרי העברה.

    • ‫participant_id (מספר שלם): מזהה המשתתף.

    • ‫note (מחרוזת): הערה בטקסט חופשי של הנציג.

    • original_note (מחרוזת): הגרסה המקורית (לפני העריכה) של ההערה.

    • code (מחרוזת): שם קוד הטיפול.

    • ‫ujet_code_id (מספר שלם או מחרוזת ריקה): המזהה שהוקצה על ידי פלטפורמת CCAI לקוד הסיווג; מפתח יציב לקוד (השם המוצג של הקוד יכול להשתנות). מחרוזת ריקה אם אין ערך.

    • ‫list (מחרוזת): שם הרשימה שהקוד שייך אליה.

    • list_path (מחרוזת): נתיב מופרד בלוכסנים של רשימת הקודים.

    • ‫ujet_list_id (מספר שלם או מחרוזת ריקה): המזהה שהוקצה על ידי פלטפורמת CCAI לרשימה שאליה שייך קוד הטיפול, מפתח קבוע לרשימה. מחרוזת ריקה אם אין נתונים.

    • custom_list_id (מחרוזת או מספר שלם): מזהה רשימה שהוגדר על ידי הלקוח, אם מופה.

    • custom_code_id (מחרוזת או מספר שלם): מזהה קוד שהוגדר על ידי הלקוח, אם הוא ממופה.

  • ‫auto_session_summaries (מערך): סיכומי פגישות שנוצרו על ידי AI ונשמרו ברשומת ה-CRM. השדה הזה מופיע רק אם הפעלתם את סיכום השיחות בחשבון וה-AI הצליח ליצור סיכום. כל רשומה מכילה:

    • ‫user_id (מספר שלם): המזהה של הסוכן שהסיכום משויך אליו.

    • ‫participant_id (מספר שלם): מזהה המשתתף.

    • session_summary (מחרוזת): טקסט הסיכום.

    • ‫session_summary_sections (מערך או אובייקט): הסיכום מחולק לקטעים מובְנים, אם יש כאלה.

  • ‫transfer_limit (אובייקט או null): נתוני מגבלת ההעברה של הצ'אט.

    • ‫enabled (בוליאני): אם הופעל מעקב אחרי מגבלת ההעברות בצ'אט.

    • ‫limit_count (מספר שלם): מספר ההעברות המותרות.

    • ‫limit_reached (בוליאני): אם הצ'אט הגיע למגבלת ההעברה שהוגדרה.

  • ‫email (מחרוזת, אימייל או null): כתובת האימייל של הצרכן.

  • ‫feedback (מחרוזת או null): משוב צרכנים.

  • smart_action_text (מחרוזת או null): הטקסט של כל פעולה חכמה שבוצעה.

הגדרות

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

מתאר את נתיב התפריט ההיררכי שהצ'אט עבר. כאן מופיעה הרשימה המלאה של השדות של Menu navigation.

הפניה מ: השדה menu_path ברמה העליונה; כל transfers[].from_menu_path ו-transfers[].to_menu_path; כל escalations[].from_menu_path ו-escalations[].to_menu_path.

agent (אובייקט)

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

מקור ההפניה: השדה agent_info כשהגורם האחרון שטיפל בצ'אט היה נציג אנושי, כל transfers[].from_agent ו-transfers[].to_agent, כל escalations[].to_agent.

virtual_agent (אובייקט)

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

הפניה מ: השדה agent_info כשהמטפל האחרון בצ'אט היה נציג וירטואלי; כל transfers[].from_virtual_agent ו-transfers[].to_virtual_agent; כל escalations[].from_virtual_agent; כל virtual_agent_handle_durations[].virtual_agent; כל virtual_agent_deflected_escalations[].virtual_agent; כל participants[].virtual_agent.

‫deflection (מחרוזת, טיפוסים בני מנייה (enum))

מצב ההסטה שמשויך להעברה. הערכים מופיעים בתבנית <trigger>_<destination>, שבה הקידומת מזהה את התנאי שהפעיל את ההסטה והסיומת מזהה את היעד או הטיפול (לדוגמה, _phone, ‏ _voicemail, ‏ _message, ‏ _queue, ‏ _sip,‏ _extension, ‏ _callback, ‏ _wait).

ערכים מותרים, מקובצים לפי משפחת טריגרים:

  • אין הסטה: no_deflection, deflecting

  • קיבולת יתר, כשהתור חרג מסף הקיבולת שלו: over_cap_phone, over_cap_voicemail, over_cap_callback, over_cap_wait, over_cap_message, over_cap_ewt_only, over_cap_queue, over_cap_sip, over_cap_extension, over_cap_phone_with_extension

  • מחוץ לשעות הפעילות, כשהצ'אט הגיע מחוץ לשעות הפעילות שהוגדרו בתפריט: after_hours_voicemail, after_hours_phone, after_hours_message_only, after_hours_message, after_hours_queue, after_hours_sip, after_hours_extension, after_hours_phone_with_extension

  • הפניה אוטומטית זמנית, כשהוגדרה הפניה אוטומטית זמנית בתפריט: temp_redirection_phone, ‏ temp_redirection_message,‏ temp_redirection_voicemail, ‏ temp_redirection_queue,‏ temp_redirection_sip, ‏ temp_redirection_extension,‏ temp_redirection_phone_with_extension

  • לפני הסשן ב-IVR: ‏ivr_presession_deflection

  • הפניה אוטומטית של נציג וירטואלי, כשנציג וירטואלי הפנה את הצ'אט: va_redirection_phone, va_redirection_sip

הפניה מ: כל transfers[].deflection. (העברות לטיפול ברמה גבוהה יותר שנמנעו על ידי נציג וירטואלי ב-Virtual agent deflected escalations משתמשות באוצר מילים נפרד וקטן יותר של מניעה, שמתועד שם בשורה.)

transfer (אובייקט)

מתאר העברה שהתרחשה במהלך הצ'אט. העברה יכולה להעביר צ'אט בין תפריטים, נציגים ונציגים וירטואליים. הרשימה המלאה של השדות מופיעה במאמר העברות של Chat.

הפניה מ: המערך transfers ברמה העליונה. (שדות אחרים בשם transfer_id לאורך המסמך הם הפניות של מספרים שלמים ל-id של העברה, ולא אובייקטים מוטבעים של transfer).

participant (אובייקט)

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

הפניה מ: המערך participants ברמה העליונה; auto_session_summaries[].participant_id; רשומות של החלטות.

שורת משך זמן (אובייקט)

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

מקורות: handle_durations,‏ queue_durations,‏ virtual_agent_handle_durations,‏ consumer_handle_durations ו-consumer_event_durations.

ניהול גרסאות והוצאה משימוש

מסמך המטא-נתונים של סשן הצ'אט מיועד לפיתוח סכימה שתואמת לדורות קודמים. יכול להיות שיתווספו שדות ומערכים חדשים בכל שלב, וכדי להבטיח שהפונקציונליות תמשיך לפעול, השילובים צריכים להתעלם ממפתחות לא מזוהים. השדות הבאים הם שדות מדור קודם או שדות שהוחלפו באופן חלקי. הם נשארים במטען הייעודי (payload) כדי לשמור על תאימות לדורות קודמים, אבל בשילובים חדשים צריך לפעול לפי ההנחיות לכל אחד מהם.

כפילויות בגרסה הקודמת

  • ‫session_type (מחרוזת): כינוי קודם של chat_type. תמיד מחזירה את אותו ערך כמו chat_type ומשתמשת באותו אוצר מילים של טיפוסים מוגדרים מראש (enum) מדור קודם. נשמר לצורך תאימות לדורות קודמים עם שילובים שמתבססים על session_type. בשילובים חדשים צריך לנתח את chat_type ישירות, או את session_type_v2 כדי לקבל הבחנות מפורטות יותר (ראו התפתחות אוצר המילים בהמשך).

התפתחות אוצר המילים

‫chat_type ו-session_type_v2 מתארים את אותו סוג צ'אט בסיסי בשני אוצרות מילים שונים. פלטפורמת CCAI פולטת את שני השדות בכל רשומה, והם לא כפילויות אחד של השני:

  • ‫chat_type משתמש באוצר המילים של ה-enum הקודם. ערכים כמו Messaging Inbound (App Chat)‎ ו-Messaging (SMS)‎ מתארים את הקטגוריות המקוריות של סוגי הצ'אטים.

  • ‫session_type_v2 משתמש באוצר המילים הנוכחי של enum. יכול להיות שהיא תציג הבחנות מפורטות יותר לסוגי הצ'אטים שיש להם ערכים ספציפיים לגרסה 2. בסוגי צ'אטים שאין להם ערך ספציפי לגרסה 2, הפונקציה session_type_v2 מחזירה את אותה מחרוזת כמו chat_type.

שילובים חדשים צריכים לנתח את session_type_v2. הערכים של כל שדה מפורטים בקטע מידע בסיסי.

שדות מצטברים

יכול להיות שעם הזמן יתווספו למטען הייעודי (payload) של המטא-נתונים של סשן הצ'אט שדות חדשים ברמה העליונה, שדות בתצוגת עץ, שדות של פריטים במערך או ערכי enum. השילובים צריכים להתעלם ממפתחות לא מזוהים ולשמור רשומות גולמיות כשאפשר. הימנעו מניתוח מחמיר שנכשל כשמופיע מאפיין חדש.