Webhook למידע דינמי ב-IVR (מענה קולי)
שירות המידע הדינמי מאפשר לקבל ממערכת המענה הקולי מידע על שיחה בזמן אמת, לשמור אותו בשרת שלך, לקבל החלטות דינמיות, ולהחזיר למערכת הוראה כיצד להמשיך את השיחה. כך ניתן לבנות תסריטי שיחה חכמים, מבוססי נתונים, המגיבים למתקשר לפי מידע ולוגיקה שבשרת שלך. בשונה משאר הממשקים, כאן המערכת פונה אליך: עליך לבנות עמוד בשרת ולהגדיר את כתובתו בשירות.
סקירת ה-Webhook
את שירות המידע הדינמי מגדירים במערכת, ובו מציינים את כתובת העמוד בשרת שלך שאליו תפנה המערכת. בכל פנייה המערכת מעבירה את פרטי השיחה הנוכחית (כגון מספר המתקשר, הספרות שהוקשו, ומשך השיחה), והעמוד שלך יכול לעבד אותם ולהחזיר הוראה כיצד להמשיך.
סוגי הפניות
המערכת יכולה לבצע שלושה סוגי פניות, לפי ההגדרה שתבחר בשירות:
- 1 פנייה מהירה לעדכון, ללא תשובה: המערכת פונה לעמוד עם כל המידע, וממשיכה הלאה מיד בלי להמתין לתשובה. שים לב, חלק מהשרתים אינם מספיקים לעבד פנייה זו, מכיוון שהם סוגרים את החיבור מיד עם סגירתו מצידנו.
- 2 פנייה לעדכון, עם המתנה לאישור: המערכת פונה לעמוד וממתינה לאישור שהפנייה התקבלה. אם לא יתקבל אישור, תישלח התראה במייל על התקלה.
- 3 פנייה לקבלת החלטה: המערכת פונה לעמוד וממתינה לתשובה בפורמט מתאים, שלפיה תדע כיצד להמשיך את השיחה.
הגדרת השירות
- 1 בנה עמוד בשרת שלך שמקבל את הפרמטרים שהמערכת שולחת (ראו טבלאות הפרמטרים למטה) ומחזיר הוראה.
- 2 במערכת מיקרופיי, הגדר שירות מידע דינמי בתסריט המענה הקולי שלך.
- 3 הגדר בשירות את כתובת העמוד, את סוג הפנייה (ללא תשובה / אישור בלבד / קבלת החלטה), ואת פורמט הפנייה: GET (ברירת מחדל) או JSON.
- 4 שמור. מעתה, בכל הפעלת השירות בשיחה, המערכת תפנה לעמוד שהגדרת.
Content-Type: application/json. שתי השיטות מעבירות בדיוק את אותם שדות.
הפרמטרים שהמערכת שולחת
| פרמטר | תיאור |
|---|---|
serviceid | קוד השירות במערכת (קוד אוטומטי שמיוצר לכל שירות וניתן לראותו בדוחות). |
phone | מספר הטלפון של המתקשר. בהודעות קוליות יכיל את המספר אליו יצאה השיחה. |
calltype | סוג הקו שאליו התקשר המשתמש: FREE = שיחות נכנסות, OUT = הודעות קוליות. |
callid | מספר מזהה ייחודי במערכת לשיחה הנכנסת (ייחודי לכל סוג קו, לפי calltype). |
dest | מספר הטלפון שאליו התקשר המשתמש. בהודעות קוליות יכיל את המספר שממנו יצאה השיחה. |
digits | נתון שהמשתמש הקיש בשירות קודם. אם לא הוקש דבר במספר הפעמים המרבי שהוגדר בשירות, יתקבל הערך ERROR. |
lastnum | נתון שנשמר לשדה הראשון. כברירת מחדל שדה זה מחזיר את הערך 0. |
lastnum1 | נתון שנשמר לשדה השני. כברירת מחדל שדה זה מחזיר את הערך 0. |
calldate | התאריך והשעה שבהם התחילה השיחה, בפורמט YYYYMMDDHHMMSS. |
duration | הזמן בשניות שעבר מרגע תחילת השיחה ועד לרגע הנוכחי. |
constdata | נתון קבוע שנשלח על ידך בעת שימוש בממשק לשליחת הודעה קולית. |
taskid | קוד משימה של שליחת הודעות קוליות. פרמטר זה מופיע רק בהודעות קוליות. |
callstatus | מופיע רק בניתוק שיחה של הודעה קולית. ראו טבלת ערכי callstatus למטה. |
ערכי callstatus (בניתוק הודעה קולית)
| ערך | משמעות |
|---|---|
ANSWER | השיחה נענתה. |
NO_ANSWER | השיחה לא נענתה. |
VOICE_MAIL | הגעה לתא קולי (כאשר הופעלה אפשרות זיהוי תא קולי). |
NO_KEY_PRESSED | לא הוקש מקש (כאשר הופעלה אפשרות זיהוי הקשת מקש). |
פרמטרים נוספים: איסוף נתונים
אם ביקשת נתונים מטבלת איסוף נתונים, יישלחו גם הפרמטרים הבאים. המערכת תמיד שולחת את כל הפרמטרים (data1 עד data10 ו-file1 עד file5), כאשר הערך 0 מציין שלא נשמר נתון.
| פרמטר | תיאור |
|---|---|
insertphone | מספר הטלפון שהמשתמש הקיש ונשמר לתוך השדה "מספר טלפון של המשתמש". |
data1 עד data10 | הערכים שנשמרו בטבלה בעמודות של שדה טקסט. |
file1 עד file5 | קישורים להורדת הקבצים שהוקלטו ונשמרו במערכת. |
פרמטרים נוספים: ניתוק ניתוב שיחה
בפנייה שלאחר ניתוק של ניתוב שיחה יישלחו גם הפרמטרים הבאים:
| פרמטר | תיאור |
|---|---|
outdest | מספר הטלפון שאליו נותבה השיחה. |
outfrom | מספר הטלפון שממנו יצאה השיחה מהמערכת. |
outduration | סך הכל זמן השיחה המנותבת, בשניות. |
outcallid | מספר מזהה ייחודי במערכת לשיחה המנותבת. |
outstatus | סטטוס השיחה המנותבת. ראו טבלת ערכי outstatus למטה. |
ערכי outstatus (שיחה מנותבת)
| ערך | משמעות |
|---|---|
ANSWER | השיחה נענתה. |
NO_ANSWER | השיחה לא נענתה. |
ERROR | אירעה שגיאה ביצירת השיחה. |
CANCEL | הלקוח שביקש את השיחה ניתק לפני שהצד השני אישר אותה (בניתוב שיחה מתקדם). |
REJECT | הצד המקבל דחה את השיחה (בניתוב שיחה מתקדם). |
דוגמת פנייה בפורמט GET
אם, לדוגמה, העמוד שהגדרת בשירות הוא https://www.mysite.com/ivr.php, המערכת תפנה אליו כך, עם הפרמטרים משורשרים לכתובת:
GET https://www.mysite.com/ivr.php?get=1&serviceid=12345&phone=0501234567&calltype=FREE&callid=998877&dest=0732222222&digits=1234&lastnum=0&lastnum1=0&calldate=20260610153000&duration=12&constdata=0
דוגמת פנייה בפורמט JSON
בפורמט JSON המערכת שולחת בקשת POST עם גוף JSON המכיל את אותם שדות:
POST https://www.mysite.com/ivr.php
Content-Type: application/json
{"serviceid":"12345","phone":"0501234567","calltype":"FREE","callid":"998877","dest":"0732222222","digits":"1234","lastnum":"0","lastnum1":"0","calldate":"20260610153000","duration":"12","constdata":"0"}התשובה שהעמוד שלך צריך להחזיר
המערכת מצפה לקבל תשובה חוזרת מהעמוד שלך תוך 4 שניות. אם לא מתקבלת תשובה תקינה, המערכת מסמנת זאת כשגיאה בדוחות, ושולחת מייל התראה לכתובת ההתראות הטכניות שבחשבון שלך. בפנייה המתבצעת בניתוק השיחה, המערכת אינה ממתינה לתשובה.
HTTP 200, ולהוציא את התשובה כפלט בלבד (print, echo, response.write) ללא שום פלט נוסף כגון תגיות HTML, רווחים או טקסט אחר.
פורמט GET: הוראות כטקסט
| תשובה | משמעות |
|---|---|
OK | אישור קבלה בלבד (כאשר הוגדר שהפנייה תחזיר אישור בלבד). יש לרשום באותיות גדולות, ללא תגיות, רווחים או טקסט נוסף. |
SERVICE XX YY | הפעל את שירות XX. YY אופציונלי ומכיל נתון שהמערכת תשמור לשדה הראשון (הפרמטר lastnum), עד 50 תווים. נתון ארוך מ-50 תווים לא יישמר. |
END_CALL | סיים את השיחה. |
ERROR | תקלה או שגיאה: המערכת תשמיע הודעת שגיאה קבועה ותסיים את השיחה. |
# אישור בלבד OK # הפעלת שירות, עם נתון לשדה הראשון SERVICE 5012 1234 # סיום שיחה END_CALL
פורמט JSON: הוראות בשדה action
בפורמט JSON, העמוד מחזיר אובייקט JSON. ההוראה נמצאת בשדה action, ובהפעלת שירות מוסיפים את serviceId ואת data (אופציונלי, שווה ערך ל-YY):
// אישור בלבד {"action":"OK"} // הפעלת שירות, עם נתון לשדה הראשון {"action":"SERVICE","serviceId":"5012","data":"1234"} // סיום שיחה {"action":"END_CALL"} // שגיאה {"action":"ERROR"}
SERVICE, השדה data נשמר כנתון יחיד ללא רווחים (עד 50 תווים). אם יש בו רווח, המערכת תשמור רק את החלק שעד הרווח הראשון.
שאלות נפוצות
מה מאפשר שירות המידע הדינמי במענה הקולי?
השירות מאפשר לקבל ממערכת המענה הקולי מידע על שיחה בזמן אמת, לשמור אותו בשרת שלך, לקבל החלטות דינמיות, ולהחזיר למערכת הוראה כיצד להמשיך את השיחה. כך ניתן לבנות תסריטי שיחה חכמים המבוססים על נתונים מהשרת שלך.
אילו סוגי פניות המערכת מבצעת?
שלושה סוגים: פנייה מהירה לעדכון השרת ללא המתנה לתשובה; פנייה לעדכון השרת עם המתנה לאישור; ופנייה לצורך קבלת החלטה כיצד להמשיך את השיחה, שבה המערכת ממתינה לתשובה בפורמט מתאים. את סוג הפנייה בוחרים בהגדרות השירות.
אילו הוראות אפשר להחזיר למערכת?
ניתן להחזיר OK לאישור בלבד, SERVICE עם קוד שירות ונתון אופציונלי כדי להפעיל שירות נוסף, END_CALL כדי לסיים את השיחה, או ERROR במקרה של תקלה. בפורמט JSON ההוראות מוחזרות בשדה action.
תוך כמה זמן צריך העמוד שלי להשיב?
המערכת מצפה לקבל תשובה תקינה תוך 4 שניות. אם לא מתקבלת תשובה תקינה, או אם העמוד אינו מחזיר קוד HTTP 200, המערכת מסמנת זאת כשגיאה בדוחות ושולחת מייל התראה לכתובת ההתראות הטכניות שבחשבון.