הבעיה נפתרה בשינוי צורת כתיבת הנתיב.
במקום:
ivr/הודעות/startMessage.wav
שיניתי ל:
ivr2:הודעות/startMessage.wav
למרות שלפי התיעוד שתי הצורות תקינות.
הבעיה נפתרה בשינוי צורת כתיבת הנתיב.
במקום:
ivr/הודעות/startMessage.wav
שיניתי ל:
ivr2:הודעות/startMessage.wav
למרות שלפי התיעוד שתי הצורות תקינות.
שלום וברכה,
אני מנסה לבדוק אם קובץ מסויים קיים במערכת, ומחזיר תשובה שהוא לא קיים למרות שהוא כן.
אשמח אם מישהו יוכל לעלות על הבעיה.
זה הקובץ כפי שרואים באתר הניהול (מסומן בצהוב):
אני שולח בקשה כזו:
const { data } = await axios.get(`${url}CheckIfFileExists`, {
params: {
token: `${process.env.YEMOT_USERNAME}:${process.env.YEMOT_PASSWORD}`,
action: "CheckIfFileExists",
path: "ivr/הודעות/startMessage.wav",
},
});
ומקבל תשובה שזה לא נמצא:
{
"responseStatus": "OK",
"yALogsVersion": "4.3.20",
"fileExists": false,
"path": "ivr/הודעות/startMessage.wav"
}
ניסיתי גם להסיר את סיומת הקובץ .wav
מהבקשה, וזה גם לא עזר.
ניסיתי לקבל את רשימת הקבצים בתיקייה באמצעות API ושם כן רואים את הקובץ:
{
"responseStatus": "OK",
"extIni": {
...
},
"thisPath": "הודעות",
"parentPath": "/",
"dirs": [],
"files": [
...,
{
"exists": true,
"name": "startMessage.wav",
"uniqueId": "dbaf4d35abf2bf9a464e2f6ce34553af",
"fileType": "AUDIO",
"size": 40524,
"mtime": "24/04/2025 21:26",
"duration": 2.53,
"durationStr": "00:03",
"customerDid": "0733516400",
"meta": {},
"source": "RecordFromApi",
"date": "24/04/2025 21:25",
"phone": "0527673698",
"ip": null,
"what": "ivr2:הודעות/startMessage.wav"
}
],
"ini": [
{
"exists": true,
"name": "ext.ini",
"uniqueId": "f2d876b630179d29f87a8d0a873ba61b",
"fileType": "INI",
"size": 0,
"mtime": "23/03/2025 23:50",
"what": "ivr2:הודעות/ext.ini"
}
],
"messages": [],
"html": [],
"msgDescriptions": {},
"yemotAPIVersion": 6
}
אשמח אם מישהו ישים לב מה אני מפספס...
תודה מראש
@א-תורת-מרן אז אתה לא צריך API בשביל זה.
תכין רשימת תפוצה עם כל המספרים שמקבלים צינתוק.
הודעת הקמפיין תהיה ההודעה הקבועה שלך.
תגדיר בשלוחה הראשית שישמיע את הודעת הקמפיין פעם אחת. לדוגמא (ישמיע את קמפיין מספר 1 פעם אחת למספרים הפעילים ברשימה זו):
play_campaign_message=yes
play_campaign_message_one_time=yes
campaign_message_to_play=1-ACTIVE-1
בשלוחה שבה אתה מפעיל את הצינתוק תגדיר שיאפס את נתוני ההאזנה להודעת הקמפיין בשלוחה הראשית.
play_campaign_message=yes
campaign_message_delete_file_template_number=1
campaign_message_to_play_file_from_folder=/
@א-תורת-מרן
זו הודעה קבועה? אותה הודעה לכולם?
יש לי מערכת עם כמה רשימות תפוצה. ואני רוצה לתת למנהל אפשרות להוסיף מספר טלפון לרשימת תפוצה שיבחר.
כלומר, שישמע הודעה כמו "נא הקש את מספר רשימת התפוצה אליה ברצונך להוסיף מספר".
אני יודע שאפשר לעשות את זה באמצעות שלוחת תפריט ויצירת שלוחה לכל רשימה,
אבל אשמח לדעת אם ניתן לעשות את זה בשלוחה אחת.
תודה מראש
@עידו תודה רבה! זה מקדם אותי המון!
אשמח אם יש לך רעיון שלא אצטרך ליצור שתי רשימות תפוצה עבור כל כתה (כמו שכתבתי בפוסט הקודם שלי)
@frankle הסתדרת?
אם כן, סמן את הנושא כנפתר.
בהצלחה
יש מורכבות נוספת בפיתרון שלי,
שאם אני רוצה גם לשלוח מידי פעם קמפיין רגיל לכתה ספציפית,
אני לא יכול להשתמש בהודעת הקמפיין של הכתה להשמעת ההודעה "נוסף שיעור חדש בשלוחה X"
אלא אני צריך ליצור קמפיין נוסף לכל כתה [בלי להכניס את מספרי הטלפון שלהם, אלא רק בשביל ההודעה הקבועה].
https://www.call2all.co.il/ym/api/RunTzintuk?token=0777777777:1234&phones=tzl:100,200,300
[שים לב להכניס את מספר המערכת והסיסמה האמיתיים שלך, וכן תחליף את 100,200,300
בשמות/מזהי רשימות התפוצה]
@בעזרת-ה תודה, אבל אז איך המערכת תדע לא להשמיע את ההודעה למתקשר יותר בפעם אחת [עד שיוכנס שיעור חדש]?
דבר שני, מפריע לי בעיקר זה שאני צריך 'להעביר' את המתקשר 8 שלוחות עד התפריט.
@בעזרת-ה הוא יהיה קבוע לכל כיתה.
זאת אומרת, אם יש תוכן חדש בשלוחה 1 הודעה תהיה "נוסף שיעור חדש בשלוחה 1" אם יש בשלוחה 2 ההודעה תהיה "נוסף שיעור חדש בשלוחה 2" וכן הלאה.
הרעיון הוא שכיש תוכן חדש באחת השלוחות, ההורים שיש להם בת באותה שלוחה יקבלו צינתוק,
אך כיון שכאמור יש הורים המשויכים לכמה שלוחות, צריך להודיע להם מאיזו שלוחה יצא הצינתוק.
מצד שני, לא מעניין אותם לשמוע אם יש תוכן חדש בשלוחות אחרות.
@בעזרת-ה השלוחה של התפוצה היא תפריט לכמה שלוחות השמעת קבצים, והצינתוק הוא לכל השלוחות הפנימיות.
זה תפריט שקיים 8 פעמים בקו [כיתות] וזה נשמע לי קצת מורכב ליצור עוד שלוחה פנימית לשם כך ולהעביר לשם את ההשמעות קבצים.
אם לא יהיה לי פיתרון אחר נראה לי שכבר אעדיף להשאיר את זה כך...
הגדרתי את השלוחה כך:
;הרשאת כניסה
check_template_filter=1,9,10
check_template_filter_none_say_error=yes
check_template_filter_none_go_to=/1
;הגדרות פילטר צינתוקים
go_to_from_tzintuk=yes
check_list_tzintuk=1
go_to_from_tzintuk_found=in_extension
go_to_from_tzintuk_blocked=in_extension
go_to_from_tzintuk_invited=in_extension
go_to_from_tzintuk_not_found=in_extension
go_to_from_tzintuk_say_message_according_to_situation=yes
כלומר, זה בודק קודם אם המתקשר נמצא ברשימות תפוצה שהוגדרו, אם לא הוא עובר לשלוחה /1
.
אחר כך זה בודק אם המתקשר נמצא ברשימת צינתוקים (אם לא משמיע לו הודעה).
הבעיה היא שגם מי שלא נמצא ברשימות התפוצה שומע את ההודעה על כך שהוא לא ברשימת הצינתוקים, ורק אחר כך יוצא מהשלוחה.
אני מצפה שמי שלא יכול להיכנס לשלוחה לא יבדוק בכלל אם נמצא ברשימת צינתוקים.
שלום וברכה,
אני בונה מרחב קולי לבית ספר שלם - 8 כיתות.
כל שלוחה היא כיתה - שלוחת תפריט - עם שידור חי, השמעת קבצים והרשמה לצינתוקים חינמיים לשלוחה זו.
שלוחה 9 זה להקלטות של המורות לכיתות שלהם כשבסיום הקלטה וכו' ישלח צינתוק לרשומים לשלוחה זו.
מכיוון שיש הורים רבים שיש להם כמה בנות בבית הספר, אני רוצה שכשחוזרים לקו ישמעו לדוג' "נוסף שיעור חדש בשלוחה X",
אבל שכל הורה ישמע רק הודעות על השלוחות שבהם יש לו ילדים,
לדוג', הורה שיש לו ילדים בכיתות א' וה' ישמע בכניסה לקו רק אם עלו שיעורים חדשים לכיתות אלו.
הפיתרון שחשבתי עליו בינתיים,
go_to_folder
לשלוחה 11 נניחgo_to_folder
לשלוחה 12, עם פילטר לפי רשימת תפוצה של כתה א', ותשמיע את הודעת הקמפיין [שתהיה "יש תוכן חדש בשלוחה 1"]. מי שברשימה ישמע את ההודעה ואז יעבור לשלוחה 12, מי שלא - יעבור מיד לשלוחה 12.אשמח אם למישהו יש פיתרון טוב יותר
@מ-מ-פליישער
שלום וברכה,
בימים האחרונים פיקוד העורך התחיל לשלוח התרעות מקדימות כמה דקות לפני ההתרעה,
האם אפשרי לשלב את זה במודול [אני אישית מעדיף לקבל צינתוק רק על ההתרעה המקדימה]?
תודה מראש
@האחרון-שבעם אתה לא יכול לערוך את הרשימה, אלא רק לאפס אותה.
בשדרוג המערכת רשימת המספרים המחוברים הופכת לרשימת צינתוקים חינמיים. חפש על זה בפורום.
בהצלחה
@Kovy נראה שאתה צריך את מודול API באמצעות מודול זה אתה יכול לעשות כמעט הכל...
אני יודע שיש לזה ספרייה ל-node מאד יעילה, אולי יש גם ל-Python - תחפש בפורום.
שלום וברכה,
אני רגיל ממודול קבלת נתונים, שאם ברצוני לקבל מס' טלפון, אני יכול להגדיר שהמאזין יוכל להזין את המספר שממנו הוא התקשר בהקשה אחת [בערך החמש עשרה והשש עשרה].
אני רוצה את אותו דבר במודול API, אבל שם בערך החמש עשרה יש משהו אחר ואין בכלל ערך שש עשרה.
אני לא יודע אם זה באג, או תכונה חסרה, או שאולי במודול API זה מיותר?
חשבתי אולי להגדיר שהמתקשר יוכל לדלג על השאלה ואז אקח את הנתון מ-ApiPhone, אבל איך המתקשר "אומר" למערכת לדלג על השאלה?
אודה לכל סיוע
@אלי-דובדבן אני לא מכיר את המערכת הזו, אבל אם זה עובד לך - אני שמח.
<?php
// אם לא התקבל פרמטר firstName, בקש אותו
if (!isset($_GET['first_name'])) {
echo 'read=...';
exit;
}
$first_name = $_GET['first_name'];
// אם לא התקבל פרמטר lastName, בקש אותו
if (!isset($_GET['last_name'])) {
echo 'read=...';
exit;
}
$last_name = $_GET['last_name'];
בהצלחה!