מערכת CRM בהתאמה אישית

פתרון ה-CRM בהתאמה אישית מאפשר לחברות להשתמש בפורטל של Contact Center AI Platform (פלטפורמת CCAI) כשהן משתמשות ב-CRM שלא משולב כרגע באופן סטנדרטי עם פלטפורמת CCAI. הגדרות אישיות של CRM פועלות כשמשתמשים במערכת CRM שפותחה בארגון או בכל מערכת CRM לא סטנדרטית.

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

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

פתרון CRM בהתאמה אישית מיושם באמצעות שילוב של הרכיבים הבאים. יכול להיות שחלק מהרכיבים לא רלוונטיים להגדרה שלכם:

  • יצירת קובץ מטא-נתונים של הסשן לכל שיחה וסשן צ'אט

  • העברת מטא-נתונים וקובצי מדיה לשירות אחסון חיצוני

  • שילוב API גנרי

  • כתובת URL מותאמת אישית לחיפוש

  • עדכון רשומה ב-CRM באימייל

  • חיפוש חשבון או פנייה ממתאם הנציג

דרישות מוקדמות

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

מטא-נתונים של הסשן

קובץ המטא-נתונים של הסשן מכיל מידע מפורט על הסשן. ההודעה הזו נשלחת 15 דקות אחרי שהסשן מסתיים. מידע נוסף זמין במאמר קובץ מטא-נתונים של הסשן.

שיטות אינטראקציה ושילוב של מערכת CRM בהתאמה אישית

Generic API כתובת URL מותאמת אישית
חיפוש חשבון כן כן
חיפוש פנייה כן
עדכון לגבי בקשת התמיכה כן לא

Generic API

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

כתובת URL מותאמת אישית

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

פרטים והגדרה של כתובת URL מותאמת אישית לחיפוש

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

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

בהגדרה הזו, הנציג יתחבר לפורטל של CCAI Platform ול-CRM שלו בכרטיסיות נפרדות. השיחות והצ'אטים יטופלו בכרטיסייה של CCAI Platform, והגישה לפרטי הכרטיסים תהיה בכרטיסייה של ה-CRM.

כדי שההגדרה הזו תפעל:

  • הנציג צריך להיות מחובר למערכת ה-CRM שלו בדפדפן

  • הנציג צריך להיות מחובר לפורטל של פלטפורמת CCAI בדפדפן שלו.

  • צריך להגדיר מראש את כתובת ה-URL לחיפוש בהתאמה אישית

  • מערכת ה-CRM צריכה לטפל בכתובת ה-URL המותאמת אישית כדי להציג את הרשומה הרלוונטית ב-CRM

התנהגות של כתובת URL מותאמת אישית לחיפוש

  • פלטפורמת CCAI תכלול בכתובת ה-URL רק פרמטרים שלא ריקים.

  • בסיום הסשן, כתובת ה-URL שנוצרה ומכילה את ה-ANI, ה-UID או כתובת האימייל לא נשמרת במסד הנתונים של CCAI Platform.

הגדרת כתובת URL לחיפוש בהתאמה אישית

בגלל ההבדלים במזהים הייחודיים, ביכולות של ה-CRM ובהתנהגות שלו, תצטרכו ליצור 2 כתובות URL שונות – אחת לסשנים של IVR,‏ PSTN ו-SMS, ואחת לסשנים של SDK לאינטרנט ולנייד. בסשנים של IVR/PSTN/SMS, המזהה הייחודי יהיה ANI, ובסשנים של SDK לאינטרנט ולנייד, המזהה הייחודי יהיה כנראה CUID וכתובת אימייל.

אפשר להשתמש במשתנים הבאים כדי להגדיר כתובת URL לחיפוש:

משתנה ערכים
{CUSTOMER_PHONE_NUMBER} מספר הטלפון של משתמש הקצה
{ANI} מספר הטלפון של משתמש הקצה. נשמר לצורך תאימות לדורות קודמים.
{CUID} מזהה משתמש מותאם אישית
{EMAIL} כתובת האימייל של משתמש הקצה
{MENU_PATH} הנתיב המלא של תפריט התור.
לדוגמה, "הזמנות/אישור הזמנה/פרטי הזמנה".
{MENU_ID} מזהה התפריט
{CHANNEL}

הערוץ של הסשן. ערכים אפשריים:

  • צ'אט
  • voice_call
{TYPE}

סוג הסשן.

ערכים אפשריים לשיחות:

  • Incoming_Call_(app)
  • Scheduled_Call_(app)
  • Incoming_Call_(web)
  • Scheduled_Call_(web)
  • Outbound_Call
  • Outbound_Call_(api)
  • Incoming_Call_(api)
  • IVR_Call
  • IVR_Call_(app)
  • דואר קולי

ערכים אפשריים לצ'אטים:

  • נייד
  • אינטרנט
  • SMS
{SUPPORT_PHONE_NUMBER} מספר הטלפון של מרכז התמיכה שאליו משתמש הקצה מתקשר.
{OUTBOUND_NUMBER} מספר הטלפון שבו הנציג משתמש לשיחה יוצאת ללקוח.
{SESSION_ID}

מזהה הסשן. ערכים אפשריים:

  • מזהה השיחה
  • מזהה הצ'אט
  • מזהה אימייל
{CUSTOM_AGENT_ID} שדה מזהה הנציג האופציונלי באובייקט user. אי אפשר לקבל את מזהה הנציג לפני שהסשן נוצר ומוקצה לו נציג. לכן, צריך להגדיר את המכונה כך שתשהה את יצירת רשומת השיחה או הצ'אט כדי לאפשר זמן להגדרת המשתנה הזה. אפשר לעכב את יצירת רשומת השיחה או הצ'אט בקטע הגדרות > ניהול תפעולי > פרטי יצירת רשומת CRM. מידע נוסף זמין במאמר פרטים על יצירת רשומות ב-CRM.

הגדרת הפורטל של CCAI Platform

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

  2. עוברים אל הגדרות > הגדרות למפתחים.

  3. בקטע CRM, בוחרים באפשרות CRM בהתאמה אישית.

  4. בקטע חיפוש ב-CRM, מזינים את כתובות ה-URL המותאמות אישית.

  5. בוחרים את פורמט מספר הטלפון שבו רוצים להשתמש בבקשות ל-CRM.

  6. לוחצים על שמירת השינויים.

  7. אם עדיין לא עשיתם את זה, הגדירו את שירות האחסון החיצוני. מידע נוסף זמין במאמר בנושא אחסון חיצוני.

עדכון רשומה ב-CRM באימייל

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

פרטי אימייל

  • נשלח מהכתובת no-reply@ccaiplatform.com

  • התכונות הנכללות:

    • שורת הנושא

    • גוף עם המטא-נתונים של הסשן בתחביר JSON

    • קובץ מצורף בפורמט TXT עם תמליל הצ'אט, אם רלוונטי

  • מערכת CCAI Platform תמתין 15 דקות אחרי שהסשן יסתיים, ואז תשלח את האימייל.

  • האימיילים נשלחים רק לגבי סשנים שהסתיימו בהצלחה. הוא לא נשלח בסשנים שנכשלו או ננטשו.

הגדרות כלליות

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

  2. עוברים אל הגדרות > הגדרות למפתחים.

  3. בקטע CRM, מוודאים שהאפשרות מערכת CRM בהתאמה אישית מסומנת.

  4. מפעילים את האפשרות שליחת תוצאות הסשן באימייל.

  5. מזינים את כתובת האימייל שאליה רוצים שהאימייל יישלח.

  6. לוחצים על שמירת השינויים.

הגדרה לכל תור

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

  2. עוברים אל הגדרות > תור ובוחרים תור משנה.

  3. מפעילים את האפשרות שליחת תוצאות הסשן באימייל.

  4. מזינים את כתובת האימייל שאליה רוצים לשלוח את ההודעה.

    תצוגת הגדרות האימייל

  5. לוחצים על שמירת הגדרת CRM בהתאמה אישית.

העברה ושינוי של הגדרות

הגדרות התנהגות
גלובלי = לא מופעל
תור = לא מופעל
לא לשלוח לכל התורים.
כללי = לא מופעל
תור = מופעל
הגדרת התור (כלומר, מצב הפעלה/השבתה) עוקפת את ההגדרה הגלובלית.
האימייל נשלח מתור נתון לכתובת אימייל שמוגדרת בהגדרת התור.
גלובלי = מופעל
תור = לא מופעל
ההגדרה של התור (כתובת אימייל, מצב הפעלה/השבתה) יורשת את ההגדרה הגלובלית.
אימייל נשלח מתור נתון לכתובת אימייל שמוגדרת בהגדרה הגלובלית.
גלובלי = מופעל
תור = מופעל
הגדרת התור (כתובת אימייל) מבטלת את ההגדרה הגלובלית.
האימייל נשלח מתור נתון לכתובת אימייל שמוגדרת בהגדרת התור.
אם כתובת האימייל ריקה, האימייל לא נשלח.

חוויית ההתקשרות עם הנציג

חיפוש רשומות ב-CRM

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

  2. פותחים את מתאם השיחות או הצ'אטים.

  3. כדי להפעיל את החיפוש, לוחצים על הכפתור פתיחה בחלון דפדפן חדש.

  4. לוחצים על הכפתור העתקת הקישור כדי להעתיק את כתובת ה-URL של החיפוש ללוח.

תצוגת הסוכן

אחסון חיצוני לפתרונות CRM בהתאמה אישית

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

כדי להגדיר אחסון חיצוני, צריך:

  • חשבון תקין ב-CCAI Platform עם תפקיד אדמין ונציג שמוקצה להגדרה ולבדיקה

  • שירות אחסון חיצוני

מבנה התיקיות

מבנה התיקיות הבא יאורגן באחסון החיצוני בנתיב התיקייה:

  • ujet-chat-transcripts

  • ujet-media

  • ujet-metadata

  • ujet-voice-recordings

  • ujet-voicemails

פורמטים של קבצים ומוסכמות למתן שמות

אפשר להעביר את סוגי הקבצים הבאים לשירות האחסון החיצוני. הקבצים מוצפנים בזמן ההעברה באמצעות HTTPS:

קובץ שם
הקלטות של שיחות - call-{id}.mp3
- call-{id}.wav
קובצי מדיה - call-{id}-photo-{photo-id}.jpg
- call-{id}-video-{video-id}.mp4
- chat-{id}-photo-{photo-id}.jpg
- chat-{id}-video-{video-id}.mp4
תמלילי צ'אטים - chat-{id}.txt
מטא-נתונים של הסשן - call-{id}.json
- chat-{id}.json

חוויית השימוש של הנציגים והמפקחים

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

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

הגדרת שירות האחסון החיצוני

כדי להגדיר את האחסון החיצוני, צריך לבצע את השלבים הבאים:

  1. נכנסים לפורטל של CCAI Platform באמצעות חשבון עם הרשאת אדמין.

  2. עוברים אל הגדרות > הגדרות למפתחים.

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

  4. כדי לאפשר אחסון מידע מחוץ לשרתי ה-CRM, מעבירים את המתג למצב מופעל ובוחרים את סוגי הקבצים שרוצים לאחסן.

  5. בקטע "הגדרת השרת", בוחרים את סוג האחסון ומשלימים את שלבי ההגדרה: שרת SFTP, קטגוריית Google Cloud .

שרת SFTP

  1. מזינים את המארח של ה-SFTP (כתובת URL או כתובת IP).

  2. מזינים את מספר היציאה.

  3. מזינים את מזהה המשתמש להתחברות ל-SFTP.

  4. אם שרת ה-SFTP דורש סיסמה לאימות, מזינים אותה בשדה Password.

  5. אם שרת ה-SFTP דורש מפתח פרטי לאימות, מסמנים את התיבה SSH Private Key.

  6. מזינים (מעתיקים ומדביקים) את המפתח הפרטי של ה-SSH.

  7. מזינים את ביטוי הסיסמה של המפתח הפרטי. אם פרטי הסשן צריכים להישמר בתיקייה ספציפית בשרת ה-SFTP, מסמנים את התיבה נתיב התיקייה ומזינים את נתיב התיקייה ב-SFTP.

  8. לוחצים על שמירת השינויים.

Cloud Storage

  1. מזינים את Google Cloud שם הקטגוריה של היעד.

  2. מזינים את Google Cloud מזהה הלקוח.

  3. מזינים את Google Cloud סוד הלקוח.

  4. אם רוצים שפרטי הסשן יישמרו בתיקייה ספציפית בקטגוריה Google Cloud , מסמנים את התיבה Folder Path ומזינים את Google Cloud הנתיב לתיקייה.

  5. לוחצים על קישור ושמירה.

בדיקת ההגדרות של האחסון החיצוני

במערכות CRM עם שילוב רגיל קיים:

  1. נכנסים למערכת לניהול קשרי לקוחות (CRM).

  2. נכנסים ל-CCAI Platform בתוך ה-CRM באמצעות פרטי הכניסה ל-CCAI Platform עם תפקיד נציג.

  3. מתקשרים או מתחילים צ'אט. הרשומה ב-CRM שמשויכת לסשן מוצגת.

  4. כשהסשן מסתיים, קובץ התמליל אמור לעלות תוך כמה שניות.

  5. עוברים ישירות לתיקיית האחסון בשרת החיצוני ובודקים אם הקובץ זמין.

שליחת קובצי סשן ל-CRM

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

כדי לראות את ההגדרות האלה, צריך להפעיל את האחסון החיצוני בקטע הגדרות > הגדרות למפתחים > אחסון חיצוני. מעבירים את המתג Enable information storage outside CRM servers (הפעלת אחסון מידע מחוץ לשרתי CRM) למצב On (מופעל).

אחסון ב-CRM

  1. עוברים אל הגדרות > הגדרות למפתחים > אחסון חיצוני > אחסון CRM.

  2. מסמנים את התיבה לצד שליחה של קובצי הסשן גם ל-CRM כדי לשלוח קובצי סשן כמו הקלטות של שיחות או תמלילי צ'אט ל-CRM ולאחסון החיצוני שהוגדר.

  3. לוחצים על שמירת השינויים.

אם התיבה מסומנת, ההקלטות יישמרו גם ב-CRM וגם באחסון החיצוני.

כתובות URL של אחסון חיצוני

כתובת ה-URL של האחסון החיצוני משמשת בשני מקומות:

  • המתאם של הסוכן.

  • דיווח: כתובת ה-URL של המדיה מוצגת בדוח וגם בתפריטים כמו "הגדרות", "שיחות" ו"הושלמו".

  1. עוברים אל הגדרות > הגדרות למפתחים > אחסון חיצוני > כתובות URL של אחסון חיצוני.

  2. בוחרים את כתובות ה-URL של המערכת לניהול קשרי לקוחות (CRM) או את כתובות ה-URL של האחסון החיצוני כדי להציג קבצים במתאם של הנציג.

  3. לוחצים על שמירת השינויים.

אחסון ב-CRM

  • אם התיבה של אחסון ב-CRM לא מסומנת, ההקלטות יישמרו רק באחסון החיצוני וייעשה שימוש בקישור ל-CRM.

  • אם התיבה מסומנת, ההקלטות יישמרו גם ב-CRM וגם באחסון החיצוני.

כתובות URL של אחסון חיצוני

כתובת ה-URL משמשת בשני מקומות:

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

  • השני נמצא בדוח. אנחנו חושפים את כתובת ה-URL של המדיה בדוחות וגם בתפריטים כמו "הגדרות", "שיחות" ו"הושלמו".

הצגת מערכת CRM מותאמת אישית בפורטל של CCAI Platform

כשמשתמשים בשילוב של מערכת CRM בהתאמה אישית, אפשר לטעון את המערכת בדף ייעודי בפורטל של CCAI Platform. אחרי שמפעילים את ההגדרה, הכרטיסייה CRM בפורטל של פלטפורמת CCAI נטענת ומוצג בה דף ה-CRM בהתאמה אישית. אפשר להגדיר את זה בקטע הגדרות למפתחים > CRM.

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

הגדרה של דף CRM בהתאמה אישית

כדי להגדיר דף CRM בהתאמה אישית, פועלים לפי השלבים הבאים:

  1. בפורטל של CCAI Platform, לוחצים על Settings > Developer Settings. אם תפריט ההגדרות לא מופיע, לוחצים על תפריט.

  2. בחלונית CRM, לוחצים על CRM בהתאמה אישית.

  3. מעבירים את המתג Display CRM in CCAI Platform portal למצב מופעל.

  4. בקטע Display URL, מזינים את כתובת ה-URL של דף ה-CRM המותאם אישית ולוחצים על Save.

פתיחת חלון קופץ של כתובת URL מותאמת אישית

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

הפעלת חלון קופץ לכל תור בנפרד

  1. עוברים אל הגדרות > תור > IVR ולוחצים על התור שרוצים לערוך.

  2. בחלונית, עוברים אל פתיחת כתובת URL מותאמת אישית.

  3. מזינים כתובת URL כדי להציג חלון קופץ.

מוסיפים לכתובת ה-URL את הפרמטרים המשתנים {ACCOUNT_ID} ו-{PHONE_NUMBER}.

הנה דוגמה.

  1. לוחצים על שמירה.

שילוב API גנרי של מערכת CRM בהתאמה אישית

שיטת השילוב הגנרית של ה-API מאפשרת להשתמש ב-API של ה-CRM כדי ליצור חיבור דו-כיווני עם CCAI Platform. השיטה הזו פשוטה ונוחה, והיא דומה לחוויית השילוב של מערכת CRM מוכנה לשימוש.

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

הסברים על המונחים

תקופה

תיאור

חשבון

הוא משמש להתייחסות לישות של החשבון/איש הקשר/הלקוח/הליד ב-CRM. יכול להיות שבמערכת ה-CRM שלכם יש שם אחר לישות הזו.

החשבונות מכילים רשומות.

הקלטה

המונח הזה מתייחס לישות של בקשת התמיכה/הכרטיס/השיחה/האירוע במערכת לניהול קשרי לקוחות (CRM). יכול להיות שבמערכת ה-CRM שלכם יש שם אחר לישות הזו.

הרשומות שייכות לחשבונות.

תגובה

הוא משמש כדי להתייחס לישות "תגובה/הערה" ב-CRM. יכול להיות שבמערכת ה-CRM שלכם יש שם אחר לישות הזו.

התגובות שייכות לרשומות.

הגדרות API

בקטע הזה מפורטות ההגדרות הספציפיות ל-API של מערכת ה-CRM המותאמת אישית.

שיטת אימות

פלטפורמת CCAI תומכת בשלוש שיטות אימות ל-CRM:

  • אימות בסיסי: מגדירים פרטי כניסה לאימות שכוללים שם משתמש וסיסמה.

  • כותרת בהתאמה אישית: מגדירים צמדים מותאמים אישית של מפתח/ערך לכותרת: מפתח שדה וערך שדה. מזינים כמה זוגות שרוצים.

  • ‫OAuth: פלטפורמת CCAI תומכת בפרוטוקול OAuth 2.0, שהוא הפרוטוקול המקובל בתחום לאימות. ציינו את פרטי ה-OAuth אם אתם צריכים להפעיל את האפשרות Include the Redirect URL as part of the Authorization URL and Token URL.

    מגדירים את הערכים הבאים:

    • כתובת URL להרשאה (חובה)

    • כתובת URL של טוקן (חובה)

    • מזהה לקוח (חובה)

    • סוד לקוח (חובה)

    • היקף

    • מדינה

    • סוג הגישה

פורמט מספר הטלפון

בוחרים את הפורמט של מספר הטלפון שבו רוצים להשתמש בבקשות ל-CRM:

  • אוטומטי: יצירה: ‎+1 222 333 4444, חיפוש: ‎*222*333*4444

  • E.164: ‏ ‎+12223334444

  • מספר מקומי בארה"ב: 2223334444

  • פורמט מקומי סטנדרטי בארה"ב: (111) 222-3333

  • בינלאומי: ‎+1 222 333 4444

הזמן הקצוב לתפוגה של בקשת ה-API

בתפריט הנפתח, מגדירים את API Request Timeout (זמן קצוב לתפוגה של בקשת API) לערך בין 1 ל-10 שניות. הזמן הקצוב לתפוגה יחול על כל נקודות הקצה שתגדירו.

כתובות URL לחיפוש ב-CRM

מציינים כתובות URL לחיפוש שישמשו להפניית הנציג לחשבון ולרשומה הנוכחיים.

מזינים את כתובות ה-URL לחיפוש כפי שהן מופיעות במערכת ה-CRM כשפותחים דף של חשבון או רשומה בדפדפן.

אפשר גם להשתמש בכתובות URL לחיפוש ב-CRM עם Web SDK ו-Mobile SDK. אתם יכולים להגדיר את ערכות ה-SDK כך שיחפשו חשבון CRM ויתעדו מידע שיוצג במתאם של הנציג. לרשימה מלאה של כתובות URL לחיפוש ב-CRM, ראו פרמטרים של כתובת URL לבקשה.

כתובת ה-URL לחיפוש החשבון

משתמשים במשתנה {ACCOUNT_ID} כדי להוסיף את מזהה החשבון בפועל.

דוגמה:

https://www.example.com/contact/{ACCOUNT_ID}

כתובת ה-URL לחיפוש רשומות

משתמשים במשתנה {RECORD_ID} כדי להוסיף את מזהה הרשומה בפועל.

לדוגמה:

https://www.example.com/record/{RECORD_ID}

נקודות קצה ל-API

זו ההגדרה הכי חשובה ל-Generic API.

  1. כדי שהנציגים יוכלו לחפש חשבונות, צריך להגדיר את נקודות הקצה Find an account ו-Create an account.

  2. בנוסף, אתם יכולים להגדיר נקודות קצה מסוג Find a record ו-Create a record כדי לאפשר לנציגים לחפש או ליצור רשומות. כדי לעשות את זה, צריך להגדיר את החשבון כמו שמוסבר בשלב הקודם.

  3. לבסוף, אם תזינו את נקודות הקצה Update a record,‏ Upload a file ו-Comment, תוכלו לעדכן רשומות. כדי לעשות את זה, צריך להגדיר רשומה מהשלב הקודם.

הגדרת נקודת הקצה

קובעים את ההגדרות הבאות:

  1. כתובת URL של בקשה: כתובת ה-URL של נקודת הקצה ל-API.

  2. בוחרים את שיטת הבקשה מבין האפשרויות הבאות: POST,‏ GET,‏ PUT או PATCH.

  3. מציינים את הפרמטרים של הבקשה. אתם יכולים להשתמש במשתנים שמוגדרים ב-CCAI Platform כדי להעביר את המידע הנדרש (ראו את הטבלה בהמשך). אפשר גם להזין טקסט פשוט או מספרים כערכים של פרמטרים. אפשר להוסיף כמה פרמטרים שרוצים.

  4. אם נקודת הקצה היא POST/PUT/PATCH, פלטפורמת CCAI מציעה אמצעי בקרה מדויקים יותר על אופן יצירת הבקשה. בוחרים באפשרות בקשה לפורמט נתונים מתוך נכס או מאגר תגים. הוא מציין את הפורמט של בקשת ה-JSON.

    • נכס. הערך הזה מציין שאובייקט הבקשה הוא מפת מאפיינים בסיסית כשפלטפורמת CCAI יוצרת את גוף הבקשה מפרמטרים.

    • מאגר. המשמעות היא שצריך להטמיע את נתוני אובייקט הבקשה שרוצים לשלוח בתוך מבנה. בוחרים באפשרות Container Type (סוג מאגר תגים) מתוך Map (מפה) או Array (מערך). מזינים שם מאגר. הוא משמש כשם של אובייקט ההורה כשיוצרים את גוף הבקשה מפרמטרים.

      • דוגמה: Map: { container_name : { ...parameters } }

      • דוגמה: מערך: ‎{container_name : [ { ...parameters } ] }‎

  5. מזינים את מיקום נתוני התגובה. הוא משמש לאיתור אובייקט התגובה המטורגט בתגובת ה-JSON.

פרמטרים של כתובת URL לבקשה

פרמטר משתנה תגובה
מזהה הסוכן {AGENT_ID} המזהה של הסוכן הפנימי.
מזהה מותאם אישית של הנציג {AGENT_CUSTOM_ID} שדה אופציונלי מהפרופיל של המשתמש.
כתובת האימייל של הסוכן {AGENT_EMAIL} כתובת האימייל של הנציג שענה, אם רלוונטי.
שם משתמש הקצה {NAME}
השם הפרטי של משתמש הקצה {FIRST_NAME} התמונה צולמה ב-Name
שם המשפחה של משתמש הקצה {LAST_NAME} נלקח מ-Name, ערך ברירת המחדל הוא -- אם חסר.
מזהה חיצוני {UJET_ID} מזהה משתמש הקצה ב-CCAI Platform
אימייל {EMAIL}
סוג השיחה או סוג הסשן {SESSION_TYPE}
מספר הטלפון של משתמש הקצה {PHONE_NUMBER} העיצוב נקבע לפי ההגדרה שנבחרה
מזהה השיחה {Call_ID} מזהה השיחה ב-CCAI Platform.
מזהה הצ'אט {Chat_ID} מזהה הצ'אט ב-CCAI Platform.
שפה {LANG}
מזהה משתמש מותאם אישית {CUSTOM_USER_ID} בנייד: בצד ימין של האימייל. לדוגמה, test.user3 מ-test.user3@test.co
מספר חשבון {ACCOUNT_ID} נמצא על ידי קריאה לנקודת הקצה של חיפוש/יצירת איש קשר.
מזהה הרשומה {RECORD_ID} נמצא על ידי קריאה לנקודת הקצה (endpoint) של חיפוש/יצירת רשומה.
מזהה הסשן {SESSION_ID} מזהה הסשן ב-CCAI Platform
נתיב התפריט {MENU_PATH}
מספר טלפון לשיחות יוצאות {OUTBOUND_PHONE_NUMBER} העיצוב נקבע לפי ההגדרה שנבחרה
שם התור {QUEUE_NAME}
מזהה התור {QUEUE_ID} מזהה התור הפנימי.
שם ה-SDK {SDK_NAME} שם משתמש הקצה כפי שצוין ב-Web SDK או ב-Mobile SDK.
אימייל של SDK {SDK_EMAIL} כתובת האימייל של משתמש הקצה, כפי שצוינה ב-Web SDK או ב-Mobile SDK.
טלפון SDK {SDK_PHONE} מספר הטלפון של משתמש הקצה, כפי שצוין ב-Web SDK או ב-Mobile SDK.
מזהה SDK {SDK_IDENTIFIER} מזהה משתמש קצה או חשבון ב-Web SDK או ב-Mobile SDK. אל תכללו פרטים אישיים מזהים (PII) במאפיין הזה. כשיוצרים חשבון, צריך לציין את המזהה הזה בבקשה.
מזהה הסשן של SmartAction {SMART_ACTION_SESSION_ID}
SmartAction: verification (בקרוב)
SmartAction: קלט טקסט (בקרוב)
דירוג {RATING} זמין רק אם המשתמש השאיר אותו
הודעת משוב {FEEDBACK} זמין רק אם המשתמש השאיר אותו
משך השיחה {CALL_DURATION} בפורמט mm:ss
זמן המתנה {HOLD_TIME} בפורמט mm:ss
זמן המתנה {WAIT_TIME} בפורמט mm:ss
משך העבודה לאחר השיחה (בקרוב)
סוג המכשיר {DEVICE_TYPE}
החיבור נותק על ידי {DISCONNECTED_BY}
ערוץ {CHANNEL}
נושא הרשומה {TICKET_SUBJECT} משמש כשם הרשומה
תיאור הרשומה {TICKET_DESCRIPTION}
תיאור הרשומה ב-HTML {TICKET_DESCRIPTION_HTML} זהה לתיאור, רק בפורמט HTML
גוף התגובה {COMMENT_BODY} זמין רק במצב של הוספת תגובה (שמירת דירוג, סיום שיחה/צ'אט, התחלת שיחה/צ'אט)
נתוני הקובץ {FILE_DATA} האפשרות הזו זמינה רק בנקודת הקצה של העלאת הקובץ, אבל היא מכילה את ה-base64 או את הנתונים של הטופס מרובה החלקים.

פונקציות של פרמטרים של כתובות URL של בקשות

הפונקציות עוזרות להשתמש במשתנים דינמיים של פלטפורמת CCAI. אפשר להשתמש בפונקציות האלה רק בקטע Request Parameter בהגדרות של נקודת הקצה.

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

תפקיד תחביר הפונקציה תיאור
ערך ברירת המחדל =DEFAULT_VALUE(val1, val2) הערך ישתמש ב-val1 אלא אם הוא ריק או null, ויחזור לברירת המחדל val2.
שרשור Or =CONCAT_OR(val1, val2, val3) שרשור של כמה ערכים עם or. דוגמה: "val1 או val2 או val3"
שרשור And =CONCAT_AND(val1, val2, val3) שרשור של כמה ערכים עם and. דוגמה: "val1 ו-val2 ו-val3"

דוגמאות

הנה כמה דוגמאות לשימוש בפונקציה של פרמטר כתובת ה-URL של הבקשה.

ברירת מחדל

בדוגמה הבאה משתמשים ב-DEFAULT_VALUE ב-Create a Record Endpoint. המפתח והערך להגדרת הנציג משתמשים בפונקציית ברירת המחדל כדי שתהיה חלופה במקרה של ערך ריק בכתובת האימייל של הנציג. יכול להיות שכתובת האימייל של הנציג תהיה ריקה ברשומה שנוצרה מכמה סיבות: יכול להיות שהלקוח סיים את השיחה ב-IVR לפני שנציג שהוקצה ענה לשיחה הנכנסת, או במקרה של צ'אטים, רשומה תיווצר לפני שנציג יענה. כך, פרמטרים נדרשים עשויים להיות מוגדרים כברירת מחדל לערכים בטוחים עד לעדכונים מאוחרים יותר, או להיות מוגדרים במקרים של שיחות שננטשו.

עריכת השדה

שרשור

בדוגמה הבאה משתמשים ב-CONCAT_OR בנקודת הקצה Find an Account by Query. הדוגמה הזו ספציפית ל-Zoho CRM, אבל היא ממחישה איך אפשר להשתמש ב-CONCAT_OR. הפונקציה CONCAT_AND פועלת לפי אותם כללים, אבל מחברת ערכים באמצעות and במקום or. במקרים הבאים מפורטים הערכים שקיימים בנקודת הקצה בזמן הביצוע, והערך שמתקבל ומועבר כפרמטר של הבקשה.

המפתחות קיימים הערך שמתקבל
ACCOUNT_ID (Id:equals:<uuid>)
ACCOUNT_ID, EMAIL (Id:equals:<uuid>) או (Email:equals:kim@example)
PHONE_NUMBER, EMAIL (Phone:equals:+12223334444) או (Email:equals:kim@example)

חשבון API

נקודות הקצה של החשבון ב-API תומכות בשילוב עם חשבונות ב-CRM.

קריאות לנקודות קצה (endpoint) שמחזירות שגיאה 400 ינסו שוב. אם הקריאות מחזירות שגיאות אחרות, הן לא מנסות שוב. הניסיונות החוזרים נמשכים במשך שבוע, והתדירות שלהם יורדת באופן אקספוננציאלי. מידע על תהליכי API מופיע במאמר Custom CRM generic API: Flows.

חיפוש חשבון לפי נקודת קצה (endpoint) של שאילתה (לשעבר "חיפוש נקודת קצה של חשבון")

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

דוגמה לתגובה:

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

נקודת קצה לאיתור חשבון לפי מזהה

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

דוגמה לתגובה:

{
  "id": 123,
  "name": "Kim",
  "phone": "11234567890",
  "email": "Kim@agents.co"
}

יצירת נקודת קצה (endpoint) של חשבון

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

רשומת API

נקודות הקצה של הרשומות ב-API מאפשרות לשלב רשומות או בקשות תמיכה במערכת לניהול קשרי לקוחות (CRM).

חיפוש רשומה לפי שאילתה (לשעבר נקודת קצה של חיפוש רשומה)

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

דוגמה לתגובה:

{
  "id": 456,
  "subject": "Record title",
  "status": "open", // enumerated status open/closed, or 1,2,3
  "contactId": 123, // contact attached to ticket
  "phone": "11234567890", // contact phone
}

יצירת נקודת קצה של רשומה

נקודת הקצה הזו משמשת ליצירת רשומה. אם לא נמצאה רשומה בבקשה Find a record, או אם פלטפורמת CCAI מוגדרת לא להשתמש מחדש ברשומות קיימות, נוצרת רשומה חדשה.

דוגמה לבקשה:

{
  "id": 123,
  "subject": "Record title", 
  "description": "A longer description of the record, can be formatted in html",
  "phone": "11234567890", // can be saved in multiple formats
  "contactId": 123,
  "sourceType": "PHONE", // PHONE/CHAT
  "menu": "queue1",
  "direction": "outgoing",
  "rating": 5, // 1-5 scale
  "feedback": "the agent was great!" // description of rating
}

עדכון נקודת קצה של רשומה

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

נקודת קצה להעלאת קובץ

נקודת הקצה הזו משמשת להעלאת קובץ מצורף.

בוחרים את סוג נקודת הקצה להעלאה

  • טופס בקידוד Base64

  • טופס מרובה חלקים

בחירת הקבצים לצירוף

  • הקלטות של שיחות

  • תמלילי צ'אטים

  • הודעות קוליות

  • Photos

  • סרטונים

  • קובץ מטא-נתונים של הסשן

בוחרים באפשרות סוג הקובץ המצורף מתוך מזהה וכתובת ה-URL של הקובץ המצורף. הוא מציין את הפורמט של ה-JSON בתגובה.

  • מזהה

  • מזהה הקובץ המצורף. מזינים את המיקום של פרמטר בתגובת JSON למזהה של הקובץ המצורף. הוא יהיה זמין לכתובת ה-URL של בונה הקבצים המצורפים בתור {ATTACHMENT_ID}.

  • כתובת ה-URL של הכלי ליצירת קבצים מצורפים. מזינים את כתובת ה-URL כדי להוריד את הקובץ המצורף. המשתנים הזמינים הם RECORD_ID ו-ATTACHMENT_ID.

    לדוגמה: https://www.example.com/Accounts/{RECORD_ID}/Attachments/{ATTACHMENT_ID}

  • כתובת ה-URL של הקובץ המצורף

    מזינים את המיקום של פרמטר בתגובת JSON לכתובת ה-URL להורדת הקובץ.

אם רוצים ש-CCAI Platform תוסיף הערה לרשומה כשקובץ מועלה, מסמנים את התיבה Add comment to CRM. ההגדרה Text Format מנקודת הקצה של התגובה תכובד בתגובות האלה.

הדוגמה הבאה היא דוגמה לטופס מרובה חלקים באמצעות POST/PUT/PATCH:

{
  "file": <file data>
  "id": 123, // optional, this can also just be part of the URL;
             // for example https://example-customer.com/upload/record/{RECORD_ID}
}

דוגמה לתגובה:

דוגמה א': יש כתובת URL להורדה

{
  "id": 123,
  "url": "https://some-hosted-url.com"
}

דוגמה ב'

במקרה הזה, אין כתובת URL להורדה, אבל יש נקודת קצה להורדת קובץ מצורף שמשתמשת במזהה הזה. לדוגמה, https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}.

{
  "id": 123
}
נקודת קצה (endpoint) של תגובה

נקודת הקצה הזו משמשת להוספת תגובה לרשומה. אם נקודת הקצה מוגדרת, פלטפורמת CCAI תוסיף הערות לרשומות עם האירועים:

  • התחלת שיחה או צ'אט

  • סיום השיחה או הצ'אט

  • דירוג והערה בסקר שביעות הרצון (CSAT)

  • חבילת נתונים בהתאמה אישית

  • הערות על ההעברה

  • קוד סיווג והערות

  • שאלות ותשובות בסקר

בוחרים באפשרות עיצוב טקסט לתגובות. אם התיבה Convert text to HTML מסומנת, הטקסט יהיה בפורמט HTML. אחרת, הוא יהיה בפורמט טקסט פשוט.

בקשה לדוגמה, POST/PUT/PATCH:

{
  "comment": "Some text",
 // string can also be formatted on CCAI Platform side as HTML).
  "id": 123,
 // optional, this can also just be part of the URL;
 // for example https://example-customer.com/comment/record/{RECORD_ID}
}

‫API גנרי של מערכת CRM בהתאמה אישית: תהליכים

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

מתי התהליכים פועלים

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

  • הטריגר לפעולה התרחש – לדוגמה, קובץ זמין להעלאה, או שהשיחה, הצ'אט או ההודעה הקולית הסתיימו.
  • הפעולה הרלוונטית מופעלת בהגדרות של המערכת המותאמת אישית לניהול קשרי לקוחות. לדוגמה, סוג הקובץ מופעל להעלאה, או שמוגדרת נקודת הקצה API Comment או API Update.
  • לכל פעולה שכותבת למערכת לניהול קשרי לקוחות (CRM) (העלאה לרשומה, פרסום תגובה או עדכון רשומה), נקודות הקצה הנדרשות מוגדרות וקיימת רשומה לסשן. אם הרשומה עדיין לא נוצרה, הפלטפורמה מעכבת את הפעולה ומפעילה אותה באופן אוטומטי כשהרשומה קיימת.

לא צריך רשומה כדי להעלות קובץ לאחסון חיצוני. דרישת התיעוד חלה על כתיבה ב-CRM.

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

כדי לקבל מידע על החשבון, הרשומה וההזמנה לאחר הסשן, תזמון הניסיון החוזר והתנהגות השגיאה, אפשר לעיין במאמר טיפול בשגיאות, ניסיונות חוזרים והזמנת שיחות ב-CRM בהתאמה אישית (Generic API).

תרשימי זרימה

בתרשימי הזרימה האלה, שלוש תוצאות מופיעות שוב ושוב:

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

תהליך בסיסי

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

תרשים זרימה בסיסי

חיפוש או יצירה של חשבון

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

תהליך החיפוש או היצירה של חשבון

חיפוש או יצירה של רשומה

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

תהליך חיפוש או יצירה של רשומה

עדכון הרשומה

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

עדכון רצף הפעולות של הרשומה

פעולות אחרי הסשן

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

תהליך הפעולות אחרי הסשן

תגובה

אפשר לפרסם תגובה באמצעות פעולת סיום, דירוג, סקר או העלאת קובץ. הוא דורש נקודת קצה (endpoint) של API Comment ורשומה קיימת, וממתין עד שהרשומה קיימת. התגובה מתפרסמת כ-HTML או כטקסט פשוט, בהתאם להגדרת התגובות.

תהליך התגובה

תהליך העלאת קובץ

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

תהליך העלאת קובץ

מתאמים של סוכנים

מערכת CRM בהתאמה אישית מציעה שיטה כללית לשילוב מתאמים (ווידג'טים של ממשק משתמש) במערכות CRM. מערכת ה-CRM צריכה להיות מסוגלת לטפל באופן שבו המתאמים מופעלים ומופעלים בתוכה.

כדי לשלב מתאמים של ממשק משתמש, בדרך כלל צריך תוכנה או אפליקציה לניהול קשרי לקוחות (CRM). אנחנו כבר מספקים את היכולת הזו לכמה תוכנות CRM, כמו Salesforce,‏ Kustomer,‏ Zendesk ועוד.

iFrame

אפשר לשלב מתאמי נציגים בצורה חלקה במערכת CRM או בכל כלי אחר באמצעות תג iFrame. מידע נוסף על תג iframe ב-HTML

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

כלי הטלפון: https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom

מתאם לצ'אט: https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom

תבנית iFrame

כלי הטלפון: html <iframe src="https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom" allow="microphone; camera; geolocation" width="290" height="600"></iframe>

מתאם לצ'אט: html <iframe src="https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom" allow="microphone; camera; geolocation" width="450" height="590"></iframe>

חשוב לשים לב לנקודות הבאות כשמטמיעים את המתאמים:

  • המאפיין allow הוא מאפיין חובה. כלי הטלפון משתמש ב-WebRTC וצריך את microphone. camera ו-geolocation נדרשים לשיתוף המסך ולתכונות שמבוססות על מיקום. אם ההרשאות לא מועברות ל-iframe, הדפדפן חוסם אותן בלי להציג הודעה, והנציג לא יכול לקבל שיחות.

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

  • המתאם מזהה שהוא מוטמע לפי העובדה שחלון ההורה שלו נמצא במקור אחר. הצגת דף המארח מהדומיין שלכם במקום מהדומיין של הדייר (tenant) ב-CCAI Platform.

פרמטרים של כתובות URL

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

אם הגדרת ה-CRM של הדייר לא זמינה ברשימות, הפרמטר From חייב תמיד להיות מוגדר כ-Custom.

סוג

  • התקשרות
  • צ'אט

מאת

  • בהתאמה אישית (ההגדרה הזו צריכה להתאים להגדרת ה-CRM של הדייר). הערך חייב להיות תמיד custom לכל מערכת CRM שלא מופיעה ברשימות. אם לא מוגדרת מערכת CRM, אפשר לדלג על הפרמטר הזה.

אירועים במתאמי סוכנים

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

גם לכלי הטלפון וגם לכלי הצ'אט יש אירועים ספציפיים שאפשר להשתמש בהם כדי לשפר את היכולות של ה-CRM.

כלי הטלפון

  • שיחה חדשה
  • הצרכן הצטרף
  • התחילה צנזורה של השיחה
  • הסתרת המידע בשיחה הסתיימה
  • סיום השיחה

מתאם לצ'אט

  • שיחה חדשה
  • שיחה פעילה
  • הודעה נכנסת בצ'אט
  • הודעה יוצאת בצ'אט
  • הטופס נשלח
  • הטופס מולא
  • סיום השיחה
  • הצ'אט נסגר

שני המתאמים

  • התחברות של נציג
  • התחיל סשן של שיתוף מסך
  • השליטה מרחוק בסשן של שיתוף המסך השתנתה
  • הסשן של שיתוף המסך של כל המכשיר השתנה
  • הסשן של שיתוף המסך הסתיים
  • העברה
  • הצד נוסף
  • הנציג מתחבר לסשן
  • התנתקות של הנציג
  • ‫Agent Assist נוסף
  • עוזר וירטואלי הצטרף לפגישה
  • העוזר הווירטואלי לעזרה במשימות עזב
  • התקבלו משתני סשן של העוזר הווירטואלי לעזרה במשימות
  • הקפצת רשומת CRM
  • פתיחת דף של צד שלישי

פורמט הודעה

כל אירוע נשלח באמצעות ה-API‏ window.postMessage() של הדפדפן מה-iframe של המתאם לחלון ההורה הישיר שלו (window.parent). חלון ההורה מקבל אותו כ-MessageEvent.

להודעה יש את המאפיינים הבאים:

  • ‫event.data הוא מחרוזת JSON, לא אובייקט. תמיד צריך להפעיל את JSON.parse(event.data) לפני שקוראים אותו. יכול להיות שסקריפטים אחרים בדף משתמשים גם ב-postMessage() עם מטען ייעודי (payload) שהוא לא בפורמט JSON, לכן צריך להוסיף את הניתוח בתוך try/catch.

  • לאובייקט המנותח יש בדיוק שני מפתחות ברמה העליונה:

    {
      "type": "<event type>",
      "data": { ... }
    }
    

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

  • שדות ריקים מושמטים. לפני הפרסום, המתאם מסיר כל שדה ב-data שהערך שלו הוא null,‏ undefined או מחרוזת ריקה. צריך להתייחס לכל שדה כאילו הוא לא קיים, ולא להסתמך על כך שקיים מפתח עם ערך null.

  • המתאם מפרסם עם מקור יעד של *, כך שההודעה נשלחת לכל דף שמטמיע את ה-iframe. המתאם לא מגביל את מי שיכול לקבל את האירועים. המאזין צריך לבדוק את event.origin מול המארח של הדייר (לדוגמה https://tenant.loc.ccaiplatform.com) ולהתעלם מהודעות מכל מקור אחר, כדי ש-iframe אחר באותו דף לא יוכל לזייף אירועים של המתאם.

  • הערכים של type הם תלויי אותיות רישיות (case-sensitive) והם לא אחידים. רובם הם Title_Case (New_Call, End_Chat), חלקם באותיות קטנות (call_redaction_started, call_redaction_ended, agent_assist_added) או ב-camelCase (openThirdPartyPage). השוו אותם למחרוזות המדויקות במסמך הזה.

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

בדוגמה הבאה מוצג מאזין מינימלי שמחיל את הכללים האלה:

// Replace with the origin of your tenant.
const ADAPTER_ORIGIN = 'https://tenant.loc.ccaiplatform.com'

window.addEventListener('message', (event) => {
  if (event.origin !== ADAPTER_ORIGIN) {
    return
  }

  let message
  try {
    message = JSON.parse(event.data)
  } catch (e) {
    // Not an agent adapter event; another script on the page posted it.
    return
  }

  const { type, data = {} } = message
  switch (type) {
    case 'New_Call':
      // data.call_id, data.agent_id, data.queue_id, ...
      break
    case 'New_Chat':
      // data.chat_id, data.agent_id, data.queue_id, ...
      break
    case 'CRM_Record_Pop':
      // data.recordUrl
      break
    default:
      // Ignore event types you don't handle; new types may be added over time.
      break
  }
}, false)

הודעות למתאם של הנציג

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

iframe.contentWindow.postMessage({
  channel: '<channel name>',
  eventType: '<event type>'
}, ADAPTER_ORIGIN)

הפקודות הבאות נתמכות בערוץ api:redaction. הם משמשים להשהיה ולהמשך של הקלטת השיחה לצורך צנזור מהדף המארח.

eventType תיאור
start_call_redaction כדי להתחיל את הצנזור, משהים את ההקלטה של השיחה הפעילה.
stop_call_redaction כדי להפסיק את הצנזור, צריך להמשיך את ההקלטה של השיחה הפעילה.

שימו לב לנקודות הבאות:

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

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

  • תמיד צריך להעביר את מקור הדייר כארגומנט השני ל-postMessage() במקום *, כדי שלא יהיה אפשר להעביר את הפקודה לדף אחר אם מנווטים ב-iframe.

  • הערוץ הקודם crm:authority עם סוגי האירועים redact_call:start ו-redact_call:stop עדיין מתקבל על ידי מתאם ה-CRM בהתאמה אישית לצורך תאימות לדורות קודמים, אבל בשילובים חדשים צריך להשתמש ב-api:redaction.

מידע נוסף זמין במאמר צנזור שיחות.

נתונים של אירועים

  • ‫call_id: זהו מזהה של שיחה למוקד שירות קולית נכנסת עם IVR (תגובה קולית אינטראקטיבית).

  • ‫chat_id: מזהה של שיחה נכנסת להעברת הודעות (צ'אט באינטרנט או בנייד).

  • ‫cobrowse_session_id: מזהה של סשן שיתוף מסך. אפשר להתחיל סשן של שיתוף מסך במהלך שיחה או צ'אט.

  • ‫session_type: סוג הסשן, כמו קול, צ'אט או הודעות.

  • ‫va_data_parameters: כל המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. הדרישה הזו רלוונטית רק לאירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫session_variable: כל המשתנים מהנציג הווירטואלי שנשלחים אל CCAI Platform במטען הייעודי (payload). זה שינוי אופציונלי.

  • ‫custom_sip_headers: מאפשר לכותרות SIP מותאמות אישית משיחות SIP נכנסות להופיע ביומן האירועים של POST. הוא נדרש רק אם משתמשים בכותרות SIP בהתאמה אישית. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף מופיע במאמר נתונים לא חתומים בהתאמה אישית ב-Chat. זה שינוי אופציונלי.

מזהי נציגים

  • ‫agent_id: זהו מזהה של נציג.
  • ‫from_agent_id: משמש לניתוב שיחות או צ'אטים מנציג אחד לאחר, כדי לציין את הנציג המקורי.
  • ‫to_agent_id: משמש לניתוב שיחות או צ'אטים מנציג אחד לנציג אחר, כדי לציין את נציג היעד.
  • ‫agent_custom_id: מזהה הסוכן מפרופיל המשתמש, אם הוא הוזן בפרופיל. זה שינוי אופציונלי.
  • ‫from_agent_custom_id: משמש לניתוב שיחות או צ'אטים מנציג אחד לנציג אחר, כדי לציין את הנציג המקורי.
  • ‫to_agent_custom_id: משמש לניתוב שיחות או צ'אטים מנציג אחד לאחר, כדי לציין את נציג היעד.
  • ‫agent_email: כתובת האימייל של הנציג.
  • ‫from_agent_email: משמש לניתוב שיחות או צ'אטים מנציג אחד לאחר, כדי לציין את הנציג המקורי.
  • ‫to_agent_email: משמש לניתוב שיחות או צ'אטים מנציג אחד לנציג אחר, כדי לציין את נציג היעד.

מזהים של נציגים וירטואליים

  • ‫virtual_agent_id: מספר הזיהוי שהוקצה לנציג וירטואלי ספציפי.

מזהי תורים

  • ‫queue_id: המזהה של תור ב-CCAI Platform, שקיים רק כשהשיחה מגיעה מתור.
  • ‫from_queue_id: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר, כדי לציין את התור המקורי.
  • ‫to_queue_id: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר, כדי לציין את תור היעד.
  • ‫queue_path: הנתיב לתור ב-CCAI Platform, שקיים רק כשהשיחה מגיעה מתור.
  • ‫from_queue_path: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר, כדי לציין את התור המקורי.
  • ‫to_queue_path: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר, כדי לציין את תור היעד.

מזהה הקמפיין

  • ‫campaign_id: מזהה הקמפיין ב-CCAI Platform. הם נכללים רק אם סוג השיחה הוא שיחה מקמפיין.
  • ‫campaign_name: שם הקמפיין ב-CCAI Platform. הם נכללים רק אם סוג השיחה הוא שיחה מקמפיין.

הודעה

  • ‫message: אירוע שמציין שהתקבלה הודעה חדשה מצרכן, בתוספת תוכן ההודעה.

סוגי סשנים

  • ‫session_type: סוג הסשן ב-CCAI Platform.
  • ‫cobrowse_session_remote_control: מציין את הסטטוס של בקשה לשיתוף מסך בשליטה מרחוק. ערכים: off,‏ requested,‏ rejected,‏ on.
  • ‫cobrowse_session_full_device: מציין את הסטטוס של סשן שיתוף מסך מלא של המכשיר. ערכים: off,‏ requested,‏ rejected,‏ on.

משתתפים

  • ‫type: סוג המשתתף – end_user, agent (מהשדה participants.type בתגובה של ‎/api/v1/calls או ‎/api/v1/chats).

  • ‫cobrowse_session_requested_by: מציין מי התחיל את הסשן של שיתוף המסך. הערכים האפשריים הם agent או end_user.

  • ‫cobrowse_session_ended_by: מציין מי סיים את הסשן של שיתוף המסך. הערכים האפשריים הם agent,‏ end_user או api.

  • ‫end_user_id: תגובה מסוג participants.end_user_id של /api/v1/calls או /api/v1/chats. השדה הזה מופיע רק אם הסוג הוא: end_user.

סוגי אינטראקציות או סשנים

סוגי שיחות

  • שיחות נכנסות ב-Voice: שיחות PSTN רגילות.
  • שיחות נכנסות קוליות (IVR באמצעות נייד): שיחות PSTN חלופיות שבוצעו מ-Mobile SDK.
  • שיחות נכנסות קוליות (נייד): שיחות שצרכנים מבצעים באמצעות SDK לנייד שמותקן במכשיר.
  • שיחה חוזרת קולית (אינטרנט): מופעלת מ-Web SDK.
  • שיחה קולית נכנסת (API): השיחה התחילה באמצעות API.
  • תזמון קולי (נייד): תזמון באמצעות ערכת SDK לנייד שמותקנת במכשיר.
  • שיחה קולית מתוזמנת (אינטרנט): שיחה שתוזמנה באמצעות Web SDK מותקן.
  • שיחה קולית יוצאת: שיחה שהנציג יוזם על ידי חיוג למספר.
  • שיחה קולית יוצאת (API): שיחה שהתחילה באמצעות API.
  • קמפיין קולי: שיחה שמתחילה באמצעות חייגן לשיחות יוצאות (קמפיין).

סוגי צ'אטים

  • הודעות (וואטסאפ): התחלת שיחה באמצעות וואטסאפ.
  • הודעות נכנסות (SMS)
  • הודעות יוצאות (SMS)
  • הודעות יוצאות (SMS באמצעות API)
  • העברת הודעות (אינטרנט): מתחילה באמצעות Web SDK מותקן.
  • העברת הודעות (בנייד): מתחילה באמצעות Mobile SDK מותקן.

סוג השיחה או הצ'אט

  • סשן של שיתוף מסך: מופעל על ידי נציג או משתמש קצה במהלך שיחה או צ'אט.

סוגי אירועים

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

אירוע type מעבד/ת היצירה
התחברות של נציג Agent_Login שני הסוגים
שיחה חדשה New_Call התקשרות
הלקוח הצטרף Consumer_Joined התקשרות
סיום השיחה End_Call התקשרות
התחלת צנזור השיחה call_redaction_started התקשרות
הצינזור של השיחה הסתיים call_redaction_ended התקשרות
שיחה חדשה New_Chat צ'אט
סיום הצ'אט End_Chat צ'אט
שיחה פעילה Active_Chat צ'אט
הודעה נכנסת בצ'אט Chat_Inbound_Message צ'אט
הודעה יוצאת ב-Chat Chat_Outbound_Message צ'אט
הטופס נשלח Form_Sent צ'אט
הטופס מולא Form_Completed צ'אט
שיחה שנסגרה Dismissed_Chat צ'אט
התחיל סשן של שיתוף מסך Cobrowse_Session_Started שני הסוגים
השליטה מרחוק בסשן של שיתוף המסך השתנתה Cobrowse_Session_Remote_Control_Changed שני הסוגים
שינוי בסשן של שיתוף המסך של כל המכשיר Cobrowse_Session_Full_Device_Changed שני הסוגים
הסשן של שיתוף המסך הסתיים Cobrowse_Session_Ended שני הסוגים
העברה Transfer_Call, Transfer_Chat שני הסוגים
הוספת צד שלישי Party_Added שני הסוגים
הנציג מתחבר לסשן Agent_Joined_Call, Agent_Joined_Chat שני הסוגים
התנתקות של הנציג Agent_Logout שני הסוגים
Agent Assist נוסף agent_assist_added שני הסוגים
עוזר וירטואלי לעזרה במשימות הצטרף Task_VA_Joined שני הסוגים
העוזר הווירטואלי למשימות עזב Task_VA_Left שני הסוגים
משתני סשן שהתקבלו ב-Virtual Task Assistant Task_VA_Variables_Received שני הסוגים
הקפצת רשומות ב-CRM CRM_Record_Pop שני הסוגים
פתיחת דף של צד שלישי openThirdPartyPage התקשרות

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

התחברות של סוכן

אירוע של התחברות נציג מתרחש כשהנציג מתחבר למתאם.

דוגמה לאירוע Agent_Login:

{
  "type": "Agent_Login",
    "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫agent_id: מזהה הנציג

  • אופציונלי: agent_custom_id: המזהה בהתאמה אישית של הנציג, אם הוא הוזן בפרופיל של הנציג.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג.

שיחה חדשה

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

דוגמה לאירוע New_Call:

{
  "type": "New_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫agent_id: מזהה הנציג

  • ‫agent_custom_id: המזהה המותאם אישית של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג

  • ‫queue_id: המזהה של התור שממנו הגיעה השיחה. השדה הזה נכלל כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה הקריאה. השדה הזה מופיע כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫campaign_id: מזהה הקמפיין. השדה הזה נכלל בקריאה לקמפיין. זה שינוי אופציונלי.

  • ‫campaign_name: שם הקמפיין. השדה הזה נכלל בקריאה לקמפיין. זה שינוי אופציונלי.

  • ‫call_id: מזהה השיחה

  • ‫session_type: סוג הסשן

  • ‫virtual_agent_id: המזהה של הנציג הווירטואלי. השדה הזה נכלל באירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫va_data_parameters: המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. השדה הזה נכלל באירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫session_variable: כל המשתנים מהנציג הווירטואלי שנשלחים אל CCAI Platform. זה שינוי אופציונלי.

  • ‫custom_sip_headers: מאפשרת לכותרות מותאמות אישית של Session Initiation Protocol‏ (SIP) משיחות SIP נכנסות להופיע ביומן האירועים של POST. השדה הזה נכלל אם משתמשים בכותרות SIP בהתאמה אישית. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat. זה שינוי אופציונלי.

הצרכן הצטרף

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

דוגמה לאירוע Consumer_Joined:

{
  "type": "Consumer_Joined",
  "data": {
    "lcmKey": "acqueon:12345",
    "custom_sip_headers": {
      "X-Account-Id": "A-100"
    },
    "va_data_parameters": {
      "param1": "one"
    },
    "session_variable": {
      "key_one": "value"
    }
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫lcmKey: מפתח מנהל הקמפיין של הרשימה של איש הקשר שאליו התקשרו

  • ‫custom_sip_headers: כותרות SIP בהתאמה אישית מהשיחה. השדה הזה נכלל אם משתמשים בכותרות SIP בהתאמה אישית. זה שינוי אופציונלי.

  • ‫va_data_parameters: המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫session_variable: המשתנים מהנציג הווירטואלי שנשלחים אל Contact Center AI Platform. זה שינוי אופציונלי.

התחילה צנזורה של השיחה

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

שימו לב שהערך type של האירוע הזה הוא באותיות קטנות: call_redaction_started.

  • ‫agent_id: המזהה של הנציג שטיפל בשיחה
  • ‫call_id: מזהה השיחה

דוגמה לאירוע "התחלת צנזור של שיחה":

{
  "type": "call_redaction_started",
  "data": {
    "agent_id": 2896,
    "call_id": 97939
  }
}

ההסרה של מידע רגיש מהשיחה הופסקה

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

שימו לב שהערך type של האירוע הזה הוא באותיות קטנות: call_redaction_ended.

  • ‫agent_id: ID של הנציג שטיפל בשיחה
  • ‫call_id: ID של השיחה

דוגמה לנתוני אירוע של הפסקת צנזור שיחה:

{
  "type": "call_redaction_ended",
  "data": {
    "agent_id": 2896,
    "call_id": 97939
  }
}

סיום השיחה

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

דוגמה לאירוע End_Call:

{
  "type": "End_Call",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "call_id": 103646,
    "session_type": "Voice Campaign (UJET)"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫agent_id: מזהה הנציג

  • ‫agent_custom_id: המזהה המותאם אישית של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג

  • ‫queue_id: המזהה של התור שממנו הגיעה השיחה. השדה הזה נכלל כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה הקריאה. השדה הזה מופיע כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫campaign_id: מזהה הקמפיין. השדה הזה נכלל בקריאה לקמפיין. זה שינוי אופציונלי.

  • ‫campaign_name: שם הקמפיין. השדה הזה נכלל בקריאה לקמפיין. זה שינוי אופציונלי.

  • ‫call_id: מזהה השיחה

  • ‫session_type: סוג הסשן

  • ‫virtual_agent_id: המזהה של הנציג הווירטואלי. השדה הזה נכלל באירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫va_data_parameters: המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. השדה הזה נכלל באירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫session_variable: כל המשתנים מהנציג הווירטואלי שנשלחים אל Contact Center AI Platform. זה שינוי אופציונלי.

  • ‫custom_sip_headers: מאפשרת לכותרות מותאמות אישית של Session Initiation Protocol‏ (SIP) משיחות SIP נכנסות להופיע ביומן האירועים של POST. השדה הזה נכלל אם משתמשים בכותרות SIP בהתאמה אישית. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

צ'אט חדש

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

דוגמה לאירוע New_chat:

{
  "type": "New_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫chat_id: מזהה הצ'אט

  • ‫session_type: סוג הסשן

  • ‫agent_id: מזהה הנציג

  • ‫agent_custom_id: המזהה הייחודי של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג.

  • ‫queue_id: המזהה של התור שממנו הגיעה השיחה. השדה הזה נכלל כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה הקריאה. השדה הזה נכלל כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

סיום השיחה

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

דוגמה לאירוע End_Chat:

{
  "type": "End_Chat",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": null,
    "queue_path": null,
    "agent_custom_id": null
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫chat_id: מזהה הצ'אט.

  • ‫session_type: סוג הסשן.

  • ‫agent_id: מזהה הנציג.

  • ‫agent_custom_id: המזהה בהתאמה אישית של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג.

  • ‫queue_id: המזהה של התור שממנו הגיעה השיחה. השדה הזה נכלל כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה הקריאה. השדה הזה מופיע כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

צ'אט פעיל

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

דוגמה לאירוע Active_Chat:

{
  "type": "Active_Chat",
  "data": {
    "chat_id": 73521,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫chat_id: מזהה הצ'אט

  • ‫session_type: סוג הסשן

  • ‫agent_id: מזהה הנציג

  • ‫agent_custom_id: המזהה בהתאמה אישית של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג.

  • ‫queue_id: המזהה של התור שממנו הגיעה השיחה. השדה הזה נכלל כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה הקריאה. השדה הזה מופיע כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

הודעה נכנסת בצ'אט

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

הנתונים בשדות הבאים מדווחים באירוע של הודעה נכנסת בצ'אט:

  • ‫chat_id: מזהה את סשן הצ'אט

  • ‫session_type: מציין את סוג הסשן שנוצר, למשל הודעות נכנסות דרך צ'אט באינטרנט

  • ‫agent_id: מזהה את הנציג שמטפל בסשן הצ'אט

  • ‫agent_custom_id: השדה הזה קיים רק אם הפרופיל של הסוכן כולל מזהה מותאם אישית. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל של הנציג שמטפל בסשן הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור. זה שינוי אופציונלי.

  • ‫queue_id: המזהה של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור.

  • ‫queue_path: הנתיב של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור.

  • ‫message: אירוע שמציין שהתקבלה הודעה חדשה מצרכן, וגם תוכן ההודעה

  • ‫custom_data_secured: מאפשרת העברה של נתונים מותאמים אישית מאובטחים של SDK. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מאפשרת העברה של נתונים מותאמים אישית לא מאובטחים של SDK. זה שינוי אופציונלי.

דוגמה לאירוע Chat_Inbound_Message:

{
  "type": "Chat_Inbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Can you help me with my order tracking number?"
  }
}

הודעה יוצאת בצ'אט

אירוע של הודעה יוצאת בצ'אט מתרחש כשמתקבלת הודעה חדשה מצרכן. הוא כולל את תוכן ההודעה.

הנתונים בשדות הבאים מדווחים באירוע "הודעה יוצאת בצ'אט":

  • ‫chat_id: מזהה את סשן הצ'אט

  • ‫session_type: מציין את סוג הסשן שנוצר, למשל הודעות נכנסות דרך צ'אט באינטרנט

  • ‫agent_id: מזהה את הנציג שמטפל בסשן הצ'אט

  • ‫agent_custom_id: השדה הזה נכלל רק אם לפרופיל של הסוכן יש מזהה מותאם אישית. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל של הנציג שמטפל בסשן הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור. זה שינוי אופציונלי.

  • ‫queue_id: המזהה של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור.

  • ‫queue_path: הנתיב של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור.

  • ‫message: האירוע מציין שהתקבלה הודעה חדשה מצרכן, וגם את תוכן ההודעה

  • ‫custom_data_secured: מאפשרת העברה של נתונים מותאמים אישית מאובטחים של SDK. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מאפשרת העברה של נתונים מותאמים אישית לא מאובטחים של SDK. זה שינוי אופציונלי.

דוגמה לאירוע Chat_Outbound_Message:

{
  "type": "Chat_Outbound_Message",
  "data": {
    "chat_id": 73522,
    "session_type": "messaging inbound (web chat)",
    "agent_id": 1,
    "agent_email": "ariel@example.com",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Ariel",
    "message" : "Please give me a moment to look up your account information"
  }
}

הטופס נשלח

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

דוגמה לאירוע Form_Sent:

{
  "type": "Form_Sent",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "end_user_id": 5512,
    "form_external_id": "payment-details",
    "form_name": "Payment details",
    "form_type": "secure",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Kim",
    "queue_language_id": "en",
    "timestamp": 1727853575000
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫chat_id: מזהה הצ'אט

  • ‫session_type: סוג הסשן

  • ‫agent_id: מזהה הנציג

  • ‫agent_custom_id: המזהה בהתאמה אישית של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג

  • ‫end_user_id: המזהה של הצרכן בצ'אט. זה שינוי אופציונלי.

  • ‫form_external_id: המזהה החיצוני של הטופס שנשלח. זה שינוי אופציונלי.

  • ‫form_name: שם הטופס שנשלח. זה שינוי אופציונלי.

  • ‫form_type: סוג הטופס שנשלח. זה שינוי אופציונלי.

  • ‫queue_id: המזהה של התור שממנו הגיעה השיחה. השדה הזה נכלל כשהצ'אט הגיע מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיע הצ'אט. השדה הזה נכלל כשהצ'אט הגיע מתור. זה שינוי אופציונלי.

  • ‫queue_language_id: השפה של התור. זה שינוי אופציונלי.

  • ‫timestamp: הזמן שבו האירוע פורסם, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch)

  • ‫va_data_parameters: המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫session_variable: כל המשתנים מהנציג הווירטואלי שנשלחים אל Contact Center AI Platform. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים מותאמים אישית לא חתומים מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat. זה שינוי אופציונלי.

הטופס מולא

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

דוגמה לאירוע Form_Completed:

{
  "type": "Form_Completed",
  "data": {
    "chat_id": 73522,
    "session_type": "Messaging Inbound (Web Chat)",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "Kim@example.com",
    "end_user_id": 5512,
    "form_external_id": "payment-details",
    "form_name": "Payment details",
    "form_type": "secure",
    "queue_id": 7678,
    "queue_path": "HB TEAM / Kim",
    "queue_language_id": "en",
    "timestamp": 1727853601000
  }
}

הצ'אט נסגר

אירוע של סגירת צ'אט מתרחש כשהנציג סוגר את כרטיסיית הצ'אט במתאם הצ'אט.

דוגמה לאירוע Dismissed_Chat:

{
  "type":"Dismissed_Chat",
  "data":{"chat_id":73522,
    "session_type":"Messaging Inbound (Web Chat)",
    "agent_id":1,
    "agent_email":"ariel@example.com"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫chat_id: מזהה הצ'אט

  • ‫session_type: סוג הסשן

  • ‫agent_id: מזהה הנציג

  • ‫agent_custom_id: המזהה בהתאמה אישית של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג

  • ‫queue_id: המזהה של התור שממנו הגיעה השיחה. השדה הזה נכלל כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה הקריאה. השדה הזה מופיע כשהשיחה הגיעה מתור. זה שינוי אופציונלי.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים מותאמים אישית לא חתומים מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

התחיל סשן של שיתוף מסך

האירוע Screen Share session started מתרחש כשנציג או משתמש קצה מתחילים סשן של שיתוף מסך. אפשר להתחיל סשן של שיתוף מסך במהלך שיחה או צ'אט. מידע נוסף זמין במאמר שיתוף המסך.

דוגמה לאובייקט JSON של אירוע התחלה של סשן שיתוף מסך:

{
  "type": "Cobrowse_Session_Started",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_requested_by": "agent",
    "cobrowse_session_remote_control": "off",
    "cobrowse_session_full_device": "off"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫agent_id: מזהה הנציג.

  • ‫call_id: המזהה של שיחה למוקד שירות בערוץ ה-IVR (תגובה קולית אינטראקטיבית). השדה הזה נכלל אם סשן שיתוף המסך התחיל במהלך שיחה.

  • ‫chat_id: המזהה של צ'אט נכנס בערוץ האינטרנט או בערוץ לנייד. השדה הזה נכלל אם הסשן של שיתוף המסך התחיל במהלך צ'אט.

  • ‫cobrowse_session_id: המזהה של סשן שיתוף המסך.

  • ‫cobrowse_session_requested_by: מציין מי התחיל סשן של שיתוף מסך. הערכים האפשריים הם agent ו-end-user.

  • ‫cobrowse_session_remote_control: מציין את הסטטוס של סשן שיתוף מסך בשליטה מרחוק. הערכים הם on,‏ rejected,‏ requested ו-off.

  • ‫cobrowse_session_full_device: מציין את הסטטוס של סשן שיתוף מסך מלא של המכשיר. הערכים הם on,‏ rejected,‏ requested ו-off.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים מותאמים אישית לא חתומים מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

השליטה מרחוק בסשן של שיתוף המסך השתנתה

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

דוגמה לאובייקט JSON של אירוע Cobrowse_Session_Remote_Control_Changed:

{
  "type": "Cobrowse_Session_Remote_Control_Changed",
  "data": {
    "agent_id": 5,
    "chat_id": 791,
    "cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
    "cobrowse_session_remote_control": "requested"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫agent_id: מזהה הנציג.

  • ‫call_id: המזהה של שיחה למוקד שירות בערוץ ה-IVR (תגובה קולית אינטראקטיבית). השדה הזה נכלל אם סשן שיתוף המסך התחיל במהלך שיחה.

  • ‫chat_id: המזהה של צ'אט נכנס בערוץ האינטרנט או בערוץ לנייד. השדה הזה נכלל אם הסשן של שיתוף המסך התחיל במהלך צ'אט.

  • ‫cobrowse_session_id: המזהה של סשן שיתוף המסך.

  • ‫cobrowse_session_remote_control: מציין את הסטטוס של סשן שיתוף מסך בשליטה מרחוק. הערכים הם on,‏ rejected,‏ requested ו-off.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים מותאמים אישית לא חתומים מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

הסשן של שיתוף המסך של כל המכשיר השתנה

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

דוגמה לאירוע Cobrowse_Session_Full_Device_Changed:

{
  "type": "Cobrowse_Session_Full_Device_Changed",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_full_device": "rejected"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫agent_id: מזהה הנציג.

  • ‫call_id: המזהה של שיחה למוקד שירות בערוץ ה-IVR (תגובה קולית אינטראקטיבית). השדה הזה נכלל אם סשן שיתוף המסך התחיל במהלך שיחה.

  • ‫chat_id: המזהה של צ'אט נכנס בערוץ האינטרנט או בערוץ לנייד. השדה הזה נכלל אם הסשן של שיתוף המסך התחיל במהלך צ'אט.

  • ‫Cobrowse_session_id: המזהה של סשן שיתוף המסך.

  • ‫Cobrowse_session_full_device: מציין את הסטטוס של סשן שיתוף מסך מלא של המכשיר. הערכים הם on,‏ rejected,‏ requested ו-off.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

הסשן של שיתוף המסך הסתיים

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

דוגמה לאירוע Cobrowse_Session_Ended:

{
  "type": "Cobrowse_Session_Ended",
  "data": {
    "agent_id": 5,
    "cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
    "cobrowse_session_requested_by": "end_user",
    "cobrowse_session_ended_by": "agent",
    "cobrowse_session_remote_control": "on",
    "cobrowse_session_full_device": "rejected"
  }
}

תיאורים של שדות נתוני האירועים:

  • ‫agent_id: מזהה הנציג.

  • ‫call_id: המזהה של שיחה למוקד שירות בערוץ ה-IVR (תגובה קולית אינטראקטיבית). השדה הזה נכלל אם סשן שיתוף המסך התחיל במהלך שיחה.

  • ‫chat_id: המזהה של צ'אט נכנס בערוץ האינטרנט או בערוץ לנייד. השדה הזה נכלל אם הסשן של שיתוף המסך התחיל במהלך צ'אט.

  • ‫cobrowse_session_id: המזהה של סשן שיתוף המסך.

  • ‫cobrowse_session_ended_by: מציין מי סיים את סשן שיתוף המסך. הערכים האפשריים הם agent,‏ end-user ו-api.

  • ‫cobrowse_session_remote_control: מציין את הסטטוס של סשן שיתוף מסך בשליטה מרחוק. הערכים הם on,‏ rejected,‏ requested ו-off.

  • ‫cobrowse_session_full_device: מציין את הסטטוס של סשן שיתוף מסך מלא של המכשיר. הערכים הם on,‏ rejected,‏ requested ו-off.

  • ‫custom_data_secured: מכיל נתונים חתומים בהתאמה אישית מהשרת שלכם. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מכיל נתונים לא חתומים בהתאמה אישית מדף האינטרנט. מידע נוסף זמין במאמר נתונים לא חתומים בהתאמה אישית ב-Chat (אופציונלי). זה שינוי אופציונלי.

העברה

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

שדות האירועים הבאים הם חלק מאירוע העברה.

  • ‫chat_id או call_id: מזהה את השיחה או את סשן הצ'אט

  • ‫session_type: מציין את סוג הסשן שנוצר, למשל הודעה נכנסת דרך צ'אט באינטרנט

  • ‫campaign_id: מזהה הקמפיין. השדה הזה מופיע רק אם סוג השיחה הוא שיחה בקמפיין. זה שינוי אופציונלי.

  • ‫campaign_name: שם הקמפיין. השדה הזה מופיע רק אם סוג השיחה הוא שיחה בקמפיין. זה שינוי אופציונלי.

  • ‫from_agent_id: משמש לניתוב שיחות או צ'אטים מנציג אחד לאחר, כדי לציין את הנציג המקורי

  • ‫from_agent_custom_id: משמש כשמנתבים שיחות או צ'אטים מנציג אחד לנציג אחר, כדי לציין את הנציג המקורי. זה שינוי אופציונלי.

  • ‫from_agent_email: משמש להעברת שיחות או צ'אטים מנציג אחד לאחר, כדי לציין את הנציג המקורי

  • ‫to_agent_id: משמש לניתוב שיחות או צ'אטים מנציג אחד לאחר, כדי לציין את נציג היעד

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

  • ‫to_agent_email: משמש כשמנתבים שיחות או צ'אטים מנציג אחד לאחר, כדי לציין את הנציג שאליו מנותבת השיחה.

  • ‫from_queue_id: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר, כדי לציין את התור המקורי

  • ‫from_queue_path: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר, כדי לציין את התור המקורי

  • ‫to_queue_id: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר כדי לציין את תור היעד

  • ‫to_queue_path: משמש לניתוב שיחות או צ'אטים מתור אחד לאחר כדי לציין את תור היעד

  • ‫virtual_agent_id: המזהה שהוקצה לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫va_data_parameters: כל המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. השדה הזה נדרש רק לאירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫(session_variable: כל המשתנים מהנציג הווירטואלי שנשלחים אל CCAI Platform במטען הייעודי (payload). זה שינוי אופציונלי.

  • ‫custom_sip_headers: מאפשרת לכותרות SIP בהתאמה אישית משיחות SIP נכנסות להופיע ביומן האירועים של POST. הוא נדרש רק אם משתמשים בכותרות SIP בהתאמה אישית. זה שינוי אופציונלי.

  • ‫custom_data_secured: מאפשרת העברה של נתונים מותאמים אישית מאובטחים של SDK. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מאפשרת העברה של נתונים מותאמים אישית לא מאובטחים של SDK. זה שינוי אופציונלי.

דוגמה לאירוע העברה:

{
  "type": "Transfer_Chat",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "from_agent_id": 1,
    "from_agent_custom_id": "007",
    "from_agent_email": "Ira@example.com",
    "to_agent_id" : 5
    "to_agent_custom_id": "100"
    "to_agent_email" : "ariel@example.com"
    "from_queue_id": 8469,
    "from_queue_path": "Developers / Ariel",
    "to_queue_id" : 1234,
    "to_queue_path" : "Schemes / Auric"
  }
}

הצד נוסף

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

אירוע של הוספת צד כולל את הנתונים הבאים:

  • ‫chat_id או call_id: מזהה את השיחה או את סשן הצ'אט

  • ‫session_type: מציין את סוג הסשן שנוצר, למשל הודעה נכנסת דרך צ'אט באינטרנט

  • ‫agent_custom_id: השדה הזה קיים רק אם הפרופיל של הסוכן כולל מזהה מותאם אישית. זה שינוי אופציונלי.

  • ‫agent_email: כתובת האימייל של הנציג שמטפל בשיחה או בסשן הצ'אט.

  • ‫queue_id: המזהה של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור. זה שינוי אופציונלי.

  • ‫campaign_id: מזהה הקמפיין. השדה הזה נכלל רק כשסוג השיחה הוא שיחה מקמפיין. זה שינוי אופציונלי.

  • ‫campaign_name: שם הקמפיין. השדה הזה נכלל רק כשסוג השיחה הוא שיחה מקמפיין. זה שינוי אופציונלי.

  • ‫type: סוג המשתתף, למשל end_user או agent. השדה הזה מוחזר כחלק מהתגובה של participants.type של /api/v1/calls או /api/v1/chats

  • ‫end_user_id: הערך של end_user_id. השדה הזה מוחזר כחלק מהתגובה של /api/v1/calls או /api/v1/chats. השדה הזה מופיע רק בשיחות או בצ'אטים של משתמשי קצה שמועברים מנציג אחד לנציג אחר, כדי לציין את נציג היעד. זה שינוי אופציונלי.

  • ‫virtual_agent_id: המזהה שהוקצה לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫va_data_parameters: כל המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. השדה הזה נדרש רק לאירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫session_variable: כל המשתנים מהנציג הווירטואלי שנשלחים ל-CCAI Platform במטען הייעודי (payload). זה שינוי אופציונלי.

  • ‫custom_sip_headers: מאפשר לכותרות SIP בהתאמה אישית משיחות SIP נכנסות להופיע ביומן האירועים של POST. הוא נדרש רק אם משתמשים בכותרות SIP בהתאמה אישית. זה שינוי אופציונלי.

  • ‫custom_data_secured: מאפשרת העברה של נתונים מותאמים אישית מאובטחים של SDK. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מאפשרת העברה של נתונים מותאמים אישית לא מאובטחים של SDK. זה שינוי אופציונלי.

הנה דוגמה לאירוע Party_Added.

{
  "type": "Party_Added",
  "data": {
    "chat_id": 103646,
    "session_type": "Messaging Inbound (SMS)",
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "type" : "agent"
  }
}

הנציג מתחבר לסשן

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

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

  • ‫agent_id: מזהה את הנציג שמטפל בשיחה או בסשן הצ'אט.

  • ‫agent_email: כתובת האימייל של הנציג שמטפל בשיחה או בסשן הצ'אט.

  • ‫agent_custom_id: השדה הזה קיים רק אם הפרופיל של הסוכן כולל מזהה מותאם אישית. זה שינוי אופציונלי.

  • ‫chat_id או call_id: מזהה את הסשן של השיחה או הצ'אט.

  • ‫virtual_agent_id: המזהה שהוקצה לנציג וירטואלי ספציפי. זה שינוי אופציונלי.

  • ‫campaign_id: מזהה הקמפיין. השדה הזה נכלל רק כשסוג השיחה הוא שיחה בקמפיין. זה שינוי אופציונלי.

  • ‫campaign_name: שם הקמפיין. השדה הזה נכלל רק כשסוג השיחה הוא שיחה מקמפיין. זה שינוי אופציונלי.

  • ‫queue_id: המזהה של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיעה שיחת הצ'אט. השדה הזה נכלל רק כשהצ'אט מגיע מתור. זה שינוי אופציונלי.

  • ‫session_type: מציין את סוג הסשן שנוצר, למשל הודעה נכנסת דרך צ'אט באינטרנט.

  • ‫virtual_agent_id: המזהה שהוקצה לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫va_data_parameters: כל המשתנים שהוגדרו בתור לשליחה לנציג הווירטואלי. הדרישה הזו רלוונטית רק לאירועים שקשורים לנציג הווירטואלי. זה שינוי אופציונלי.

  • ‫session_variable: כל המשתנים מהנציג הווירטואלי שנשלחים ל-CCAI Platform במטען הייעודי (payload). זה שינוי אופציונלי.

  • ‫custom_sip_headers: מאפשר לכותרות SIP בהתאמה אישית משיחות SIP נכנסות להופיע ביומן האירועים של POST. הוא נדרש רק אם משתמשים בכותרות SIP בהתאמה אישית. זה שינוי אופציונלי.

  • ‫custom_data_secured: מאפשרת העברה של נתונים מותאמים אישית מאובטחים של SDK. זה שינוי אופציונלי.

  • ‫custom_data_not_secured: מאפשרת העברה של נתונים מותאמים אישית לא מאובטחים של SDK. זה שינוי אופציונלי.

דוגמה לנתוני אירוע מסוג Agent_Joined_Chat:

{
  "type": "Agent_Joined_Chat",
  "data": {
    "chat_id": 103646,
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
    "queue_id": 8469,
    "queue_path": "Developers / Ariel",
    "session_type": "Messaging Inbound (SMS)",
  }
}

התנתקות של הנציג

אירוע של התנתקות נציג מתרחש כשנציג מתנתק מהמתאם של הנציג.

שדות האירוע הבאים הם חלק מאירוע Agent_Logout.

  • ‫agent_id: המזהה של הנציג שהתחבר

  • ‫agent_email: כתובת האימייל שמשויכת לחשבון של הנציג

  • ‫agent_custom_id: המזהה המותאם אישית של הנציג, אם הוא הוזן בפרופיל של הנציג. זה שינוי אופציונלי.

דוגמה לאירוע Agent_Logout:

{
  "type": "Agent_Logout",
  "data": {
    "agent_id": 1,
    "agent_custom_id": "007",
    "agent_email": "ariel@example.com",
  }
}

הוספת Agent Assist

אירוע של הוספת Agent Assist מתרחש כשנציג מפעיל את Agent Assist במהלך שיחה או סשן צ'אט.

חשוב לדעת:

  • הערך של type באירוע הזה הוא באותיות קטנות: agent_assist_added.

  • השדה של חותמת הזמן נקרא Timestamp (T גדולה) והוא מספר אלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch).

דוגמה לאירוע agent_assist_added:

{
  "type": "agent_assist_added",
  "data": {
    "conversation_id": "12345",
    "queue_id": 65,
    "agent_id": 1,
    "session_id": "78534G4RT4284",
    "queue_language_id": "en",
    "Timestamp": 1727853575000
  }
}

אלה השדות של האירוע:

  • ‫conversation_id: מזהה השיחה. השדה הזה נכלל כשהסשן משתמש בפרופיל שיחה. זה שינוי אופציונלי.

  • ‫queue_id: מזהה התור. זה שינוי אופציונלי.

  • ‫agent_id: מזהה הנציג

  • ‫session_id: מזהה הסשן. זה שינוי אופציונלי.

  • ‫queue_language_id: השפה של התור. זה שינוי אופציונלי.

  • ‫Timestamp: הזמן שבו האירוע פורסם, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch)

עוזר וירטואלי הצטרף לפגישה

אירוע של הצטרפות עוזר וירטואלי לעזרה במשימות מתרחש כשעוזר וירטואלי לעזרה במשימות (VTA) מצטרף לשיחה או לסשן צ'אט.

דוגמה לאירוע Task_VA_Joined:

{
  "type": "Task_VA_Joined",
  "data": {
    "chat_id": 103646,
    "campaign_id": 1432,
    "campaign_name": "Survey Movie",
    "virtual_agent_id": 1,
    "virtual_agent_name": "Order status assistant",
    "participant_id": 1,
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "queue_language_id": "en",
    "session_type": "Messaging Inbound (SMS)",
    "conversation_id": "12345",
    "session_id": "78534G4RT4284",
    "timestamp": 1727853575000,
    "data_parameters": {
      "param1": "one",
      "param2": "two"
    }
  }
}

אלה השדות של האירוע:

  • ‫call_id או chat_id: המזהה של השיחה או הצ'אט

  • ‫campaign_id: מזהה הקמפיין. השדה הזה נכלל בקריאה לקמפיין. זה שינוי אופציונלי.

  • ‫campaign_name: שם הקמפיין. השדה הזה נכלל בקריאה לקמפיין. זה שינוי אופציונלי.

  • ‫virtual_agent_id: המזהה של ה-VTA

  • ‫virtual_agent_name: השם של ה-VTA כמו שהוגדר בפורטל של CCAI Platform

  • ‫participant_id: מזהה המשתתף של ה-VTA בסשן

  • ‫queue_id: המזהה של התור שממנו הגיע הסשן. זה שינוי אופציונלי.

  • ‫queue_path: הנתיב של התור שממנו הגיע הסשן. זה שינוי אופציונלי.

  • ‫queue_language_id: השפה של התור. זה שינוי אופציונלי.

  • ‫session_type: סוג הסשן

  • ‫conversation_id: מזהה השיחה. השדה הזה נכלל כשהסשן משתמש בפרופיל שיחה. זה שינוי אופציונלי.

  • ‫session_id: מזהה הסשן. זה שינוי אופציונלי.

  • ‫timestamp: הזמן שבו האירוע פורסם, באלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch)

  • data_parameters: המשתנים שהוגדרו בפורטל של CCAI Platform ונשלחו ל-VTA. זה שינוי אופציונלי.

העוזר הווירטואלי לעזרה במשימות עזב

אירוע עזיבה של עוזר וירטואלי לעזרה במשימות מתרחש כשהעוזר הווירטואלי לעזרה במשימות עוזב את הפגישה. בנוסף לשדות של האירוע Virtual Task Assistant joined, הוא כולל את הסיבה לסיום הסשן של ה-VTA ואת משתני הסשן שה-VTA תיעד.

דוגמה לאירוע Task_VA_Left:

{
  "type": "Task_VA_Left",
  "data": {
    "chat_id": 103646,
    "virtual_agent_id": 1,
    "virtual_agent_name": "Order status assistant",
    "participant_id": 1,
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "queue_language_id": "en",
    "session_type": "Messaging Inbound (SMS)",
    "conversation_id": "12345",
    "session_id": "78534G4RT4284",
    "timestamp": 1727853600000,
    "finish_reason": "Task VA completed",
    "data_parameters": {
      "param1": "one"
    },
    "captured_variables": [
      {
        "intent_name": null,
        "variables": {
          "order_number": "A-100"
        },
        "captured_at": "2024-11-15 16:46:31 UTC",
        "timestamp": 1727853590000
      }
    ]
  }
}

השדות הנוספים של האירוע הם:

  • ‫finish_reason: הסיבה לסיום הסשן של ה-VTA

  • ‫captured_variables: משתני הסשן שתועדו על ידי ה-VTA, כל אחד עם הכוונה שתיעדה אותם ומתי הם תועדו. זה שינוי אופציונלי.

התקבלו משתני סשן של העוזר הווירטואלי לעזרה במשימות

אירוע של קבלת משתני סשן של עוזר וירטואלי לעזרה במשימות מתרחש בכל פעם שהעוזר הווירטואלי לעזרה במשימות שולח מטען ייעודי (payload) של משתנה סשן מותאם אישית במהלך הסשן. האירוע כולל את אותם שדות כמו האירוע Virtual Task Assistant left, חוץ מ-finish_reason, והמשתנים שהתקבלו עד עכשיו נשמרים ב-captured_variables.

דוגמה לאירוע Task_VA_Variables_Received:

{
  "type": "Task_VA_Variables_Received",
  "data": {
    "chat_id": 103646,
    "virtual_agent_id": 1,
    "virtual_agent_name": "Order status assistant",
    "participant_id": 1,
    "queue_id": 8469,
    "queue_path": "Developers / Kim",
    "queue_language_id": "en",
    "session_type": "Messaging Inbound (SMS)",
    "conversation_id": "12345",
    "session_id": "78534G4RT4284",
    "timestamp": 1727853590000,
    "data_parameters": {
      "param1": "one"
    },
    "captured_variables": [
      {
        "intent_name": null,
        "variables": {
          "order_number": "A-100"
        },
        "captured_at": "2024-11-15 16:46:31 UTC",
        "timestamp": 1727853590000
      }
    ]
  }
}

רק משתנים שה-capture_type שלהם כולל את event ב-payload של משתנה הסשן בהתאמה אישית של הנציג הווירטואלי נכללים, ומפתחות שמופיעים ב-invisible_to_adapter_events לא נכללים.

חלון קופץ ברקע

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

הקפצת רשומת CRM

האירוע CRM_Record_Pop הוא אירוע בצד השרת שמופעל כשצריך להקפיץ כרטיס. האירוע הזה כולל פרמטר שנקרא recordUrl, שמכיל את כתובת ה-URL של הרשומה ב-CRM. הפרמטר הזה מאפשר לכם להפעיל חלון קופץ על ידי הרשמה לאירועי POST אם אתם משתמשים במתאמים מוטמעים.

דוגמה לאירוע CRM_Record_Pop:

{
  "type": "CRM_Record_Pop",
  "data": {
    "recordUrl": "https://crm.example.com/tickets/4711"
  }
}

לאירוע יש שדה אחד:

  • ‫recordUrl: כתובת ה-URL של הרשומה ב-CRM שרוצים להציג

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

// Replace with the origin of your tenant.
const ADAPTER_ORIGIN = 'https://tenant.loc.ccaiplatform.com'

// name is the html property of the iframe that shows the CRM record
const iframeTarget = document.querySelector('iframe[name="target_iframe_adapter"]')

// example usage of add event listener
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
window.addEventListener('message', (e) => {
  // Only accept events posted by the agent adapter.
  if (e.origin !== ADAPTER_ORIGIN) {
    return
  }

  let message
  try {
    message = JSON.parse(e.data)
  } catch (err) {
    // Not an agent adapter event.
    return
  }

  const { type, data = {} } = message
  console.log('EventListener: ', type)

  switch (type) {
    case 'CRM_Record_Pop': {
      const recordUrl = data.recordUrl
      if (!recordUrl) {
        return
      }
      console.log(`Opening recordUrl in iframe ${iframeTarget.getAttribute('name')}`)

      // changing an iframe target to the record URL pop
      iframeTarget.src = recordUrl
      break
    }
    case 'New_Chat':
      console.log('Chat started...')
      // handling here for New_Chat events
      break
    case 'End_Chat':
      console.log('Chat ended...')
      // handling here for End_Chat events
      break
    default:
      // code handling for other types
      break
  }
}, false)

פתיחת דף של צד שלישי

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

דוגמה לאירוע openThirdPartyPage:

{
  "type": "openThirdPartyPage",
  "data": {
    "thirdPartyKey": "acqueon:12345",
    "callId": 103646
  }
}

אלה השדות של האירוע:

  • ‫thirdPartyKey: המפתח של הצד השלישי שמשויך לשיחה

  • ‫callId: מזהה השיחה