• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    קומבינה לשיחה יוצאת עם זיהוי מערכת על בסיס שלוחת API ושלוחת תור החדשה

    מתוזמן נעוץ נעול הועבר נפתר עזרה הדדית למשתמשים מתקדמים
    65 פוסטים 14 כותבים 546 צפיות 7 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • י מנותק
      יוסף חיים 5 @isi
      נערך לאחרונה על ידי

      @isi כתב בקומבינה לשיחה יוצאת עם זיהוי מערכת על בסיס שלוחת API ושלוחת תור החדשה:

      @יוסף-חיים-5 מה זה המודול של עזר פון?

      שיחה יוצאת עם זיהוי המערכת

      תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • א מנותק
        אA @איל משולש
        נערך לאחרונה על ידי

        @איל-משולש
        מעניין מאוד.
        אבל במודול הזה זה לא כך.
        תנסה ותראה.

        א תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • י מנותק
          יהודה צ. כ. @איל משולש
          נערך לאחרונה על ידי

          @איל-משולש כתב בקומבינה לשיחה יוצאת עם זיהוי מערכת על בסיס שלוחת API ושלוחת תור החדשה:

          @אA אני עושה הרשמה לצינתוק חינמי אמצעות מודל הכנסת ערך שמשנה את מספר הרשימה לטלפון של הנכנס, הוי אומר תך רבע שניה זה משתנה

          אני חושב שהסיבה היא מה שכתב שם @cubase שאולי זה שונה קובץ queue מקובץ ext, שבזה באמת לוקח זמן. תראה שם בשרשור שהבאתי, שהיו כמה שכתבו שהם ניסו ול3ח להם זמן.

          תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • א מנותק
            איל משולש @אA
            נערך לאחרונה על ידי

            @אA אולי לא ממש תוך רגע, אני השתמשתי בזה!, בעקרון זה לא עוזר כלום כי זה לא מוחק את הנציג הקודם ואז זה יחייג גם למי שחייג בפעם הקודמת!!!!
            אני השתמשתי בזה ע"י API שהחליף לפני זה את הקובץ הקודם לקובץ חדש (בשביל הגדרות - כמו זיהוי יוצא)

            א תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • א מנותק
              אA @איל משולש
              נערך לאחרונה על ידי

              @איל-משולש
              גם אני עשיתי ככה וזה לא החליף מיד.

              א תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • א מנותק
                איל משולש @אA
                נערך לאחרונה על ידי

                @אA לי זה עבד, אולי לקח איזה שניה של התנה, אני כבר לא זוכר מה בדיוק עשיתי

                תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • C מנותק
                  CUBASE
                  נערך לאחרונה על ידי

                  ראיתי שקצת הסתבכו כאן, אכתוב את הדרך שבה השתמשתי ועובדת לי מצוין ללא השהיות:

                  1.
                  שלוחה 1/

                  type=add_id_to_list
                  title=הקשת מספר לחיוג
                  
                  add_id_to_list_location_list=/1/1/ext
                  
                  add_id_to_list_key=api_add_2
                  
                  add_id_to_list_value_first=contents=announce-position=no%0Aannounce-frequency=0%0Aperiodic-announce-frequency=0%0Aringuse=yes%0Amusicclass=447292_musicclass%0A
                  
                  add_id_to_list_value_type=digits
                  
                  add_id_to_list_value_change=yes
                  
                  add_id_to_list_end_goto=1
                  

                  יש להעלות לשלוחה קובץ M3411 שקט,
                  בשורה 8 אחרי ה-contents= זה ההגדרות בקובץ queue.ini עם %0A במקום ירידת שורה, ניתן לשנות/להוסיף הגדרות כרצונכם.

                  ה-musicclass (מוזיקה בהמתנה) בשורה 8 זה צליל חיוג שיצרתי לו מוזיקה בהמתנה - מערכות בשרת ymta יעבוד להם, אחרים יצטרכו ליצור בעצמם ולשנות בשורה 8.


                  2.
                  שלוחה 1/1/

                  type=api
                  title=שינוי המספר לחיוג בפועל
                  
                  api_link=https://www.call2all.co.il/ym/api/UploadTextFile
                  
                  ;מפתח API
                  api_add_0=token=***
                  
                  api_add_1=what=ivr2:/1/2/queue.ini
                  api_hangup_send=no
                  
                  api_end_goto=../2
                  

                  יש ליצור מפתח API ולשים אותו בשורה 7, ובנוסף להעלות לשלוחה קובץ M1607 שקט.


                  3.
                  שלוחה 1/2/

                  type=routing_queue
                  title=שיחות יוצאות
                  
                  queue_caller_id=customer_did
                  
                  queue_end_continue_goto=hangup
                  

                  כמובן שבשלוחה זו אפשר להוסיף הגדרות כרצונכם.


                  זה הכל, מקווה שיעזור למישהו.

                  ע B 1 3 תגובות תגובה אחרונה תגובה ציטוט 5
                  • ע מנותק
                    עידו @CUBASE
                    נערך לאחרונה על ידי עידו

                    @cubase אין עליך, לא סתם תייגתי אותך (במקור)!
                    בלי לזלזל בכל העונים כמובן

                    תגובה 1 תגובה אחרונה תגובה ציטוט 1
                    • B מנותק
                      BEN ZION @CUBASE
                      נערך לאחרונה על ידי

                      @CUBASE אלוף 🎖 🎖
                      שברתי את הראש איך אני יכול להוסיף כמה ערכים בלי להשתמש בשרת חיצוני

                      תגובה 1 תגובה אחרונה תגובה ציטוט 1
                      • ע עידו סימן נושא זה כנפתר
                      • 1 מנותק
                        1668 @CUBASE
                        נערך לאחרונה על ידי

                        @CUBASE זה אומר לי אין מענה בשרת api
                        (שמתי מפתח של המערכת אולי צריך לזה מפתח ג'ימיני הוא כתב ליצור מפתח איזה??)

                        1 תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • 1 מנותק
                          1668 @1668
                          נערך לאחרונה על ידי

                          וכן זה אומר לי השלוחה אליי ביקשתם לעבור אינה ניתנת להפעלה עקב חוסר בהגדרות אנא פנה למנהל המערכת אם מישהו יכול לעזור לי בזה אני מאוד אשמח!!😃

                          ע תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • ע מנותק
                            עידו @1668
                            נערך לאחרונה על ידי

                            @1668 מבנה השלוחות אצלך הוא ככה:

                            1
                            1/1
                            1/2
                            ?

                            אם לא אז יש אצלך בעיה...

                            בכל מבנה אחר צריך לשנות את הערכים בקוד.
                            צריך כמובן להעלות קבצים לפי מה שכתוב שם.

                            1 תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • 1 מנותק
                              1668 @עידו
                              נערך לאחרונה על ידי

                              @עידו לא!
                              אבל בסוף הסתדרתי תודה 👍👍👍

                              1 ח 2 תגובות תגובה אחרונה תגובה ציטוט 0
                              • 1 מנותק
                                1668 @1668
                                נערך לאחרונה על ידי 1668

                                אני יכול לעשות את ההקשות יותר לאט?? זה מהירות טיל ואני לא מספיק לרשום שום דבר אני אשמח לתשובה! 😃😃👍 תודה

                                1 תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • 1 מנותק
                                  1668 @1668
                                  נערך לאחרונה על ידי

                                  וגם שלא יבקש אישור על המספר אני מאוד אשמח לתשובה תודה רבה! 😃😃😉

                                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • ח מנותק
                                    חזקי ראזנבערג @1668
                                    נערך לאחרונה על ידי

                                    @1668 אני עשיתי נראה לי הכל נכון, וזה אומר לי שגיאה, מה יכול להיות ?

                                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • ע מנותק
                                      עידו
                                      נערך לאחרונה על ידי עידו

                                      עודכן בהודעה הראשונה קובץ שמכין את כל ה"מערכת" הזאת קומפלט עם כל הקבצים השקטים - לא לשים / אני לא יודע מה הוא יעשה עם זה!.
                                      call2all_setup.zip

                                      או

                                      <!DOCTYPE html>
                                      <html lang="he" dir="rtl">
                                      <head>
                                      <meta charset="UTF-8">
                                      <meta name="viewport" content="width=device-width, initial-scale=1.0">
                                      <title>Call2All – יצירת שלוחה</title>
                                      <style>
                                        @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=Heebo:wght@300;400;600;700&display=swap');
                                        :root {
                                          --bg:#0b0e13;--surface:#131720;--surface2:#1a1f2e;--border:#252c3f;
                                          --accent:#3b82f6;--accent-glow:rgba(59,130,246,0.18);
                                          --green:#22c55e;--red:#ef4444;--yellow:#f59e0b;
                                          --text:#dde3f0;--muted:#4a5478;--label:#8892b0;
                                        }
                                        *{box-sizing:border-box;margin:0;padding:0;}
                                        body{background:var(--bg);color:var(--text);font-family:'Heebo',sans-serif;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2.5rem 1rem 4rem;background-image:radial-gradient(ellipse at 60% 0%,rgba(59,130,246,0.07) 0%,transparent 60%);}
                                        header{text-align:center;margin-bottom:2.5rem;}
                                        header h1{font-size:1.5rem;font-weight:700;color:#fff;}
                                        header p{font-size:0.82rem;color:var(--muted);margin-top:0.4rem;font-family:'IBM Plex Mono',monospace;}
                                        .card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.75rem;width:100%;max-width:580px;margin-bottom:1rem;}
                                        .card-title{font-size:0.7rem;font-family:'IBM Plex Mono',monospace;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;display:flex;align-items:center;gap:0.5rem;}
                                        .card-title::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);}
                                        .field-group{margin-bottom:1.1rem;}
                                        label{display:block;font-size:0.78rem;color:var(--label);margin-bottom:0.35rem;}
                                        input[type="text"],input[type="password"]{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:0.88rem;padding:0.6rem 0.85rem;border-radius:7px;outline:none;transition:border-color 0.2s,box-shadow 0.2s;direction:ltr;}
                                        input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}
                                        .hint{font-size:0.72rem;color:var(--muted);margin-top:0.3rem;font-family:'IBM Plex Mono',monospace;}
                                        .run-btn{width:100%;padding:0.8rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:'Heebo',sans-serif;font-size:0.95rem;font-weight:600;cursor:pointer;transition:all 0.2s;margin-top:0.5rem;}
                                        .run-btn:hover{filter:brightness(1.12);transform:translateY(-1px);}
                                        .run-btn:disabled{opacity:0.4;cursor:default;transform:none;}
                                        .steps{width:100%;max-width:580px;display:flex;flex-direction:column;gap:0.5rem;}
                                        .step{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0.85rem 1rem;display:flex;align-items:center;gap:0.75rem;font-size:0.82rem;transition:border-color 0.3s;}
                                        .step.running{border-color:var(--accent);}
                                        .step.done{border-color:rgba(34,197,94,0.4);}
                                        .step.error{border-color:rgba(239,68,68,0.4);}
                                        .step-icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-family:'IBM Plex Mono',monospace;flex-shrink:0;background:var(--surface2);border:1px solid var(--border);color:var(--muted);transition:all 0.3s;}
                                        .step.running .step-icon{border-color:var(--accent);color:var(--accent);animation:spin 1s linear infinite;}
                                        .step.done .step-icon{background:rgba(34,197,94,0.1);border-color:var(--green);color:var(--green);}
                                        .step.error .step-icon{background:rgba(239,68,68,0.1);border-color:var(--red);color:var(--red);}
                                        .step-label{flex:1;color:var(--label);}
                                        .step.running .step-label,.step.done .step-label{color:var(--text);}
                                        .step.error .step-label{color:var(--red);}
                                        .step-status{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;color:var(--muted);}
                                        .log-wrap{width:100%;max-width:580px;margin-top:0.5rem;}
                                        #log{background:#070a0f;border:1px solid var(--border);border-radius:8px;padding:0.9rem 1rem;height:220px;overflow-y:auto;font-family:'IBM Plex Mono',monospace;font-size:0.75rem;line-height:1.8;direction:ltr;}
                                        #log::-webkit-scrollbar{width:3px;}
                                        #log::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
                                        .log-line{display:flex;gap:0.5rem;}
                                        .log-ts{color:var(--muted);flex-shrink:0;}
                                        .log-ok{color:var(--green);}
                                        .log-err{color:var(--red);}
                                        .log-info{color:var(--accent);}
                                        .log-warn{color:var(--yellow);}
                                        @keyframes spin{to{transform:rotate(360deg);}}
                                      </style>
                                      </head>
                                      <body>
                                      <header>
                                        <h1>⚙ Call2All — יצירת שלוחה</h1>
                                        <p>// automated extension setup</p>
                                      </header>
                                      
                                      <div class="card">
                                        <div class="card-title">פרטי חיבור</div>
                                        <div class="field-group">
                                          <label>מספר שלוחה </label>
                                          <input type="text" id="ext" />
                                        </div>
                                        <div class="field-group">
                                          <label>טוקן</label>
                                          <input type="password" id="token" placeholder="הכנס טוקן..." />
                                        </div>
                                        <button class="run-btn" id="runBtn" onclick="startAll()">▶ הפעל תהליך</button>
                                      </div>
                                      
                                      <div class="steps" id="stepsWrap" style="display:none"></div>
                                      
                                      <div class="log-wrap" id="logWrap" style="display:none">
                                        <div id="log"></div>
                                      </div>
                                      
                                      <script>
                                      const WAV_B64="UklGRtQBAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YbABAAAAAAAAAAAAAAEA/v8CAP7/AQAAAAEA/f8DAP7/AQAAAP//AQAAAAAAAAAAAP//AgD+/wMA/f8CAP7/AgD+/wIA/////wMA/P8DAP//AAAAAAEA/v8CAP7/AgD//wAAAAD//wIA/v8CAP7/AQABAP7/AgD+/wIA/v8DAPz/BAD9/wEAAQD+/wIA//8AAAAAAQD+/wMA/f8CAP//AQD//wAAAQD//wEA//8AAAEA//8BAP//AQD+/wIAAAD+/wMA/P8EAP3/AgD//wAAAQD+/wMA/f8CAP//AQD//wAAAQD//wEA//8AAAEA//8BAP//AQD//wEA/v8DAP3/AgAAAP7/AwD9/wMA/f8DAP3/AgAAAP//AAAAAAEA//8BAP7/AQABAAAA//8BAP3/BQD8/wMA/v8AAAEAAAD//wEAAAD//wIA/f8DAP7/AgD+/wEAAAAAAAAAAAAAAP//AgD+/wIA///+/wQA+/8GAPr/BQD9/wEAAQD9/wMA/////wIA/v8AAAIA/f8EAPz/AwD+/wEAAQD9/wQA/P8EAPz/AwD9/wQA/P8EAPz/AwD9/wQA/P8=";
                                      
                                      function ts(){return new Date().toLocaleTimeString('he-IL',{hour12:false});}
                                      
                                      let logEl;
                                      function log(msg,cls='log-info'){
                                        const line=document.createElement('div');
                                        line.className='log-line';
                                        line.innerHTML=`<span class="log-ts">[${ts()}]</span><span class="${cls}">${msg}</span>`;
                                        logEl.appendChild(line);
                                        logEl.scrollTop=logEl.scrollHeight;
                                      }
                                      
                                      function b64toBlob(b64,mime){
                                        const bin=atob(b64),buf=new Uint8Array(bin.length);
                                        for(let i=0;i<bin.length;i++)buf[i]=bin.charCodeAt(i);
                                        return new Blob([buf],{type:mime});
                                      }
                                      
                                      const STEP_DEFS=[
                                        {id:'ext1', label:'יצירת שלוחה – שלב 1 (הקשת מספר)'},
                                        {id:'ext2', label:'יצירת שלוחה – שלב 2 (API link)'},
                                        {id:'ext3', label:'יצירת שלוחה – שלב 3 (routing queue)'},
                                        {id:'wav_root', label:'העלאת קובץ שמע → M3411.wav'},
                                        {id:'wav_sub',  label:'העלאת קובץ שמע → 1/M1607.wav'},
                                      ];
                                      
                                      const stepEls={};
                                      function buildSteps(exts){
                                        const wrap=document.getElementById('stepsWrap');
                                        wrap.innerHTML='';
                                        exts.forEach(ext=>{
                                          STEP_DEFS.forEach(def=>{
                                            const id=`${ext}_${def.id}`;
                                            const div=document.createElement('div');
                                            div.className='step';div.id=id;
                                            div.innerHTML=`<div class="step-icon">○</div><div class="step-label">[${ext}] ${def.label}</div><div class="step-status"></div>`;
                                            wrap.appendChild(div);stepEls[id]=div;
                                          });
                                        });
                                      }
                                      
                                      function setStep(id,state,statusText=''){
                                        const el=stepEls[id];if(!el)return;
                                        el.className=`step ${state}`;
                                        el.querySelector('.step-icon').textContent=state==='running'?'↻':state==='done'?'✓':'✗';
                                        el.querySelector('.step-status').textContent=statusText;
                                      }
                                      
                                      const BASE='https://www.call2all.co.il/ym/api/';
                                      
                                      async function callUpdate(token,params){
                                        const url=BASE+'UpdateExtension?'+new URLSearchParams({token,...params});
                                        log(`→ UpdateExtension path=${params.path}`);
                                        const res=await fetch(url);
                                        const json=await res.json().catch(()=>({responseStatus:'ERROR',message:'parse error'}));
                                        if(json.responseStatus==='OK'){log('← OK','log-ok');}
                                        else{log(`← ERROR: ${json.message||JSON.stringify(json)}`,'log-err');throw new Error(json.message||'API error');}
                                      }
                                      
                                      async function uploadWav(token,path){
                                        log(`→ UploadFile path=${path}`);
                                        const blob=b64toBlob(WAV_B64,'audio/wav');
                                        const fd=new FormData();
                                        fd.append('token',token);fd.append('path',path);
                                        fd.append('file',blob,path.split('/').pop());
                                        const res=await fetch(BASE+'UploadFile',{method:'POST',body:fd});
                                        const json=await res.json().catch(()=>({responseStatus:'ERROR',message:'parse error'}));
                                        if(json.responseStatus==='OK'){log(`← OK (${json.size} bytes)`,'log-ok');}
                                        else{log(`← ERROR: ${json.message||JSON.stringify(json)}`,'log-err');throw new Error(json.message||'Upload error');}
                                      }
                                      
                                      async function processExt(ext,token){
                                        const e=ext.trim();
                                      
                                        setStep(`${e}_ext1`,'running');
                                        try{
                                          await callUpdate(token,{path:`ivr2:${e}`,type:'add_id_to_list',title:'הקשת מספר לחיוג',
                                            add_id_to_list_location_list:`/${e}/1/ext`,add_id_to_list_key:'api_add_2',
                                            add_id_to_list_value_first:'contents=announce-position=no%0Aannounce-frequency=0%0Aperiodic-announce-frequency=0%0Aringuse=yes%0Amusicclass=ztomao%0A',
                                            add_id_to_list_value_type:'digits',add_id_to_list_value_change:'yes',add_id_to_list_end_goto:'1'});
                                          setStep(`${e}_ext1`,'done','200 OK');
                                        }catch(err){setStep(`${e}_ext1`,'error',err.message);throw err;}
                                      
                                        setStep(`${e}_ext2`,'running');
                                        try{
                                          await callUpdate(token,{path:`ivr2:${e}/1`,type:'api',title:'שינוי המספר לחיוג בפועל',
                                            api_link:'https://www.call2all.co.il/ym/api/UploadTextFile',
                                            api_add_0:`token=${token}`,api_add_1:`what=ivr2:/${e}/2/queue.ini`,
                                            api_hangup_send:'no',api_end_goto:'../2'});
                                          setStep(`${e}_ext2`,'done','200 OK');
                                        }catch(err){setStep(`${e}_ext2`,'error',err.message);throw err;}
                                      
                                        setStep(`${e}_ext3`,'running');
                                        try{
                                          await callUpdate(token,{path:`ivr2:${e}/2`,type:'routing_queue',title:'שיחות יוצאות',
                                            queue_caller_id:'customer_did',queue_end_continue_goto:'hangup'});
                                          setStep(`${e}_ext3`,'done','200 OK');
                                        }catch(err){setStep(`${e}_ext3`,'error',err.message);throw err;}
                                      
                                        setStep(`${e}_wav_root`,'running');
                                        try{await uploadWav(token,`ivr2:${e}/M3411.wav`);setStep(`${e}_wav_root`,'done','uploaded');}
                                        catch(err){setStep(`${e}_wav_root`,'error',err.message);throw err;}
                                      
                                        setStep(`${e}_wav_sub`,'running');
                                        try{await uploadWav(token,`ivr2:${e}/1/M1607.wav`);setStep(`${e}_wav_sub`,'done','uploaded');}
                                        catch(err){setStep(`${e}_wav_sub`,'error',err.message);throw err;}
                                      }
                                      
                                      async function startAll(){
                                        const extVal=document.getElementById('ext').value.trim();
                                        const tokenVal=document.getElementById('token').value.trim();
                                        if(!extVal||!tokenVal){alert('נא למלא מספר שלוחה וטוקן');return;}
                                        if(!/^[\d/]+$/.test(extVal)){alert('מספר שלוחה יכול להכיל רק ספרות ו-/');return;}
                                      
                                        const exts=extVal.split('/').map(s=>s.trim()).filter(Boolean);
                                        document.getElementById('stepsWrap').style.display='flex';
                                        document.getElementById('logWrap').style.display='block';
                                        logEl=document.getElementById('log');logEl.innerHTML='';
                                        buildSteps(exts);
                                      
                                        const btn=document.getElementById('runBtn');btn.disabled=true;
                                        log(`מתחיל עבור ${exts.length} שלוח${exts.length>1?'ות':'ה'}: ${exts.join(', ')}`,'log-info');
                                      
                                        let ok=true;
                                        for(const ext of exts){
                                          log(`── שלוחה ${ext} ──`,'log-warn');
                                          try{await processExt(ext,tokenVal);log(`✓ שלוחה ${ext} הושלמה`,'log-ok');}
                                          catch(e){log(`✗ שלוחה ${ext} נכשלה: ${e.message}`,'log-err');ok=false;}
                                        }
                                        log(ok?'✓ הכל הושלם בהצלחה!':'⚠ חלק מהשלוחות נכשלו — בדוק את הלוג',ok?'log-ok':'log-err');
                                        btn.disabled=false;
                                      }
                                      </script>
                                      </body>
                                      </html>
                                      
                                      

                                      ולשמור כHTML

                                      א 2 תגובות תגובה אחרונה תגובה ציטוט 0
                                      • א מנותק
                                        אA @עידו
                                        נערך לאחרונה על ידי

                                        פוסט זה נמחק!
                                        ע תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                        • ע מנותק
                                          עידו @אA
                                          נערך לאחרונה על ידי עידו

                                          @אA כתב בקומבינה לשיחה יוצאת עם זיהוי מערכת על בסיס שלוחת API ושלוחת תור החדשה:

                                          @עידו כתב בקומבינה לשיחה יוצאת עם זיהוי מערכת על בסיס שלוחת API ושלוחת תור החדשה:

                                          ולשמור כPDF

                                          ?

                                          😨
                                          תיקנתי

                                          תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                          • ב מנותק
                                            בעז
                                            נערך לאחרונה על ידי

                                            זה אומר לי אין מענה משרת api
                                            איפה יש קבצים שקטים להורדה
                                            ואיפה לעלות אותם

                                            א C ע 3 תגובות תגובה אחרונה תגובה ציטוט 0
                                            • פוסט ראשון
                                              פוסט אחרון