במסמך הזה מתוארת הסכימה של רשומת המטא-נתונים של סשן הצ'אט. רשומת המטא-נתונים היא מסמך JSON שנוצר על ידי Contact Center AI Platform עבור סשן צ'אט עם התמיכה. פלטפורמת CCAI מעבירה את רשומת המטא-נתונים לשילוב עם מערכת ניהול קשרי הלקוחות (CRM) כחלק מהפקודה session-end בצ'אט. כשמפעילים אחסון חיצוני, פלטפורמת CCAI גם כותבת את הרשומה להגדרת האחסון החיצוני באמצעות קובץ metadata.json. כל צ'אט יוצר רשומה אחת, שמזוהה באופן ייחודי על ידי id ברמה העליונה. אפשר להשתמש בסכימה הזו כדי להטמיע רשומות במערכות במורד הזרם, לאמת מטענים שהתקבלו או למפות שדות לעמודות במחסן נתונים.
הרמה הבסיסית (root) של הסכימה
רשומת המטא-נתונים של סשן הצ'אט היא אובייקט JSON יחיד שמייצג סשן צ'אט אחד. שלושה מושגים ברמה העליונה קובעים את הזהות והצורה של הרשומה.
מפתח ראשי: id (מספר שלם)
מזהה באופן ייחודי את שיחת הצ'אט בדייר. קיימת רשומה אחת לכל צ'אט. כל שאר השדות, המערכים והאובייקטים המקוננים ברמה העליונה מתארים מאפיינים של הצ'אט שהמזהה id מתייחס אליו.
Handler discriminator: agent_info (object, oneOf)
אובייקט יחיד שהצורה שלו משתנה בהתאם לטיפול האחרון בצ'אט. שני הווריאנטים מוציאים זה את זה – רק אחד מהם יכול להיות נוכח:
וריאציה של נציג תמיכה אנושי: מוצגת כשהגורם האחרון שטיפל בצ'אט היה נציג תמיכה אנושי. כולל את השדות
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-shape discriminators: chat_type, session_type, session_type_v2
(string)
שלוש תצוגות מקבילות של אותו סוג צ'אט בסיסי. הם אף פעם לא חלוקים בדעתם לגבי סוג הצ'אט שהרשומה מייצגת, וההבדל ביניהם הוא רק במינוח שבו משתמשים כדי לתת לו שם.
chat_type: משתמש באוצר המילים של ספירת הערכים מדור קודם, כמו Messaging Inbound (App Chat), Messaging (SMS) ו-Messaging (WhatsApp).
session_type: תמיד מחזירה את אותה מחרוזת כמוchat_type. הוא קיים לצורך תאימות לאחור עם שילובים שמבוססים על השדה הזה. צריך להתייחס אליו כאל כינוי שיצא משימוש שלchat_type.
session_type_v2: נעשה שימוש באוצר המילים הנוכחי של enum, שעשוי לכלול הבחנות מדויקות יותר כמו Messaging Inbound (Mobile Chat). לסוגי צ'אטים שאין להם ערך ספציפי לגרסה 2, הפונקציהsession_type_v2מחזירה את אותה מחרוזת כמוchat_type. שילובים חדשים צריכים לנתח אתsession_type_v2.
לערכים של כל שדה, ראה מידע בסיסי.
מידע בסיסי
id(מספר שלם): מזהה ייחודי לכל סשן צ'אט. המפתח הראשי הזה מבחין בין צ'אט אחד לצ'אט אחר.
lang(מחרוזת): קוד השפה לפי תקן ISO 639 שבו נעשה שימוש במהלך הצ'אט (לדוגמה,"en"לאנגלית,"es"לספרדית).
chat_type(string): סוג הצ'אט, באמצעות אוצר המילים של הסוג הקודם. הערכים כוללים את"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 using the API)","Messaging Inbound (SMS Direct)","Messaging Outbound (SMS Direct)"וגם"Messaging Outbound (SMS Direct using the API)".
status(מחרוזת): הסטטוס הנוכחי של הצ'אט. ערכים אפשריים:"queued","selecting","assigned","va_assigned","dismissed","va_dismissed","check_in_timeout","finished","no_response","canceled"ו-"failed". (ב-CCAI Platform, צ'אט שהסתיים ולא התקבלה בו תשובה מלקוח מדווח כ-"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(boolean): מציין אם הלקוח סיפק משוב אחרי הצ'אט.
out_ticket_id(מחרוזת או null): המזהה של הכרטיס שנוצר בפלטפורמת CCAI במערכת ה-CRM החיצונית.
out_ticket_url(string, uri, or 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(boolean): מציין אם קיים תמליל של הצ'אט עבור הסשן.
פרטי הנציג והנציג הווירטואלי
agent_info(אובייקט): מידע על הנציג האנושי או הנציג הווירטואלי שטפל בצ'אט בפעם האחרונה. בשדה הזה משתמשים במילת המפתחoneOfכדי לציין שהוא יכול להיות אחד משני סוגים.
agent(אובייקט): מידע על נציג שירות אנושי:
id(מספר שלם): המזהה הייחודי של הסוכן.
agent_number(מחרוזת או null): מזהה שהוקצה לסוכן.
email(מחרוזת, אימייל): כתובת האימייל של הסוכן.
name(string): השם המלא של הסוכן.
last_name(string): שם המשפחה של הסוכן.
first_name(מחרוזת): השם הפרטי של הסוכן.
avatar_url(מחרוזת, uri או null): כתובת ה-URL של תמונת האווטאר של הסוכן.
virtual_agent(אובייקט): מידע על הנציג הווירטואלי:
id(מספר שלם): המזהה הייחודי של הסוכן הווירטואלי.
name(string): השם של הסוכן הווירטואלי.
avatar_url(מחרוזת, uri או null): כתובת ה-URL של תמונת האווטאר של הנציג הווירטואלי.
va_alias(מחרוזת או null): הכינוי לתצוגה של הסוכן הווירטואלי, אם הוגדר כזה. תמיד מופיע במטען הייעודי (payload). הערך הוא null אם לא מוגדר כינוי.
ניווט בתפריט
selected_menu(אובייקט או null): מידע על התפריט שהלקוח בחר במהלך הצ'אט.
id(מספר שלם): המזהה הייחודי של התפריט.
name(string): השם של התפריט.
parent_id(מספר שלם או null): המזהה של תפריט ההורה, אם יש כזה.
position(מספר שלם או null): המיקום בתפריט ביחס לתפריטים אחרים באותה רמה.
deleted(בוליאני): מציין אם אדמין מחק את התפריט.
menu_type(string): סוג התפריט (לדוגמה,"sms_menu","web_menu").
hidden(בוליאני): אם התפריט גלוי או זמין לשימוש.
menu_path(object or null): מתאר את הנתיב ההיררכי של התפריטים שהלקוח עבר בהם.
items_count(מספר שלם): מספר התפריטים בנתיב.
name(מחרוזת או null): מחרוזת של שמות תפריטים שמופרדים באמצעות לוכסן (לדוגמה,name), או null אם נתיב התפריט לא זמין."Support/Billing"
materialized_path(string): מחרוזת של מזהי תפריטים שמופרדים באמצעות לוכסן.
queue_priority_level(מספר שלם): העדיפות בתור שהוקצתה לתור שנבחר בצ'אט. המאפיין הזה מוצג רק אם הופעלה בחשבון שלכם עדיפות בתור.
פרטים של משתמשי קצה
end_user(object או null): מידע על הצרכן:
id(מספר שלם או null): המזהה הפנימי של הצרכן.
identifier(מחרוזת או null): מזהה חיצוני של הצרכן.
out_contact_id(מחרוזת או null): מזהה הצרכן במערכת לניהול קשרי לקוחות.
דגלים של לקוחות ונתונים שסופקו על ידי ה-SDK
customer_flag(object): דגלים שמסמנים מאפיינים בולטים של הצרכן שסופקו או עודכנו על ידי מערכות חיצוניות במהלך הסשן. המאפיין הזה מוצג רק אם מערכות חיצוניות סיפקו או עדכנו דגלים של לקוחות שקשורים לאימות במהלך הסשן.
verified_customer(boolean): מציין אם מערכת חיצונית סימנה את הלקוח כמאומת.
bad_actor(בוליאני): מציין אם מערכת חיצונית סימנה את הצרכן כגורם זדוני.
repeat_customer(boolean): מציין אם מערכת חיצונית סימנה את הלקוח כלקוח חוזר.
custom_data_secured(אובייקט או null): נתונים מותאמים אישית עם חתימה מאובטחת שסופקו על ידי ה-SDK או Apps API.
custom_data_not_secured(אובייקט או null): נתונים מותאמים אישית שלא נחתמו בצורה מאובטחת, שסופקו על ידי ה-SDK או Apps API.
sip_headers(אובייקט): כותרות SIP של דואר נכנס שצולמו עבור הצ'אט. המפתחות והערכים משקפים את כותרות ה-SIP שהתקבלו מהספק במעלה הזרם. מוצג רק אם הפעלתם את האפשרות 'תיעוד כותרות SIP' בחשבון והגדרתם שהכותרות יופיעו במטא-נתונים של הסשן
קבצים מצורפים של מדיה
photos(array): תמונות או צילומי מסך שמשויכים לצ'אט.
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(array): רשומה אחת לכל אירוע העברה במהלך הצ'אט. תיעוד של העברות בין נציגים, נציגים וירטואליים ותפריטים.
id(מספר שלם): מזהה ייחודי של ההעברה.
status(string): הסטטוס הנוכחי של ההעברה. ערכים אפשריים:"transferring","transferred","failed"ו-"deflected".
fail_reason(string): הסיבה לכך שההעברה נכשלה, או"nothing"אם היא לא נכשלה. ערכים אפשריים:"nothing","timeout","canceled","ag_connection_timeout","va_failure","agent_detection_missed","unknown"ו-"unreachable_phone_number".
created_at(string, date-time): חותמת הזמן שבה ההעברה התחילה.
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(string): השפה שבה נעשה שימוש.
transfer(בוליאני): מציין אם התרחשה העברה.
transfer_id(מספר שלם או null): מזהה ההעברה.
started_at(string, date-time, or 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(string, date-time): חותמת הזמן של ההתחלה.
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(string): הסטטוס הנוכחי של ההסלמה. ערכים אפשריים:"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(string, date-time): חותמת הזמן שבה ההסלמה התחילה.
escalated_at(מחרוזת, תאריך ושעה או null): חותמת הזמן שבה ההעלאה הסתיימה.
from_virtual_agent(אובייקט או null): נציג וירטואלי שהעביר את הצ'אט לטיפול של נציג אנושי. אותה צורה כמו אובייקטvirtual_agentבהגדרות.
to_agent(אובייקט או null): נציג תמיכה אנושי שהצ'אט הועבר אליו. אותה צורה כמו אובייקטagentבהגדרות.
from_menu_path/to_menu_path(object or 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(string): הסיבה להעברה לטיפול ברמה גבוהה יותר. אותם הערכים כמו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(string): הסיבה להעברה לטיפול ברמה גבוהה יותר.
finish_reason(string): הסיבה לסיום האינטראקציה.
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(boolean): האם הצ'אט הועבר.
transfer_id(מספר שלם או null): מזהה אירוע ההעברה.
started_at(string, date-time): חותמת הזמן של ההתחלה.
ended_at(מחרוזת, תאריך ושעה): חותמת הזמן של הסיום.
משך הטיפול בצרכנים
consumer_handle_durations(מערך): משכי הזמן שבהם הלקוח היה בצ'אט.
id(מספר שלם): מזהה ייחודי.
chat_duration(מספר שלם): משך פלח הצרכנים, בשניות.
started_at(string, date-time, or null): חותמת זמן של התחלה.
ended_at(מחרוזת, תאריך ושעה או null): חותמת זמן של סיום.
message_count(מספר שלם): מספר ההודעות של הצרכנים.
response_count(מספר שלם): מספר התגובות של הצרכנים.
response_time_total(מספר שלם): סה"כ זמן התגובה לצרכן, בשניות.
response_time_max(מספר שלם): זמן התגובה הארוך ביותר לצרכן, בשניות.
response_time_avg(מספר שלם): זמן התגובה הממוצע לצרכן, בשניות.
משכי אירועים של צרכנים
consumer_event_durations(array): פרטים של אירועי צ'אט עם לקוחות (לדוגמה, שביעות רצון לקוחות, תשלום).
id(מספר שלם): מזהה ייחודי.
duration(מספר שלם): משך האירוע, בשניות.
type(string): סוג האירוע. ערכים אפשריים:"csat".
event(string): תוצאת האירוע. הערכים האפשריים:"finished"ו-"abandoned".
menu_path_id(מספר שלם): מזהה נתיב התפריט.
menu_path(מחרוזת): נתיב בתפריט.
lang(מחרוזת): שפה.
started_at(string, date-time): חותמת הזמן של ההתחלה.
ended_at(מחרוזת, תאריך ושעה): חותמת הזמן של הסיום.
משתתפים
participants(מערך): מידע על כל משתתף בצ'אט (לדוגמה, משתמש קצה, נציג, נציג וירטואלי).
id(מספר שלם): מזהה ייחודי של המשתתף.
type(string): סוג המשתתף. ערכים אפשריים:"end_user","agent","manager","virtual_agent","external_agent"ו-"task_virtual_agent".
entry_type(string): איך המשתתף הצטרף לצ'אט. ערכים אפשריים:"queue_or_transfer","barge"ו-"post_session".
user_id(מספר שלם או null): מזהה המשתמש אם המשתתף הוא סוכן.
end_user_id(מספר שלם או null): מזהה הצרכן, אם המשתתף הוא הצרכן.
virtual_agent_id(מספר שלם או null): מזהה של נציג וירטואלי אם המשתתף הוא נציג וירטואלי.
virtual_agent_params(object): מטא-נתונים בהתאמה אישית שמשמשים את הסוכן הווירטואלי. השדה הזה מוצג רק כשמגדירים הכללה של מטא-נתונים מותאמים אישית של סוכן וירטואלי.
status(מחרוזת): סטטוס המשתתף. ערכים אפשריים:"waiting","connecting","invited","connected","wrapping_up","finished","failed","resuming"ו-"post_session_in_progress".
fail_reason(string): סיבת הכשל, אם יש כזו. ערכים אפשריים:"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(string or null): השם הפרטי של הסוכן. הצגה רק למשתתפים שהם סוכנים.
last_name(מחרוזת או null): שם המשפחה של הנציג. הצגה רק למשתתפים שהם סוכנים.
middle_name(מחרוזת או null): השם האמצעי של הסוכן. הצגה רק למשתתפים שהם סוכנים.
teams(array): מערך של אובייקטים מסוג{ id, name }שמתארים את הצוותים שהסוכן משתייך אליהם. ההצגה מתבצעת רק למשתתפי הסוכן.
יומני צ'ק-אין
check_in_logs(מערך): אירועי צ'ק-אין שתועדו במהלך סשן הצ'אט. כל פריט מקבץ אירועי צ'ק-אין של תהליך צ'ק-אין אחד.
check_in_id(מספר שלם): מזהה של תהליך הצ'ק-אין.
check_in_modal_displayed(מחרוזת, תאריך ושעה): חותמת הזמן שבה הוצג ללקוח חלון קופץ של צ'ק-אין ב-CCAI Platform. מוצג רק כשמוצג חלון דו-שיח של צ'ק-אין ב-CCAI Platform.
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(string, date-time): חותמת הזמן שבה הסתיים התהליך של חלון ההמתנה כי ה-SDK נסגר. המאפיין הזה מופיע רק אם ה-SDK נסגר אחרי שהזמן הקצוב לתפוגה הסתיים.
אירועים של מבצעים
offer_type(מחרוזת או null): האופן שבו פלטפורמת CCAI הציעה את הצ'אט לסוכן.
offer_events(array): אירועים שבהם פלטפורמת CCAI הציעה את הצ'אט לסוכנים.
casting_time(string, date-time): השעה שבה פלטפורמת CCAI הציעה את הצ'אט.
group(מחרוזת): הקבוצה שאליה פלטפורמת CCAI הציעה את הצ'אט.
פרטים נוספים
dismiss_duration(מספר שלם): משך הזמן שהצ'אט היה במצב 'נדחה', בשניות. המאפיין הזה מופיע רק אם הצ'אט היה במצב 'הטיפול הסתיים'.
answer_type(מחרוזת או null): איך השיחה נענתה. ערכים אפשריים:"manual","auto","outbound"ו-"deflection".
inbound_number(מחרוזת): מספר הטלפון הנכנס שמשויך לשיחה. המאפיין הזה מופיע רק אם מספר טלפון נכנס משויך לצ'אט.
outbound_number(מחרוזת): מספר הטלפון היוצא שמשויך לשיחה. האפשרות הזו מוצגת רק אם מספר טלפון לשיחות יוצאות משויך לצ'אט.
after_hours(boolean): האם הצ'אט התרחש אחרי שעות הפעילות.
dispositions(array): קודי סיכום והערות שהסוכנים רשמו. השדה הזה מוצג רק אם הפעלתם בחשבון שלכם קודי סגירת קצוות או הערות. כל רשומה יכולה להכיל שדות שמוצגים באופן מותנה בהתאם להגדרות סגירת הקצוות:
user_id(מספר שלם): מזהה הסוכן.
transfer_id(מספר שלם או null): מזהה אירוע ההעברה, אם האירוע תועד אחרי העברה.
participant_id(מספר שלם): מזהה המשתתף.
note(string): הערה של סוכן בתבנית טקסט חופשי.
original_note(string): הגרסה המקורית (לפני העריכה) של ההערה.
code(מחרוזת): שם קוד הסטטוס.
ujet_code_id(מספר שלם או מחרוזת ריקה): המזהה שהוקצה על ידי פלטפורמת CCAI לקוד הסטטוס. זהו מפתח יציב לקוד (השם המוצג של הקוד יכול להשתנות). מחרוזת ריקה אם לא זמין.
list(מחרוזת): השם של הרשימה שהקוד שייך אליה.
list_path(string): נתיב הרשימה של הקוד, מופרד בלוכסנים.
ujet_list_id(מספר שלם או מחרוזת ריקה): המזהה שהוקצה על ידי CCAI Platform לרשימה שאליה שייך קוד הסיווג. זהו מפתח יציב לרשימה. מחרוזת ריקה אם אין מידע.
custom_list_id(מחרוזת או מספר שלם): מזהה רשימה שהוגדר על ידי הלקוח, אם ממופה.
custom_code_id(מחרוזת או מספר שלם): מזהה קוד שהוגדר על ידי הלקוח, אם ממופה.
auto_session_summaries(מערך): סיכומי סשנים שנוצרו על ידי AI ונשמרו ברשומה במערכת לניהול קשרי לקוחות. האפשרות הזו מוצגת רק אם הפעלתם את סיכום השיחות בחשבון שלכם וה-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(string או null): הטקסט של כל פעולה חכמה שבוצעה.
הגדרות
סכימות המשנה הבאות מופיעות בכמה נקודות במסמך המטא-נתונים של סשן הצ'אט. כל סכימה משנית מופיעה פעם אחת. קבוצות נכסים שמפנות אליהם מצביעות בחזרה לקטע הזה במקום להגדיר מחדש את הצורה שלהם בתוך השורה.
menu_path (אובייקט)
מתאר נתיב תפריט היררכי שהצ'אט עבר. כאן אפשר לראות את הרשימה המלאה של השדות.
הפניה אל: השדה 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 (string, 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_extensionIVR לפני הסשן:
ivr_presession_deflectionהפניה אוטומטית לנציג וירטואלי, אם נציג וירטואלי הפנה את הצ'אט:
va_redirection_phone,va_redirection_sip
הפניה מ: כל transfers[].deflection. (העברות לטיפול ברמה גבוהה יותר של נציג וירטואלי
בהעברות לטיפול ברמה גבוהה יותר של נציג וירטואלי משתמשות באוצר מילים נפרד וקטן יותר להפניות לטיפול בבעיות, שמתועד בשורה.)
transfer (אובייקט)
תיאור של העברה שהתרחשה במהלך הצ'אט. העברה יכולה להעביר צ'אט בין תפריטים, נציגים ונציגים וירטואליים. כאן אפשר לראות את הרשימה המלאה של השדות.
הפניה מ: מערך 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(string): כתובת אימייל חלופית מדור קודם שלchat_type. הפונקציה תמיד מחזירה את אותו ערך כמוchat_typeומשתמשת באותו אוצר מילים של ספירה מדור קודם. נשמרת לצורך תאימות לאחור עם שילובים שמבוססים עלsession_type. אינטגרציות חדשות צריכות לנתח אתchat_typeישירות, או להשתמש ב-session_type_v2כדי להבחין בין פרטים (ראו התפתחות אוצר המילים בהמשך).
התפתחות אוצר המילים
chat_type ו-session_type_v2 מתארים את אותו סוג צ'אט בסיסי עם שני אוצר מילים שונים. פלטפורמת CCAI פולטת את שני השדות בכל רשומה, והם לא כפולים:
chat_typeמשתמש באוצר המילים של ספירת הערכים מדור קודם. ערכים כמו Messaging Inbound (App Chat) ו-Messaging (SMS) מתארים את הקטגוריות המקוריות של סוג הצ'אט.
session_type_v2משתמש באוצר המילים הנוכחי של enum. יכול להיות שיהיו הבדלים בין סוגי הצ'אטים שיש להם ערכים ספציפיים לגרסה 2. בסוגי צ'אט שאין להם ערך ספציפי לגרסה 2, הפונקציהsession_type_v2מחזירה את אותה מחרוזת כמו הפונקציהchat_type.
שילובים חדשים צריכים לנתח את session_type_v2. הערכים של כל שדה מפורטים במידע בסיסי.
שדות מצטברים
יכול להיות שעם הזמן יתווספו למטען הייעודי (payload) של המטא-נתונים של סשן הצ'אט שדות חדשים ברמה העליונה, שדות מקוננים, שדות של פריטים במערך או ערכי enum. שילובי נתונים צריכים להתעלם ממפתחות לא מזוהים ולשמור על רשומות גולמיות ככל האפשר. הימנעו מניתוח מחמיר שייכשל אם יופיע נכס חדש.