@קו-לקו-0
פשוט, גאוני ומדהים
תודה רבה
הודעות שפורסמו על ידי chaim7
-
RE: האם יש איך לפטור את הזמן של טעינת tts במערכת
-
RE: האם יש איך לפטור את הזמן של טעינת tts במערכת
@קו-לקו-0
למה? הרי כל המרה לדיבור המערכת שולחת קובץ ומקבלת קובץ כנגד וזה לכאורה יותר פעולות ויותר עצירות- לא??
(מחקתי את הפוסט בו התלוננתי על זמן ארוך בהמרה כי אמנם יש עיכוב שהייתי שמח שלא היה, אבל כשגירדתי את את ההקלטות בלי שום שקט, זה בהחלט סביל ולא מצדיק להרים את כל המומחים בערב חג בשביל זה....)
בכל מקרה תודה על ההתייחסות וההשתדלות לעזור
כל הכבוד!!!! -
RE: איך להעלות קבצים מהשרת?
@מנסה
אחרי שישבתי שעות ארוכות על העלאה של קובץ ואחרי עשרות כשלונות גיליתי שהקובץ משום מה הפך ל0.1 קילובייט וזה גרם לי שגיאה
תכלס - מה אשיב לה' [המדרש בילקוט שמעוני כותב 'חביב עלי חסד שאתם עושים זה עם זה יותר מזבחי שלמה המלך(הושע תקכב)]-
ע"כ מצורף שיפוץ של הקוד הבהיר של @mgm-ivr ו @מנסה הצדיקים .
אני כל כך רוצה גם לתרום משהו....
אז פשוט הוספתי הודעות של הפרטים החשובים עד שהגעתי למצוא את מקור השגיאה אצלי, ובעז"ה שיהיה לתועלת לאחרים.<?php $token = "0799*****:*****"; $path_in_yemot="ivr2:1/"; $New_file_name_to_yemot = "A123.wav"; $fileUpload="recording/A123.mp3"; //קריאה לפונקציה והוספתי האן עוד פרמטר שהוא שם קובץ היעד ss = uploadFile(false,$token,$path_in_yemot,$New_file_name_to_yemot,$fileUpload); //מראה את התשובה מימות, ניתן כמובן לבטל או להציג משהו אחר print_r ($ss); function uploadFile($isPrivate, $token ,$path ,$New_name,$file) { if ($isPrivate) { $YemotUrl = 'https://private.call2all.co.il/ym/api/'; } else { $YemotUrl = 'https://www.call2all.co.il/ym/api/'; } $headers = array( 'Content-type: multipart/form-data' ); $url = $YemotUrl . 'UploadFile'; $File_source = new CURLFile($file,'media/wav'); $parm['token'] = $token; $parm['upload'] = $File_source; $parm['path'] = "$path$New_name"; $parm['convertAudio'] = 1; //-----------------------------------ביקורת---------------------------------- if (file_exists($file)==0) { $message = "הקובץ $file לא נמצא"; } $message="$message <br> הטוקן הוא: " . $parm['token'] ."<br>"; $message="$message שם הקובץ: " . $File_source->getFilename() . "<br>"; $message="$message גודל הקובץ הוא: " . ": " . filesize($file) . " bytes<br>"; $message="$message נתיב היעד בימות המשיח: " . $parm['path'] . "<br>"; //-------------בדיקה אם קיים כזה קובץ $GetIvrTree = file_get_contents("http://call2all.co.il/ym/api/GetIvrTree?token=$token&path=ivr2:1"); if (mb_strpos($GetIvrTree, $New_name)>0) { $message="$message <br> יש כבר קובץ בשם זהה לקובץ זה! "; $message="$message <br> הפעולה לא בוצעה "; goto a; } //-----------------------------------עד כאן--------------------------------- $curl = curl_init(); curl_setopt_array( $curl, array( CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $parm, CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => true, ) ); $response = curl_exec($curl); // echo "$response"; $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); $response = json_decode($response); a: $responseStatus = $response->{"responseStatus"}; if(!$responseStatus=="OK"){ return "$response <br> $message"; } else{ return "הקובץ עלה בהצלחה!"; } } ?>
ה'ביקורת קבצים (GetIvrTree)' לא מושלם בגלל שלא הצלחתי לפרק את המערך ולזהות את שם הקובץ, התחליף שאלטרתי הוא שהקוד מחפש את שם הקובץ בתוך הסטרינג שחוזר מימות המשיח (mb_strpos).
[הבעיה תהיה כשאתה מכניס קובץ בשם 1, וקיים כבר קוובץ בשם 11 הוא יעצור את התהליך כי הוא מצא את הספרה 1 וwav . (בתור 'תלאי על תלאי' אולי אפשר להוסיף נקודותיים לפני ופסיק אחרי שם הקובץ -- לא ניסיתי עדיין)
תודה לכולם והצלחה!!! -
RE: איך להעלות קבצים מהשרת?
@mgm-ivr
הוא נתקע בגלל שגיאה בשורה הזאת:$response = curl_exec($curl);
כלומר לא מצליח לפתוח את הקישור
-
RE: איך להעלות קבצים מהשרת?
@mgm-ivr
תודה על התגובה! (פגשתי וקראתי את הפוסט שלך הרבה מאוד פעמים בתוך כדי חיפוש...)
עד כמה שהבנתי אתה מייצר טופס וקבלה של הטופס האותו כתובת. זה מאוד יפה! עבודה טובה!
אני צריך עכשיו שהPHP יקח קובץ מהשרת וישלח אותו לימות בלי טופס את הפרטים הוא ישיג מהטבלאות שלו..... -
RE: איך להעלות קבצים מהשרת?
@nyh
שלום לשמואל 'ניהול ראשי'
סתם מתוך הסקרנות ו'הצמאון לדעת' בתור הגאון שייצר את המחלקה, אני מאמין שאתה הוא הכתובת, כי אני אוהב להבין דברים מאפס והבנת העניין יועיל לי מאוד!
אני רוצה לנסות להעלות קובץ מתוך השרת שלי בלי המחלקה עד כמה שהבנתי, מקריאה של כמה ימים (!) בפורם החדש והישן הכל תקין
ואני יוצא מדעתי למה הקוד הזה מביא לי שגיאה 105?????
הטוקן מתחבר.
הוא לכאורה יודע מאיפה לשאוב את הנתונים --fileUpload$
ולאיפה להכניס אותם --pathinyemot$
שולח POST
מה צריך לשנות בשביל שיהיה נכון?
בתודה על ההסברים היפים והברורים שלך באופן כללי....$fileUpload="recording/5.wav"; //קח את הקובץ הזה $pathinyemot="ivr2:1/7.wav"; //תכניס לימות במיקום הבא //-----------------------יצירת טוקן----------------------------- $url = "https://www.call2all.co.il/ym/api/Login?username=0799*****&password=1234"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // החזר את תוכן העמוד. curl_setopt($ch, CURLOPT_URL, $url); //מעביר את כתובת האתר למשתנה. $result = curl_exec($ch); //תוצאה=תגובת השרת $json = "$result"; //מכניס את השורה למשתנה $obj = json_decode($json); //יעשה מהשורה ג'סון //https://www.php.net/manual/en/function.json-decode.php $the_token= $obj->{"token"}; //יקבל את הטוקן אל תוך משתנה //echo "הטוקן הוא: $the_token"; //----------------------------------העלאת קובץ---------------------------------------- $url2 = "https://www.call2all.co.il/ym/api/UploadFile?token=$the_token"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url2); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'Upload' => file_get_contents($fileUpload), 'path' => $pathinyemot )); $result = curl_exec($ch); echo $result; curl_close($ch);
-
RE: כניסה ל API והגדרות...
@מנסה
אתה צודק, כל כך קצת כסף, איפה הרווח???
אבל מה הפשט במחיר כאן?
לא נראה לי שזה 0.07 אגורות -
RE: כניסה ל API והגדרות...
@מנסה
אם יש לך כבר מערכת ואתה מתכנת אותה בעצמך (או מוכר למישהו אחר), למה לא לייעל אותה עם אפשרות ניהול גם דרך אתר וגם דרך הטלפון.
זה עיקר הצורך
חוצמזה (לא הספקתי עדיין לבדוק איך משתמשים בזה), אבל כשמדובר בהקלטות שלא צריך תרגום מיידי ואמין כמו שמובנה בימות המשיח, אלא לתוספת תיעוד וכדומה, יש api בגוגל speech-to-text. עם שעה חודשית של תמלול חינם ופחות מעשירית אגורה לכל פעימה של 15 שניות תמלול (אם הבנתי נכון).
הרווח שיצא מזה הוא עצום לכל המאזינים של ימות המשיח, כי מכאן הדרך קצרה לשמור כל שיעור על קובץ נפרד, ואז מה שנשאר זה להפיץ קוד שמאזינים יכולים לערוך חיפוש בתוך שיעורים! --- זה משהו אדיר!!!!! עד כמה שאני יודע אין את זה בשום חברה בטח שלא בצורה נגישה לציבור הרחב.... -
RE: כניסה ל API והגדרות...
<?php $dirname = "recording";if (!is_dir($dirname)){ mkdir($dirname);//מייצר תיקיית הקלטות על השרת } $id="5"; if ($_GET["recording"]==""){ echo "read=t-אין שום טבע בעולם! הקליטו את הסיפור המדהים שלכם,ואחריו סולמית =recording,yes,record,,$id,yes,yes,No"; Get_recording("$id","0799000000","1234"); } else{ echo "id_list_message=t- ההקלטה נקלטה על הַשָרָת, תודה ולהתראות:"; } function Get_recording($id,$username,$password){ //echo "id_list_message=t- ההקלטה נכנסת לשרת עכשיו:"; // From URL to get webpage contents. $url = "https://www.call2all.co.il/ym/api/Login?username=$username&password=$password"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return Page contents. curl_setopt($ch, CURLOPT_URL, $url); //grab URL and pass it to the variable. $result = curl_exec($ch); //תוצאה=תגובת השרת $json = "$result"; //מכניס את השורה למשתנה $obj = json_decode($json); //יעשה מהשורה ג'סון //https://www.php.net/manual/en/function.json-decode.php $the_token= $obj->{"token"}; //יקבל את הטוקן אל תוך משתנה //echo "הטוקן הוא: $the_token"; ///---------------------------------הורדה---------------------------------- global $dirname; //נתיב אל תיקיית קבצי ההקלטות $path= "$dirname/$id.wav"; //כתובת להדבקה בשרת שמפעיל את הקוד $url = "https://www.call2all.co.il/ym/api/DownloadFile?token=$the_token&path=ivr2:1/$id.wav"; $result = curl_exec($ch); ////תוצאה=תגובת השרת $file= file_get_contents($url) ; $handle = fopen($path,'w') ; fputs($handle,$file); fclose($handle) ; }
בהצלחה לכולם!
-
RE: כניסה ל API והגדרות...
@מנסה
כן! צדקת!!!!!!! התנאי עקף את ההורדה
כל הכבוד! לכל החברים שהשקיעו מאמץ לעזור --תודה רבה! אין עליכם בכל העולם!!!!
אגב, הרגע הצליח לי גם עם "/" וגם בלי
path=ivr2:/1/$id.wav
תיכף אעלה את הקוד באופן שהוא עובד, לטובת הכלל
יישר כח! -
RE: כניסה ל API והגדרות...
@איש-ימיני
תודה על התגובות המהירות!
ניסיתי 1 ממשי - אין שינוי,
ניסיתי 001 גם אין שינוי
ניסיתי לוכסן אחרי הנקודותיים, גם אין שינוי.
אולי הברירה היא פשוט לראות איך זה בנוי בתוך FTP
אני יבקש חיבור, ואעדכן בעזרת ה'
מעריך מאוד את ההשתדלות לעזור!
תודה רבה!!!!
בינתיים, אם יש עוד רעיונות אשמח מאוד לנסות ---- אין כמוכם! -
RE: כניסה ל API והגדרות...
@איש-ימיני אמר בכניסה ל API והגדרות...:
ogg
ביקשתי 'אקו' של הנתיב, אני מקבל
https://www.call2all.co.il/ym/api/DownloadFile?token=NdVmWBLLVT.........&path=ivr2:1/1.wav
המידע שהשם משתנה הוא מאוד חשוב, תודה רבה!
אבל כרגע אני עובד ישירות על קובץ שבוודאי נמצא שם והשם שלו הוא 1.WAV
ועם כל זה הוא מגיב שהקובץ לא קיים -
RE: כניסה ל API והגדרות...
אם אפשר לקבל עזרה
הבסיס של הקוד הזה עבד לי לפני 5 שנים, כרגע משהו תקוע.
הקוד אמור להוריד את הקובץ אל השרת. הבעיה היא שאני מקבל תגובת שרת של ימות שהקובץ לא נמצא (Requested file does not exist)
הקובץ נמצא בתפריט ראשי שלוחה 1.
איפה הטעות?function Get_recording($id,$username,$password){ //echo "id_list_message=t- ההקלטה נכנסת לשרת עכשיו:"; // From URL to get webpage contents. $url = "https://www.call2all.co.il/ym/api/Login?username=$username&password=$password"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return Page contents. curl_setopt($ch, CURLOPT_URL, $url); //grab URL and pass it to the variable. $result = curl_exec($ch); //תוצאה=תגובת השרת $json = "$result"; //מכניס את השורה למשתנה $obj = json_decode($json); //יעשה מהשורה ג'סון //https://www.php.net/manual/en/function.json-decode.php $the_token= $obj->{"token"}; //יקבל את הטוקן אל תוך משתנה //echo "הטוקן הוא: $the_token"; ///---------------------------------הורדה---------------------------------- global $dirname; //נתיב אל תיקיית קבצי ההקלטות $path= "$dirname/$id.wav"; //כתובת להדבקה בשרת שמפעיל את הקוד $url = "https://www.call2all.co.il/ym/api/DownloadFile?token=$the_token&path=ivr2:1/$id.wav"; $result = curl_exec($ch); ////תוצאה=תגובת השרת if (!$result=="Requested file does not exist"){ $file= file_get_contents($url) ; $handle = fopen($path,'w') ; fputs($handle,$file); fclose($handle) ; } else{ echo "id_list_message=t- הקובץ לא נמצא: תגובת השרת היא : $result"; } }
-
RE: איך לנקות את הקובץ LogApi.ymgr
@ד-ב
הסיבה שלא מצאתי את זה בגלל שהחלון מוגבל ל20 קבצים. לחצתי 'טען הכל' וזה הופיע
תודה רבה!!! -
RE: איך לנקות את הקובץ LogApi.ymgr
@chaim7
שלום וברכה!
איפה אני יכול למצוא כרגע את הקובץ LogApi.ymgr ? -
RE: חברת סליקת האשראי "משולם" עובדת עם ימות המשיח? ולמי יש נסיון?
@eliyahu
גם אני מתמודד באנגלית די בקושי, אבל ממה שהצלחתי להבין גם בהמשך למטה יש להם טבלה שלימה של תגובות שרת , (הכל חייב להיות POST כמובן).
מישהו שיסכים לעשות טוב לכל הציבור שכרו כפול מן השמים!!!
הלוואי יכלתי לזכות את הציבור בזה!
אגב, יודעים מה? אם נשאיר את זה למתכנתים של ימות, זה חייב להיות מושלם וגם יקח יותר זמן. ומן הסתם הם עמוסים מעל הראש בפרט בתקופה זו
לכאורה API אמור גם להתאים ישירות לכל מי שנוגע בPHP רק שנצטרך לקחת את הנתונים מהלקוחות ולשלוח בעצמינו לחברה במקום דרך הAPI של ימות, זה לא כזה מפחיד!!!
רק צריך בעל חסד שיתן טיפה הסבר בלשון המדוברת לAPI של משולם -
RE: חברת סליקת האשראי "משולם" עובדת עם ימות המשיח? ולמי יש נסיון?
אני רואה שמשולם פתחו עכשיו API!!!!
האם אחד מהאנשים המיחודים כאן יכול לעזור להנגיש את ההוראות והתנאים שלהם לאלפי משתמשי ימות המשיח בפוסט מסודר?
הגדררות ה API כאן
תודה רבה לכל האנשים הנפלאים כאן! -
RE: שלוחת API קבלת תשובה מהשרת
@מגד אני משתגע עם הבעיה הזאת כבר כמה ימים.
ניסיתי הכל, גם עשיתי דף חדש בלי קוד שרק מחזיר echo של תגובה נסיונית, אבל שום דבר לא עזר. קיבלתי הודעה אוטומטית לא נתקבלה תגובה משרת API, ובלוגים של API הוא מציג את המילים DOCTYPE HTML
טירטרתי את החברה של השרת שיש להם בעיה עם החומת אש ומשהו על פורט 80 ולא הבינו מה אני רוצה.
בסוף נזכרתי שהוספתי SSL ולפיכך כתובת הURL צריכה לפתוח ב https ולא ב http.
אז בכניסה דרך המחשב זה לא מפריע. אבל המערכת האוטומטית כנראה קצת יותר עדינה.
חשבתי שכדאי לתעד בשביל מישהו אחר שאולי אולי יכול להיתקע באותה בעיה יום אחד....
בהצלחה לכולם