• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    1. דף הבית
    2. soris1989
    S
    • פרופיל
    • עוקב אחרי 26
    • עוקבים 0
    • נושאים 8
    • פוסטים 75
    • הגבוה ביותר 20
    • שנוי במחלוקת 0
    • קבוצות 0

    soris1989

    @soris1989

    22
    מוניטין
    28
    צפיות בפרופיל
    75
    פוסטים
    0
    עוקבים
    26
    עוקב אחרי
    הצטרף ב- התחבר לאחרונה
    מיקום Israel

    soris1989 הפסק לעקוב עקוב

    הפוסטים הטובים ביותר שנוצרו על ידי soris1989

    • RE: שליחת מייל בphp

      @רק-טוב מה שעשית זה מעולה, רק שבתור המלצה יהיה תמיד עדיף להשתמש ב-PHPMailer מאשר להשתמש ב-mail.

      2e7e6165-a773-4955-9ac2-7cba1b8b11ed-image.png

      פורסם בפורום PHP
      S
      soris1989
    • RE: עזרה לגבי קליקרים

      @אA בשורה משמחת!! זה עובד עם כפל הגדרות:

      clicks_random=02
      clicks_random=1-2,2
      

      תודה רבה!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      S
      soris1989
    • RE: עזרה עם מודול API

      בסופו של דבר השתמשתי ב-session, ונעזרתי בפוסט:
      https://f2.freeivr.co.il/topic/13141/מה-זה-סשן-ואיך-משתמשים-בו/2

      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: הוספת משתנים באופן יזום לבקשה

      @צדיק-תמים כתב בהוספת משתנים באופן יזום לבקשה:

      session_id($_GET['ApiCallId']);

      תודה רבה,
      זה עזר לי מאוד!!

      פורסם בפורום PHP
      S
      soris1989
    • RE: עזרה לגבי קליקרים

      @אA
      ההגדרה הזו מסירה את ההודעה של: "שלוחה 15" בכניסה לשלוחה.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      S
      soris1989
    • RE: הקראת קובץ tts בעת ההמתנה

      @צדיק-תמים קיבלתי, תודה רבה 👍

      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: שליחת מייל בphp

      עדיף להשתמש ב-PHPMailer.

      קודם כל יש להוריד את החבילה באמצעות composer:

      composer require phpmailer/phpmailer
      

      וזה קוד לדוגמא:

      <?php
      use PHPMailer\PHPMailer\PHPMailer;
      use PHPMailer\PHPMailer\Exception;
      
      require 'vendor/autoload.php'; // Include Composer's autoloader
      
      $mail = new PHPMailer(true);
      
      try {
          // SMTP Configuration
          $mail->isSMTP();
          $mail->Host = 'smtp.example.com'; // Replace with your SMTP host
          $mail->SMTPAuth = true;
          $mail->Username = 'your_email@example.com'; // Your email
          $mail->Password = 'your_email_password';   // Your email password
          $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Use `PHPMailer::ENCRYPTION_SMTPS` for SSL
          $mail->Port = 587; // Change to 465 if using SSL
      
          // Sender & Recipient
          $mail->setFrom('your_email@example.com', 'Your Name');
          $mail->addAddress('recipient@example.com', 'Recipient Name');
      
          // Attachments
          $mail->addAttachment('/path/to/file.pdf'); // Example: Attach a PDF
          $mail->addAttachment('/path/to/image.jpg', 'CustomFileName.jpg'); // Rename attachment
      
          // Email Content
          $mail->isHTML(true);
          $mail->Subject = 'Test Email with Attachment';
          $mail->Body = '<h3>Hello,</h3><p>This is a test email with an attachment.</p>';
          $mail->AltBody = 'Hello, This is a test email with an attachment.'; // Plain text fallback
      
          // Send Email
          $mail->send();
          echo 'Email sent successfully!';
      } catch (Exception $e) {
          echo "Email could not be sent. Error: {$mail->ErrorInfo}";
      }
      ?>
      
      
      פורסם בפורום PHP
      S
      soris1989
    • RE: עזרה לגבי קליקרים

      @אופיר מסכים ב-100%.
      היו צריכים לדעתי להפריד את זה ל-2 הגדרות שונות.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      S
      soris1989
    • RE: בקשת POST בC# יוצרת שגיאה

      @צדיק-תמים אני בדקתי, ומה ש@עידו אומר זה אמת.
      יש בעיה בסיריאליזציה ב-C#, אגב, בדקתי את זה ב-postman וזה עובד (עם בקשת POST), ובדקתי את זה גם ב-PHP וזה גם עובד (גם עם בקשת POST).

      אם יש לך השגות על מה שנאמר כאן, אני מזמין אותך לנסות בעצמך את הנ"ל.

      פורסם בבאגים במערכת
      S
      soris1989
    • RE: מדוע נוצרת השגיאה הזו?

      @עידו בניתי גם כן קוד ב-C# וקיבלתי את אותה השגיאה כאשר השתמשתי ב- HttpClient.PostAsync, כנראה שיש בעיה בסיראליזציה של ה-body, והטוקן לא מצליח להיות מתורגם כראוי.

      למרות שנהוג להשתמש ב-POST לצורך יצירת משאבים (קבצים, נתנוים וכד'), כאן השתמשתי ב-HttpClient.GetAsync לצורך עקיפת הבעיה, וזה אכן הצליח ליצור קובץ לשלוחה הרצויה.

      אגב, לצורך שימוש ב-API צריך לבצע 2 בקשות:

      1. הזדהות דרך מתודת קצה Login, לצורך קבלת ה-token.
      2. קריאה למתודת קצה המתאימה (שכאן היא UploadTextFile), תוך כדי השתלת ה-token ב-body או ב-header בהתאם לדוקומנטציה בקישור:
        https://f2.freeivr.co.il/topic/55/api-גישת-מפתחים-למערכות/33?_=1739774721081

      להלן הקוד:

      using Newtonsoft.Json;
      using Newtonsoft.Json.Linq;
      using System;
      using System.Net.Http;
      using System.Text;
      using System.Threading.Tasks;
      
      namespace YemotUploadTextFile
      {
          internal class Program
          {
              static void Main(string[] args)
              {
                  UploadTextFileWithGet().GetAwaiter().GetResult();
                  Console.WriteLine("Done!");
              }
      
      
              static async Task UploadTextFileWithGet()
              {
                  var username = "<username>";
                  var password = "<password>";
      
                  var client = new HttpClient();
      
                  try
                  {
                      // login yemot system for getting token
                      HttpResponseMessage responseJ = await client.GetAsync(
                          $"https://www.call2all.co.il/ym/api/Login?username={username}&password={password}");
      
                      // בדיקת מצב התגובה
                      if (responseJ.IsSuccessStatusCode)
                      {
                          // קריאת התוכן של התגובה
                          string responseContent = await responseJ.Content.ReadAsStringAsync();
                          Console.WriteLine($"Response: {responseContent}");
      
                          var responseObj = JsonConvert.DeserializeObject<JObject>(responseContent);
      
                          if (responseObj["responseStatus"].ToString() == "OK")
                          {
                              // send a get request to upload file on yemot server
                              string token = responseObj["token"].ToString();
                              string what = "ivr2:14/text_file.ini";
                              string contents = "Some test message";
      
                              Console.WriteLine($"Response: {token}");
      
                              client = new HttpClient();
                              var responseJ2 = await client.GetAsync($"https://www.call2all.co.il/ym/api/UploadTextFile?token={token}&what={what}&contents={contents}");
                              // בדיקת מצב התגובה
                              if (responseJ2.IsSuccessStatusCode)
                              {
                                  // קריאת התוכן של התגובה
                                  var responseContent2 = await responseJ2.Content.ReadAsStringAsync();
                                  Console.WriteLine($"Response: {responseContent2}");
                              }
                              else
                              {
                                  Console.WriteLine($"Error: {responseJ2.StatusCode}");
                                  return;
                              }
                          }
                          else
                          {
                              Console.WriteLine($"Error: {responseObj["message"]}");
                              return;
                          }
      
                      }
                      else
                      {
                          Console.WriteLine($"Error: {responseJ.StatusCode}");
                          return;
                      }
      
      
                  }
                  catch (Exception ex)
                  {
                      Console.WriteLine($"Exception: {ex.Message}");
                  }
      
                  await Task.Delay(1000);
                  Console.WriteLine("Async work done!");
              }
          }
      }
      
      
      פורסם בפורום מפתחים API
      S
      soris1989

    פוסטים אחרונים שנוצרו על ידי soris1989

    • RE: האם הסשן נשמר במעבר בין שלוחות?

      @צדיק-תמים אם כך מעולה! כבר כמעט ועברתי לשמירת נתוני קלט שמבוסס DB.

      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: האם הסשן נשמר במעבר בין שלוחות?

      @צדיק-תמים ומה לגבי פרמטרים שהוכנסו לסשן בעת הקלט?
      האם הם נמחקים מהסשן בעת מעבר לשלוחה אחרת?

      פורסם בפורום מפתחים API
      S
      soris1989
    • האם הסשן נשמר במעבר בין שלוחות?

      לאחר שיישמתי אצלי את הקוד כפי שמובא (בצורה מפורטת ומדהימה) במאמר הנ"ל:
      מה זה סשן ואיך משתמשים בו?

      רציתי לדעת האם במעבר בין שלוחות הסשן נשמר או שהוא מאותחל מחדש?

      תודה רבה!

      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: קוד לעתקת קבצים שלא עובד

      @רק-טוב לא כ"כ הבנתי. אתה רוצה להעתיק לשלוחה מסויימת קבצים?

      פורסם בפורום PHP
      S
      soris1989
    • RE: הגדרה בקו כשהשרת מחזיר id_list_message

      @עידו כשאני משתמש ב-read עם פרמטר record, אז מה שמוחזר בבקשה העוקבת זה הניתוב לקובץ שהוקלט.
      ועם הניתוב הזה אתה עושה DownloadFile.

      שם ההקלטה הוא לא קבוע מראש, אלא כחלק מהפרמטרים שאתה מזין ב-read (עבור record), כלומר שם התיקיה ושם הקובץ שבהם אתה שומר את ההקלטה בימות המשיח, וזה שרירותי, כלומר אתה בוחר את הפרמטרים הללו.

      לדוגמא: (קוד להמחשה שבניתי)

      if (!$_GET["target_path_of_name"]) {
          readRecord("t-אנא הקליטו את שמכם בקול ברור, לסיום הקישו סולמית", "target_path_of_name", "", "/6/1", time() . "_caller_name_record");
          exit;
      }
      
      $target_path_of_name=  $_GET["target_path_of_name"];
      
      $audio_stream = post({
         url: 'https://www.call2all.co.il/ym/api/DownloadFile', 
         token: 'username:password',
         path: "ivr2:$target_path_of_name"
      })
      
      $destPath = __DIR__ . '/./audio/' . time() . 'bla.wav';
      
      file_put_contents($destPath, $audio_stream);
      
      function readRecord(
          $prompt,
          $param_name,
          $get_new_value = '',
          $api_dir = '',
          $file_name = '',
          $play_menu = '',
          $save_on_hangup = '',
          $file_exists_record_append = '',
          $min_record_time = '',
          $max_record_time = ''
      ) {
              echo "read=$prompt=$param_name,$get_new_value,record,$api_dir,$file_name,$play_menu,$save_on_hangup,$file_exists_record_append,$min_record_time,$max_record_time";
      }
      
      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: הגדרה בקו כשהשרת מחזיר id_list_message

      @עידו באמצעות שלוחת API באופן הבא:

      1. משתמשים ב- read, ומגדירים שזה יהיה הקלטה (record) שזה בחינם, לעומת voice שעולה 0.4 יחידות.
      2. ההקלטה נשמרת על השרת של ימות המשיח.
      3. אני מוריד את ההקלטה ל-API שלי (שולח בקשה ל-API של ימות המשיח עבור מתודת קצה DownloadFile)
      4. לאחר שהקובץ יורד לשרת שלי, אני שולח את הקובץ לתמלול ב-API צד ג' (open-api, או google api וכו'), זה נקרא transcription.
      5. ה-API צד ג' מחזיר לי את התמלול לשרת שלי.
      6. ומכאן ממשיכים הלאה ב-flow של הקוד.
      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: הגדרה בקו כשהשרת מחזיר id_list_message

      @עידו אז תשנה את מהירות ההקראה:
      https://f2.freeivr.co.il/topic/5646/הסבר-כיצד-ניתן-להקריא-בקול-הרובוט-לשנות-את-קול-הרובוט-ולשנות-את-מהירות-ההקראה-tts?_=1741298640507

      למשל:
      rate=-10

      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: הגדרה בקו כשהשרת מחזיר id_list_message

      @עידו שמעתי את זה. תשים פסיקים בין הודעה להודעה. ככה:

      t=הודעה 1, הודעה 2, הודעה 3
      

      ואתה יודע מה, לא נראה לי שאתה צריך לשים .t (נקודה t) עבור כל הודעה, פשוט תשרשר את זה ותפריד עם פסיק בין הודעה להודעה.

      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: הגדרה בקו כשהשרת מחזיר id_list_message

      @עידו אני מבין אותך גם אני רגיל לטלפון מקשים. בשביל לתמלל טקסטים אני משלב API צד ג' (כמו open ai), והוא מתמלל ממש בזול: $0.006 דולר לדקת תמלול... ו-0.36$ לשעת תמלול...זה ממש זול (לעומת 0.4 יחידות לתמלול בודד בימות המשיח).

      לגבי המערכת, התקשרתי והקלדתי שס, וזה זרק אותי חזרה לתפריט של בחירת הוצאת ספרים.

      פורסם בפורום מפתחים API
      S
      soris1989
    • RE: הגדרה בקו כשהשרת מחזיר id_list_message

      @עידו אני לא בקיא במיפוי של המספרים לאותיות, מה צריך להקיש כדי שזה יתמפה ל-שס?

      פורסם בפורום מפתחים API
      S
      soris1989