הפעלת קמפיין דרך סקריפט
-
יש לי קוד להעלאה של קבצים לימות המשיח המערכת מקבלת את הקובץ בשלוחה הנכונה, משמעיה אותו כשמחייגם ומקישים על השלוחה הנכונה אך כשהמערכת מפעילה את הקמפיין דרך הסקריפט היא שותקת, למרות שהגדרתי את הקמפיין לשלוחה הנכונה
const YEMOT_SYSTEM_PHONE = '07****'; // מספר המערכת שלך בימות המשיח const YEMOT_PASSWORD = '****'; // הסיסמה שלך לימות המשיח const SHEET_NAME = 'avodot'; // שם הלשונית המדויק באקסל const RANGE_NAME = 'A1'; // התא ממנו המערכת קוראת את הטקסט // כתובות ה-API של ימות המשיח const YEMOT_UPLOAD_URL = "https://www.call2all.co.il/ym/api/UploadFile"; const YEMOT_DIAL_URL = "https://www.call2all.co.il/ym/api/RunCampaign"; function triggerOutgoingCall() { const TARGET_PHONE = '05****'; // מספר הטלפון אליו תרצי שהמערכת תחייג const textToSay = 'עבודות לביצוע בדיקה סופית בהצלחה'; // 1. הדביקי כאן את הטוקן המלא והתקין שלך (השאירי את הגרשיים) const TOKEN = '*****'; // הגדרת נתיב התיקייה בלבד (בלי שם הקובץ) const folderPath = "ivr2:6"; try { // שלב א': יצירת קובץ שמע מהטקסט באמצעות גוגל תרגום logMessage("מייצר קובץ שמע מהטקסט..."); const ttsUrl = "https://translate.google.com/translate_tts?ie=UTF-8&tl=he&client=tw-ob&q=" + encodeURIComponent(textToSay); const audioBlob = UrlFetchApp.fetch(ttsUrl).getBlob().setName("000.wav"); // שלב ב': העלאת הקובץ עם הפרמטרים המופרדים שהשרת דורש uploadSmallFile(audioBlob, TOKEN, folderPath); // שלב ג': הפעלת חיוג הקמפיין והפניה לשלוחה 6 logMessage("מפעיל את חיוג הקמפיין..."); const dialPayload = { token: TOKEN, template: '426588', phones: TARGET_PHONE, blending: 'no', extension: 'ivr2:6' // מפנה ישירות לתוך שלוחה 6 בשרת ivr2 }; const dialOptions = { method: 'post', payload: dialPayload, muteHttpExceptions: true }; const dialResponse = UrlFetchApp.fetch(YEMOT_DIAL_URL, dialOptions); logMessage("תשובת שרת חיוג סופית: " + dialResponse.getContentText()); } catch (error) { logMessage(`שגיאה בתהליך המשולב: ${error.toString()}`, 'error'); } } /** * פונקציית העלאה מתוקנת לפי דרישות השרת לפרמטר path */ function uploadSmallFile(blob, token, path) { logMessage(`מעלה קובץ שמע כ-000.wav לתיקייה: ${path}`); try { const options = { method: 'post', payload: { token: token, convertAudio: 'true', path: path, // ⭐️ התיקון: שליחת התיקייה בלבד (למשל ivr2:6) qqfile: blob, qqfileName: "000.wav" // הגדרת שם הקובץ הסופי שייווצר בשרת }, muteHttpExceptions: true }; const response = UrlFetchApp.fetch(YEMOT_UPLOAD_URL, options); logMessage(`תשובת שרת העלאה: ${response.getContentText()}`); if (response.getResponseCode() !== 200 || response.getContentText().includes('"responseStatus":"ERROR"')) { throw new Error(`העלאת הקובץ נכשלה: ${response.getContentText()}`); } logMessage(`הקובץ 000.wav הועלה ועודכן בהצלחה בשרת!`); } catch (error) { logMessage(`שגיאה בפונקציית העלאת קובץ: ${error.toString()}`, 'error'); throw error; } } // פונקציית עזר לרישום לוגים function logMessage(message, type) { Logger.log(`[${type || 'info'}] ${message}`); }