כניסה ל API והגדרות...
-
@מ-מ-פליישער
עברתי קצת יותר על כל העניין....
עדיין לא ברור לי כ"כ איך לדוגמא להוריד קובץ.
לדוגמא יש לי קובץ בשם 000.wav שנמצא בשלוחה 4 איך הכי נכון לכתוב? (נגיד שאני לא משתשמש במחלקה).
ככה?<?php file_get_contents("https://private.call2all.co.il/ym/api/DownloadFile?token=079000000:1234&path=ivr:4/000.wav"); ?>
במקרה הזה קיבלתי שגיאת " HTTP/1.1 404 Not Found"
-
@ass אמר בכניסה ל API והגדרות...:
path=ivr:4/000.wav
צריך לכתוב
ivr2:
אוivr/
path=ivr2:4/000.wav path=ivr/4/000.wav
-
@eliyahu
תודה רבה, עובד! -
אם אפשר לקבל עזרה
הבסיס של הקוד הזה עבד לי לפני 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"; } }
-
לא בטוח אבל ייתכן 2 אפשרויות
או שהקובץ לא בסיומת WAV [לאחרונה יש הרבה קבצים עם סיומות שונות].
או שה$id מכיל גם את הסיומת ויוצא סיומת כפולה
[או שלא זה ולא זה..., מקווה שהועלתי]
-
-
@איש-ימיני אמר בכניסה ל API והגדרות...:
ogg
ביקשתי 'אקו' של הנתיב, אני מקבל
https://www.call2all.co.il/ym/api/DownloadFile?token=NdVmWBLLVT.........&path=ivr2:1/1.wav
המידע שהשם משתנה הוא מאוד חשוב, תודה רבה!
אבל כרגע אני עובד ישירות על קובץ שבוודאי נמצא שם והשם שלו הוא 1.WAV
ועם כל זה הוא מגיב שהקובץ לא קיים -
תנסה לשנות את $id ל1 ממשי
וכן נראה לי שצריך להוסיף לוכסן / אחרי
ivr2:
[בהגדרות כתוב שלא חייבים למעשה לעיתים זה יכול לעזור
-
@chaim7
מאוד מוזר.
אולי הקובץ הוא 001? -
@איש-ימיני
תודה על התגובות המהירות!
ניסיתי 1 ממשי - אין שינוי,
ניסיתי 001 גם אין שינוי
ניסיתי לוכסן אחרי הנקודותיים, גם אין שינוי.
אולי הברירה היא פשוט לראות איך זה בנוי בתוך FTP
אני יבקש חיבור, ואעדכן בעזרת ה'
מעריך מאוד את ההשתדלות לעזור!
תודה רבה!!!!
בינתיים, אם יש עוד רעיונות אשמח מאוד לנסות ---- אין כמוכם! -
@מנסה אמר בכניסה ל API והגדרות...:
וכן נראה לי שצריך להוסיף לוכסן / אחרי
ivr2:
אאל"ט זה לא נכון.
במודולים API הישנים עובד גם ivr/1 וגם ivr2:1
במודולים החדשים עובד רק ivr2:1
ivr2:/1 לא אמור לעבוד כלל. -
@chaim7
ניסית 001.ogg ? -
@איש-ימיני אמר בכניסה ל API והגדרות...:
@מנסה אמר בכניסה ל API והגדרות...:
וכן נראה לי שצריך להוסיף לוכסן / אחרי
ivr2:
אאל"ט זה לא נכון.
במודולים API הישנים עובד גם ivr/1 וגם ivr2:1
במודולים החדשים עובד רק ivr2:1
ivr2:/1 לא אמור לעבוד כלל.לי יש כמה עם לוכסן וזה עובד מצויין
הנה דוגמא
https://www.call2all.co.il/ym/api/GetTextFile?token=0770000:1234&what=ivr2:/66/record_log.html
הרגע עובד
-
@מנסה
יכול להיות.
זכור לי מהעבר שזה לא עבד.
אולי אני טועה. -
אני שם לב שכתבת שבכל מצב שהתגובה תהיה שונה מהקובץ לא נמצא זה יפעל, ואם התגובה לא תהיה שונה אז שיכתוב שהקובץ לא נמצא
ייתכן שאין כלל הורדה [כי זה פרייבט/שגיאה אחרת], ומכיוון שהמשתנה לא מכיל כלום הוא מחזיר לך את זה?
-
@מנסה
כן! צדקת!!!!!!! התנאי עקף את ההורדה
כל הכבוד! לכל החברים שהשקיעו מאמץ לעזור --תודה רבה! אין עליכם בכל העולם!!!!
אגב, הרגע הצליח לי גם עם "/" וגם בלי
path=ivr2:/1/$id.wav
תיכף אעלה את הקוד באופן שהוא עובד, לטובת הכלל
יישר כח! -
<?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) ; }
בהצלחה לכולם!
-
תודה רבה
וכיף לעזור למי שיודע ככה לפרגן [אני בקושי הבנתי מה אני כתבתי]
תכלס
יש מצב שאתה מבודד מהקוד את מה שצריך בשביל להעלות קובץ שמע מהתיקיה הזמנית בשרת ישר לימות
[להכניס קובץ לתיקיה זמנית ע"י טופס HTML אני יודע]
כי לכאורה ממה שעברתי על הקוד שלך נראה שאתה שולח את הקובץ לא ע"י post ולא ע"י curl, אז לכאורה זה לא אמור לעבוד,
אשמח אם תחכים אותנו
תודה
[בקריאה שניה של הקוד שלך אני מבין שאתה עושבה הפוך - מוריד קובץ לשרת שלך מתוך המערכת של ימות- וא"כ זה לא מה שאני צריך]
-
@chaim7 אני קפצתי עכשיו לפוסט, לא הבנתי מה אני עושה כאן מה זה הכל הזה שעבר למה הוא מיועד הבנתי שיש כאן הקלטה היא יורדת לשרת ומה אני אמור לעשות איתה, צריך לעשות גם פקודה שתעלה את זה לימות המשיח חזרה למערכת , צריך להוסיף את הפקודה הזאתי.
-
זה נועד הפוך להוריד מימות לשרת שלך [כמו באתר ניהול תורים] שאפשר לשמוע הקלטות מהמערכת בימות באתר אחר