@33064325 כתב בשאלה | האם ניתן להוסיף הגדרה בשלוחת השמעת קבצים שלפני ההודעה יושמע מתי הוקלטה ההודעה:
זה כבר לא זמין הקישור הזה
תכל'ס זה אפשרי דרך המערכת?
(וכן אני יודע שזה אפשרי דרךAPI)
@33064325 כתב בשאלה | האם ניתן להוסיף הגדרה בשלוחת השמעת קבצים שלפני ההודעה יושמע מתי הוקלטה ההודעה:
זה כבר לא זמין הקישור הזה
תכל'ס זה אפשרי דרך המערכת?
(וכן אני יודע שזה אפשרי דרךAPI)
שלום וברכה
האם אפשר להגדיר למשוך נתונים מymgr רק מתאריך מסויים?
כי הקובץ עצמו ענק מאוד ואני לא צריך את הכל
תודה רבה
@כוספים-למשיח כתב בשגיאה בהעלת קובץ למערכת בAPI:
@לעזור-לכולם כתב בשגיאה בהעלת קובץ למערכת בAPI:
uploadUrl
זה התגובה
ה-URL לשליחה הוא: https://www.call2all.co.il/ym/api/UploadFile?token=TOKEN&path=ivr2%3A%2F4%2F9%2F2
אני עדיין מקבל את השגיאה
path is invalid
למה זה קורה
ומה צריך לעשות כדי לתקן את זה?
@לעזור-לכולם כתב בשגיאה בהעלת קובץ למערכת בAPI:
uploadUrl
זה התגובה
ה-URL לשליחה הוא: https://www.call2all.co.il/ym/api/UploadFile?token=TOKEN&path=ivr2%3A%2F4%2F9%2F2
@לעזור-לכולם כתב בשגיאה בהעלת קובץ למערכת בAPI:
@כוספים-למשיח
בשורה 72 תוסיף פרמטר path ואת המשתנה uploadPath
כתבתי כך
const uploadUrl = `${url_yemot_api}UploadFile?token=${token_yemot}&path=${encodeURIComponent(uploadPath)}`; // שליחת token ו-path ב-URL
וקיבלתי את התגובה הבאה
path is invalid
@לעזור-לכולם כתב בשגיאה בהעלת קובץ למערכת בAPI:
@כוספים-למשיח
תצרף את path ל url
תוכל לכוון אותי יותר מעשי איך בדיוק
@MGM-IVR כתב בשגיאה בהעלת קובץ למערכת בAPI:
@כוספים-למשיח כתב בשגיאה בהעלת קובץ למערכת בAPI:
אבל הנתיב מוגדר כמו שצריך
אנחנו לא רואים את הנתיב מהקוד שלך,
זה עונה על התיעוד?path | נתיב להעלאה | חובה |
עבור העלאת קבצים לתיקיות במערכת יש לציין בהתחלה ivr2: ולאחר מכן את הנתיב המלא. למשל לקובץ 000.wav בתיקייה 5 הנתיב יהיה ivr2:5/000.wav. שימו לב שבהעלאה רגילה חובה לציין את שם הקובץ הרצוי, בהעלאה עם מספור אוטומטי (ראה להלן) יש לציין את התיקייה בלבד
זה נמצא בתא B5
וזה מה ששמתי שם
ivr2:/4/9/2
שלום וברכה
אני מנסה לעלות קובץ למערכת דרך גוגל סקריפט אני משתמש בקוד הבא
let url_yemot_api = `https://www.call2all.co.il/ym/api/`;
function test_token() {
let token_yemot = SpreadsheetApp.getActiveSheet().getRange('settings!B6').getValue();
try {
let req = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}GetSession?token=${token_yemot}`));
Logger.log("test_token.req=" + req.responseStatus);
if (req.responseStatus === 'OK') {
Logger.log("it's ok");
} else {
Logger.log("Token is not valid, attempting to login again.");
login_token(); // קורא שוב לפונקציה login_token לקבלת טוקן חדש
}
} catch (e) {
Logger.log("Exception: " + e.message);
login_token(); // אם קרה שגיאה בביצוע הבקשה, ננסה להתחבר מחדש
}
}
function login_token() {
let user = SpreadsheetApp.getActiveSheet().getRange('settings!B2').getValue();
let password = SpreadsheetApp.getActiveSheet().getRange('settings!B3').getValue();
let req;
let counter = 0;
while (req === undefined || req.responseStatus !== "OK") {
req = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}Login?username=${user}&password=${password}`));
Logger.log(req.responseStatus);
counter++;
if (counter >= 5) {
break;
}
}
if (counter >= 5) {
let recipient = Session.getActiveUser().getEmail();
let fileName = SpreadsheetApp.getActiveSheet().getParent().getName();
let fileUrl = SpreadsheetApp.getActiveSheet().getParent().getUrl();
let owner = SpreadsheetApp.getActiveSheet().getParent().getOwner().getEmail();
return;
}
Logger.log("req.token=" + req.token);
SpreadsheetApp.getActiveSheet().getRange("settings!B6").setValue(req.token);
}
function uploadFileToServer() {
// בדוק אם הטוקן תקף לפני שליחת הקובץ
test_token();
let token_yemot = SpreadsheetApp.getActiveSheet().getRange('settings!B6').getValue();
// אם הטוקן לא תקף, הפונקציה test_token() צריכה להוציא טוקן חדש
if (!token_yemot) {
Logger.log("Token is not valid, cannot upload file.");
return;
}
// פרטי הקובץ לשליחה
const fileId = SpreadsheetApp.getActiveSheet().getRange('settings!B4').getValue(); // מזהה הקובץ בגוגל דרייב
const uploadPath = SpreadsheetApp.getActiveSheet().getRange('settings!B5').getValue(); // נתיב ושם קובץ בשרת
// אפשרות נוספת להוסיף פרמטרים נוספים במקרה הצורך
const convertAudio = 1; // המרת אודיו לפורמט WAV
const autoNumbering = true; // האם להפעיל מיספור אוטומטי (במקרה שה-API תומך בכך)
const tts = 0; // הצהרה על קובץ tts
try {
// שליפת הקובץ מ-Google Drive
const file = DriveApp.getFileById(fileId);
const blob = file.getBlob();
// שליחת הקובץ לשרת עם הטוקן ופרמטרים נוספים
const uploadUrl = `${url_yemot_api}UploadFile?token=${token_yemot}`; // שליחת הטוקן כ-parameter ב-URL
const uploadPayload = {
path: uploadPath, // נתיב היעד בשרת
convertAudio: convertAudio, // המרת האודיו לפורמט WAV
autoNumbering: autoNumbering, // הוספת מיספור אוטומטי (אם נדרש)
File: blob // הקובץ עצמו
};
const uploadOptions = {
method: "post",
headers: {
"Authorization": `Bearer ${token_yemot}` // שליחת הטוקן כ-Bearer Token ב-header
},
payload: uploadPayload,
contentType: "multipart/form-data"
};
const uploadResponse = UrlFetchApp.fetch(uploadUrl, uploadOptions);
const uploadData = JSON.parse(uploadResponse.getContentText());
if (uploadData.responseStatus === "OK") {
Logger.log("הקובץ הועלה בהצלחה! נתיב: " + uploadData.path);
} else {
Logger.log("שגיאה בהעלאת הקובץ: " + uploadData.message);
}
} catch (e) {
Logger.log("שגיאה: " + e.message);
}
}
והתגובה שאני מקבל זה
path is required
הבנתי שהבעייה זה בהגדרת הנתיב
אבל הנתיב מוגדר כמו שצריך
שיחקתי עם זה קצת ושום דבר לא עזר
אשמח לקבל את הכוונת חברי הפורום
תודה רבה
שלום וברכה
אני משתמש הרבה במודל מרכזיה עסקית (חייגן מהדפדפן)
ומשום מה היום אני לא מצליח כלל לשמוע את מי שנמצא בצד השני של הקו
יש לציין שאם מתקשרים אני כן שומע צילצול אולם אני לא מצליח לשמוע את הבן אדם שמעבר לקו כדי לוודאות שזה באמת הבעייה הוצאתי שיחות למספר קווים וכמובן נענתה השיחה אולם לא שומעים כלום
מישהו יודע למה זה קורה?
ואיך ניתן לפתור את זה?
@מנסה אם אני רוצה שהקישור ימחק את הקובץ
מה אני אמור לכתוב?
תודה רבה
@תפארת-יעקבב כתב בשינוי רובוט הקראה בוירטואל פלוס:
@כוספים-למשיח
לכאורה ככל הידוע לי מניסיונות שונים
הוא לא יתן לך ליצור (כמובן שהוא יצור לך את הקובץ אבל זה פייק)
ההגדרות היחידות שאפשר לשחק שם עיין כאן
הקישור שהבאת הוא לכאורה לא קשור כי זה למערכת רגילה להגדיר שם מספר אישי
אני מתכוון לוירטואל פלוס רגיל
אוליי למישהו פה יהיה לו תשובה
@יוסף-ח כתב בשינוי רובוט הקראה בוירטואל פלוס:
@כוספים-למשיח כתב בשינוי רובוט הקראה בוירטואל פלוס:
שלום וברכה
אני רוצה לשנות את רובוט ההקראה של הסמסים בוירטואל פלוס
באתר החדש יש אפשרות לערוך קבצי INI של המערכת השאלה היא איפה אני מכניס באיזה קובץ
תודה רבהבקובץ
ivr.ini
שנמצא בשלוחה הראשית
לא קיים בוירטואל פלוס
ליצור אותו?
לא יעשה בעיות?
שלום וברכה
אני רוצה לשנות את רובוט ההקראה של הסמסים בוירטואל פלוס
באתר החדש יש אפשרות לערוך קבצי INI של המערכת השאלה היא איפה אני מכניס באיזה קובץ
תודה רבה
@מנסה
BARD נתן את זה
=IMPORTDATA("http://call2all.co.il/ym/api/UploadTextFile?token=0773111555:123456&what=ivr2:/144/5/M0000.tts&contents="&A1&"&)
ואם רוצים לקחת טקסט מכמה תאים צריך את הנוסחה הזאת
=TEXTJOIN(",",TRUE,A3:A50)
תודה רבה
@מנסה כתב בהקראת טקסט מתא בגוגל שיטס:
זה הרבה יותר מסובך
הצורה היותר קלה היא להגדיר שבכל עדכון של התא זה יעלה למערכת את הנתון לקובץ TTS מסוים שתגדיר מראש
הנוסחא להעלאה היא
http://call2all.co.il/ym/api/UploadTextFile?token=0773111555:123456&what=ivr2:/144/5/M0000.tts&contents="&R1
תא R1 מכיל את הטקסט המשתנה
בנוסחא עצמה תכניס מס' מערכת וסיסמה
ואת הנתיב לקובץ שתרצה להעלות אליותוכל להשתמש בפונקציית IMPORTDATA(T1)=
בכדי להעלות את הנתון [T1 הוא התא שמכיל את הנוסחה המלאה...]
עשיתי כמו כתבת אבל נוצר לי קובץ בלי הטקסט עצמו רק עם גרשיים
ככל הנראה זה לא זיהה שהוא אמור לקבל נתונים מתא מסויים
אוליי יש איזה טעות קטנה
אשמח לעזרתך