כניסה ל API והגדרות...
-
@ass אמר בכניסה ל API והגדרות...:
שלום לכולם..
למדתי לאחרונה גם שפת PHP בכדי לתחבר למסד הנתונים של המערכת שלי בימות.
לא כל כך הבנתי מהתיעוד איך להתחיל להתחבר ולהיכן אני מכניס את הפקודות.
ניסיתי את הקוד הזה:<?php $username = "0790000000"; $password = "1234"; $handle = curl_init(); $url = "https://www.call2all.co.il/ym/api"; curl_setopt($handle, CURLOPT_URL, $url); $data = curl_exec($handle); curl_setopt_array($handle, array( CURLOPT_URL => $url, CURLOPT_HTTPAUTH => CURLAUTH_ANY, CURLOPT_USERPWD => "$username:$password", CURLOPT_RETURNTRANSFER => true, ) ); curl_close($handle); echo $handle; ?>
אני צריך להתחבר ולעלות קבצים.
אשמח לכל עזרה, כבר שבוע וחצי אני על זה....יש לך את המחלקה הזאת https://f2.freeivr.co.il/topic/1079/מחלקה-של-תקשורת-עם-ימות-api/28
-
@מ-מ-פליישער
אני מקבל שגיאה אחת מהמחלקה, שהמשתנה:$_GET
לא מוגדר...
שזה בעצם המשתנה בשורה הראשונה:$SetSite = $_GET["SetSite"];
-
@ass אמר בכניסה ל API והגדרות...:
@מ-מ-פליישער
אני מקבל שגיאה אחת מהמחלקה, שהמשתנה:$_GET
לא מוגדר...
שזה בעצם המשתנה בשורה הראשונה:$SetSite = $_GET["SetSite"];
ב
$SetSite = $_GET["SetSite"];
אתה מגדיר את השרת. פריווט או רגיל.
עם זה פריווט תכתוב$SetSite = "private";
-
@מ-מ-פליישער
ואם זה רגיל אז הקוד אמור להיות ככה?$SetSite = NULL; if ($SetSite == NULL) { define("URL", "https://www.call2all.co.il/ym/api/"); } if ($SetSite == "private") { define("URL", "https://www.private.call2all.co.il/ym/api/"); }
-
@ass אמר בכניסה ל API והגדרות...:
@מ-מ-פליישער
ואם זה רגיל אז הקוד אמור להיות ככה?$SetSite = NULL; if ($SetSite == NULL) { define("URL", "https://www.call2all.co.il/ym/api/"); } if ($SetSite == "private") { define("URL", "https://www.private.call2all.co.il/ym/api/"); }
תעשה ככה יותר נוח
$server = "private"; //פריווט $server = "www"; // רגיל define("URL", "https://".$server.".call2all.co.il/ym/api/");
-
קודם כל - תודה רבה על העזרה!
שנית, הכנסתי את המחלקה של התקשורת עם ימות וכן את הקוד של פקודת
Login
אבל השרת לא מחזיר כלום בדפדפן... -
@ass אמר בכניסה ל API והגדרות...:
קודם כל - תודה רבה על העזרה!
שנית, הכנסתי את המחלקה של התקשורת עם ימות וכן את הקוד של פקודת
Login
אבל השרת לא מחזיר כלום בדפדפן...להלן דוגמא להעלאת קובץ מהשרת למערכת
define("URL", "https://***.call2all.co.il/ym/api/"); $con = new connecting_to_yemot_api('0773137770', '0000'); $File = new oFile('ext.ini', 'text/plain', file_get_contents("...")); $a = $con -> connecting('UploadFile',[ 'path' => 'ivr/ext.ini', 'convertAudio' => 0, 'fileUpload' => $File ]);
אתה לא חייב לעשות Login עם המחלקה היא עושה כבר בשבילך
-
@ass אמר בכניסה ל API והגדרות...:
קודם כל - תודה רבה על העזרה!
שנית, הכנסתי את המחלקה של התקשורת עם ימות וכן את הקוד של פקודת
Login
אבל השרת לא מחזיר כלום בדפדפן...עם אתה רוצה בלי המחלקה אתה יכול לעשות כל פקודה באמצעות
<?php file_get_contents("https://www.call2all.co.il/ym/api/RunTzintuk?token=0773137770:0000");
סתם זרקתי את הרעיון של RunTzintuk זה יכול להיות כל פקודה שקיימת בתיעוד ורד לציין בtoken
מספר מערכת:סיסמא
-
@מ-מ-פליישער
עברתי קצת יותר על כל העניין....
עדיין לא ברור לי כ"כ איך לדוגמא להוריד קובץ.
לדוגמא יש לי קובץ בשם 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 ?