• במכירה לפי מק"ט

    עזרה הדדית למשתמשים מתקדמים
    3
    0 הצבעות
    3 פוסטים
    13 צפיות
    י
    יש אפשרות להקראת שם המוצר לפי המסר הקטלוגי (לא חושב שזה מה שאתה צריך) בכל מקרה מצורף קישור: https://f2.freeivr.co.il/topic/7967/הקראת-מוצר-לפי-הכנסת-קוד-מוצר?_=1773148000157
  • 0 הצבעות
    4 פוסטים
    21 צפיות
    פ
    @Ppgishonim כתב בדילוק שניות קדימה ואחורה בזמן ההאזנה לקובץ ב API: אני משמיע קובץ כך, האם יש דרך לדלג 10 שניות קדימה בזמן האזנה ולעשות פעולות כאלה? אם אני מקיש 3 לדוגמה זה פשוט עוצר את ההקלטה returnAction("id_list_message=f-$storedFileName.&read=" . $resumeMenu . "=" . $resumeRead); כרגע אין אפשרות
  • קבלת שיחת SIP

    עזרה הדדית למשתמשים מתקדמים
    6
    0 הצבעות
    6 פוסטים
    24 צפיות
    ע
    @0799222222 אני לא רוצה לחייג למספר אני רוצה לבצע שיחת IP ממרכזיה אחרת למערכת שלי בימות אפשרי?
  • 11 הצבעות
    63 פוסטים
    1k צפיות
    מ
    @אA לא הורדתי ניסיתי שוב, ונראה לי שלא עובד.
  • 0 הצבעות
    14 פוסטים
    108 צפיות
    י
    זה הקוד בJS שבינה כתבה לי const express = require("express"); const mongoose = require("mongoose"); const app = express(); const port = process.env.PORT || 3000; const BASE_URL = "https://yemot-rides.onrender.com/ivr-api"; const mongoURI = process.env.MONGO_URI; // --- חיבור ל-MongoDB --- mongoose.connect(mongoURI, {useNewUrlParser:true, useUnifiedTopology:true}) .then(()=>console.log("Mongo connected")) .catch(err=>console.log("Mongo error:", err)); // --- מודלים --- const userSchema = new mongoose.Schema({ phone: {type:String, required:true, unique:true}, name_recorded: {type:Boolean, default:false}, createdAt: {type:Date, default:Date.now} }); const rideSchema = new mongoose.Schema({ type: {type:String, enum:["driver","passenger"], required:true}, driver_phone: {type:String, required:true}, direction: String, time: String, seats: String, note_id: String, createdAt: {type:Date, default:Date.now, expires:10800} }); const User = mongoose.model("User", userSchema); const Ride = mongoose.model("Ride", rideSchema); // --- מסלול IVR --- app.get("/ivr-api", async (req,res)=>{ const ApiPhone = req.query.ApiPhone || req.query.phone; const {ApiDigits, action, t, d, tm, s, r_id} = req.query; if(!ApiPhone || ApiPhone==="anonymous"){ return res.send("say=t-לא ניתן לזהות את מספר הטלפון&goto_all_endpoints=exit"); } try { // --- בדיקה אם המשתמש רשום --- let user = await User.findOne({phone: ApiPhone}); if(!user){ user = await User.create({phone: ApiPhone}); } // --- הקלטת שם מיידית --- if(!user.name_recorded && action!=="reg"){ const recName = `name_${ApiPhone}`; return res.send( `say=t-שלום! הקליטו את שמכם לאחר הצליל וסיימו בסולמית`+ `&record=${recName},1,10,no,no`+ `&go_to=${BASE_URL}?action=reg` ); } if(action==="reg"){ await User.updateOne({phone:ApiPhone},{name_recorded:true}); return res.send(`say=t-ההרשמה הושלמה&go_to=${BASE_URL}?action=main`); } // --- תפריט ראשי --- if(!action || action==="main"){ return res.send( `read=t-לנהגים הקישו 1 לנוסעים הקישו 2 למחיקת פרסומים הקישו 3`+ `=digits,1,1,1,7,yes,no&action=h_main` ); } if(action==="h_main"){ if(ApiDigits==="1") return res.send(`go_to=${BASE_URL}?action=d_menu`); if(ApiDigits==="2") return res.send(`go_to=${BASE_URL}?action=p_menu`); if(ApiDigits==="3") return res.send(`go_to=${BASE_URL}?action=del`); return res.send(`go_to=${BASE_URL}?action=main`); } // --- נהג --- if(action==="d_menu"){ return res.send( `read=t-לפרסום נסיעה הקישו 1 לשמיעת בקשות נוסעים הקישו 2`+ `=digits,1,1,1,7,yes,no&action=h_d` ); } if(action==="h_d"){ if(ApiDigits==="1") return res.send(`go_to=${BASE_URL}?action=sel_dir&t=driver`); if(ApiDigits==="2") return res.send(`go_to=${BASE_URL}?action=list&list_t=passenger`); return res.send(`go_to=${BASE_URL}?action=main`); } // --- נוסע --- if(action==="p_menu"){ return res.send( `read=t-לבקשת נסיעה הקישו 1 לשמיעת נהגים הקישו 2`+ `=digits,1,1,1,7,yes,no&action=h_p` ); } if(action==="h_p"){ if(ApiDigits==="1") return res.send(`go_to=${BASE_URL}?action=sel_dir&t=passenger`); if(ApiDigits==="2") return res.send(`go_to=${BASE_URL}?action=list&list_t=driver`); return res.send(`go_to=${BASE_URL}?action=main`); } // --- בחירת כיוון --- if(action==="sel_dir"){ return res.send( `read=t-מירושלים לבני ברק הקישו 1 מבני ברק לירושלים הקישו 2`+ `=digits,1,1,1,7,yes,no&action=h_dir&t=${t}` ); } if(action==="h_dir"){ if(t==="driver"){ return res.send( `read=t-הקישו שעת יציאה בארבע ספרות`+ `=digits,4,1,4,7,yes,no&action=set_time&t=${t}&d=${ApiDigits}` ); } return res.send(`go_to=${BASE_URL}?action=finish&t=${t}&d=${ApiDigits}`); } if(action==="set_time"){ return res.send( `read=t-הקישו מספר מקומות פנויים`+ `=digits,1,1,2,7,yes,no&action=finish&t=${t}&d=${d}&tm=${ApiDigits}` ); } // --- שמירה סופית --- if(action==="finish"){ await Ride.create({ type:t, driver_phone:ApiPhone, direction:d, time:tm, seats:ApiDigits }); return res.send(`say=t-הפרסום נשמר בהצלחה&go_to=${BASE_URL}?action=main`); } // --- רשימות --- if(action==="list"){ const listT = req.query.list_t; const items = await Ride.find({type:listT}).sort({createdAt:-1}).limit(1); if(items.length===0) return res.send(`say=t-אין כרגע פרסומים&go_to=${BASE_URL}?action=main`); const item = items[0]; let msg = "t-פרסום נסיעה. ."; if(item.time) msg+=`t-בשעה ${item.time}. .`; if(item.seats) msg+=`t-${item.seats} מקומות פנויים. .`; msg+="t-לחיוג הקישו 0 לחזרה הקישו 2"; return res.send(`read=${msg}=digits,1,1,1,7,yes,no&action=list_opt&r_id=${item._id}`); } if(action==="list_opt"){ if(ApiDigits==="0"){ const ride = await Ride.findById(r_id); if(ride) return res.send(`dial=${ride.driver_phone}`); } return res.send(`go_to=${BASE_URL}?action=main`); } // --- מחיקה --- if(action==="del"){ const count = await Ride.countDocuments({driver_phone:ApiPhone}); if(count===0) return res.send(`say=t-אין לכם פרסומים פעילים&go_to=${BASE_URL}?action=main`); return res.send(`read=t-נמצאו ${count} פרסומים למחיקה הקישו 7=digits,1,1,1,7,yes,no&action=del_ok`); } if(action==="del_ok" && ApiDigits==="7"){ await Ride.deleteMany({driver_phone:ApiPhone}); return res.send(`say=t-הפרסומים נמחקו&go_to=${BASE_URL}?action=main`); } return res.send(`go_to=${BASE_URL}?action=main`); } catch(err){ console.log(err); return res.send(`say=t-תקלה זמנית במערכת&goto_all_endpoints=exit`); } }); app.listen(port,()=>console.log("Server running on port", port));
  • קוד שאלון בדיגיקול

    שאלות ועזרה הדדית
    7
    0 הצבעות
    7 פוסטים
    208 צפיות
    S
    @נחמיה-הרעב זה מה שמוגדר אצלי וזה עובד... תבדוק אצלך שמתי את הקוד שלך כבר type=digi_call title=שאלון קוד שאלון digi_call_questionnaire_code=2eURIrslgLd77cO1lQgv8qLC9fvoPNCk קוד api digi_call_verification_code_api=סיסמא לדיגיקול אישור digi_call_play_the_confirmation_number=no סיום digi_call_end=/
  • קבלת קובץ ext.ini בפקודה אחת

    פורום מפתחים API
    1
    0 הצבעות
    1 פוסטים
    16 צפיות
    אין תגובות
  • רשימה שחורה

    נפתר שאלות ועזרה הדדית
    12
    0 הצבעות
    12 פוסטים
    30 צפיות
    נ
    @לימוד-בתורת-מרן ?
  • 0 הצבעות
    20 פוסטים
    27 צפיות
    ק
    אין אפשרות להעלות אקסל בשאלון חדר ועידה?
  • איך יוצרים רשימת צינתוקים?

    שאלות ועזרה הדדית
    12
    0 הצבעות
    12 פוסטים
    650 צפיות
    B
    @יוסי-שלום נהוג פה לא להקפיץ נושאים ישנים אתה יכול לפתוח נושא חדש יוצרים קובץ בשם PhonesName.ini מעלים לשלוחה ראשית כותבים בו לדוגמא משה כהן=0556789456
  • הבנתי שיש שלוחה להקראה מגוגל שיטס...

    שאלות ועזרה הדדית
    22
    0 הצבעות
    22 פוסטים
    164 צפיות
    B
    @מאיר-מלמד אתה צריך שמהרישום במערכת יתמלא שיטס?
  • מספר 1-700 - למי שיש פרטים, שיכנס!!!

    שאלות ועזרה הדדית
    34
    0 הצבעות
    34 פוסטים
    376 צפיות
    א
    לא ראיתי שמישהו כתב... אבל אפשר לקבל מספר 1700 בתשלום של 59 ש"ח לחודש, בשירות הלקוחות, ככה אמרו לי בשיחה עם נציג. אולי קווים גדולים שמכניסים X יכולים לקבל גם בלי זה (?)... לגבי דמי קישורית, הנציגה שענתה לא ידעה להגיד לי, מה שכן נקודה למחשבה - אם אין רווח של דמי קישורית, אז מה זה משנה כמה דקות הקו מכניס, מילא זה לא משנה, מה שמשנה זה רק משנה כמה שיחות נכנסות (וממילא כמה השמעת פרסומות) הקו מכניס. יכול להיות קו תוכן (נייעס פודקאסטים וכדו') שמכניס המון דקות במקביל לקו מידע (כמו קל קו וכדו') שלא מכניס הרבה דקות, כמו כמות השיחות נכנסות שיש לו. לכן אם יש הטבה לקווים עם שמכניסים הרבה דקות, אולי זה סיבה לחשוב שגם יש דמי קישורית. מ.ש.ל.
  • 0 הצבעות
    6 פוסטים
    24 צפיות
    H
    @uri לא עבדתי איתה עדין. סורי
  • מהפך במנוע הצינתוקים

    עזרה הדדית למשתמשים מתקדמים
    40
    2 הצבעות
    40 פוסטים
    511 צפיות
    H
    @יענקי-פולק מזה צינתוק פשוט ? צינתוק דרך האתר זה עובד
  • 0 הצבעות
    3 פוסטים
    34 צפיות
    ה
    @אA כשנכנסים לשלוחה 3 ישמעו שקט אבל ברגע שיש הודעה חדשה בשלוחה 1 ישמעו את ההודעה ויחזרו לשמוע שקט - ממש כמו גל שקט ששומעים שקט ואם יש אזעקה זה משמיע וחוזר להיות שקט...
  • 0 הצבעות
    3 פוסטים
    17 צפיות
    ע
    כנראה הבאג הוא בגלל השלוחה הנ"ל, אולי בגלל השם של הקובץ, אנ ילא יודע, כי אם אני מוריד את הקובץ ומעלה אותו מחדש עם שם רגיל שומעים אותו כמו שצריך. @שמואל (אני מנסה להשיג אותך במייל כמה וכמה פעמים ואין תגובה) @אלחנן1
  • 0 הצבעות
    21 פוסטים
    46 צפיות
    א
    @אA מעניין אני ניסיתי לחפש ולא הצלחתי... על כל פנים תודה עצומה. עזרת לי מאוד!
  • 0 הצבעות
    2 פוסטים
    20 צפיות
    פ
    @בלויא אתה יוכל להגדיר לפני השלוחה שפותחת את חדר הועידה להגדיר הפעלת קמפיין צינתוק ולאחר מכן לעבור לשלוחה להפעלת שידור חי
  • 2 הצבעות
    43 פוסטים
    286 צפיות
    מ
    @קו-המוסיקה כתב בהתראות פיקוד העורף אוטומטי בקו: @מוטי-מוטי-מוטי אני משאר לעצמי שלא קראת ת׳נושא... צודק, סליחה, לא קראתי במדויק, עברתי על זה ברפרוף.
  • קוד אישי

    שאלות ועזרה הדדית
    29
    0 הצבעות
    29 פוסטים
    517 צפיות
    י
    @אA השמחה היה מוקדם מידי עדיין לא הצלחתי