שלוחת איפוס מבחן אמריקאי
-
@איש-ימיני המודול לא עובד בשרתי הפרייבט..
אם תוכל לסדר את זה תבוא עליך הברכה! -
@איש-ימיני גם אני מצטרף
-
פרייווט יעבוד בקרוב בס"ד
חכו לעדכון מ@איש-ימיני -
קוים בשרתי הפרייבט-private צריכים להחליף את הלינק:
במקום:
api_link=https://braslav.xyz/AA/Americanreset.php
צריך לכתוב:
api_link=https://braslav.xyz/AA/Americanreset-private.php
עודכן גם למעלה
-
@איש-ימיני אין מצב לעשות את זה בלי לשנות את הקישור?
האם יש מצב אולי להוסיף איזה הגדרה בIVR שתגיד למערכת לשנות את הקישור הרגיל לזה
תודה -
@33064325
כרגע לא -
פוסט זה נמחק! -
הגדרתי את מחיקת הדוחות בפריווט, ולא שמעתי שום הודעה שנמחק או משהו. זה אומר שלא עובד או שלא אמורים לשמוע כלום?
כמו כן אחרי המחיקה הזמנתי את הדוח למייל דרך הטלפון בניהול וקיבלתי אותו מלא (ולא מחוק)
או שכל המודול הזה בכלל לא בשביל טריוויה אלא רק מבחן? -
@עידן זה מיועד למבחן
-
@איש-ימיני כשאני מעביר את השאלות, זה דורס את הישנות? זה בא לשימוש כשיש כבר שאלות שלא אצטרך למחוק ולהעביר אלא להעביר וזה ימחק מעצמו.
-
@שמואל-ש
אני לא זוכר מה עשיתי כשבניתי את המודול.
הייתי צריך את זה אז, הים אני כבר לא משתמש במודול זה.
תבדוק לבד מה זה עושה. -
@שמואל-ש עד כמה שזכור לי זה מעביר את השאלות והדוחות לאיפוא שמגדירים
-
@איש-ימיני עכשיו ניסיתי, ופעם אחת אמר
אין מענה משרת API
, ובפעם הבאה זה הלך, ופעם השלישית אמר שובאין מענה משרת API
מה זה? -
פוסט זה נמחק! -
@איש-ימיני יש צפי לתיקון?
זה פעם עובד ופעם לא. -
@שמואל-ש
@איש-ימיני
כנראה שם את זה בשרת זניח שלא כ"כ עובד כבר
אולי הוא יסכים למכור/לתת לך את הקוד להטמעה בשרת שלך -
@33064325 אמר בשלוחת איפוס מבחן אמריקאי:
אולי הוא יסכים למכור/לתת לך את הקוד להטמעה בשרת שלך
אין לי שרת
@33064325 אמר בשלוחת איפוס מבחן אמריקאי:
כנראה שם את זה בשרת זניח שלא כ"כ עובד כבר
אבל למה פעם זה עובד ופעם לא?
ולמה הוא בכבודו לא יכול להגיב ולומר למשל שהוא (-אם) לא מתחזק את זה? -
-
@33064325 אמר בשלוחת איפוס מבחן אמריקאי:
ב. אתה כותב כאילו הוא חייב לך משהו ושילמת לו כסף
לא שילמתי ואין לי טענות, רק אני מחכה לתגובה שאולי הוא מסכים לתקן את זה והוא לא עונה, זה לא אומר שיש לי טענות, רק פשוט אני רוצה לשמוע אם הוא רוצה לתקן או לא.
@33064325 אמר בשלוחת איפוס מבחן אמריקאי:
@שמואל-ש קודם כל תפתח שרת כאן
אבל אין לי מינימום ידע ב-API
-
@33064325 זה אכן על שרת שאני לא מתחזק.
אני משתמש היום עם שרת אחר.
כתבתי את הקוד יחסית בתחילת דרכי ב-API - יש הרבה מה לשפר שם, אין לי זמן לזה.
הנה הקוד:<?php if ($_GET['hangup'] == "yes"){exit();} $what1 = $_GET['transitio']; $several = $_GET['several']; $password = $_GET['password']; IF ($_GET['transi']!=null) $kkk = $_GET['transi']; IF ($_GET['transi']!=null) $yyyy = 'move'; IF ($_GET['transi']==null) $yyyy = 'delete'; IF ($_GET['transition']!=null) $transition = 'go_to_folder='.$_GET['transition']; $Answer = $transition.'&;'; /*================יצירת אובייקט(מופע) חדש====================*/ $con = new connecting_to_yemot_api($several,$password); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/ExaminationAmericanLogOK.ymgr', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')OK.ymgr', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/ExaminationAmericanMiddle.ini', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')Middle.ini', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/ExaminationAmericanLogOK.html', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')OK.html', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ /*===============================================================*/ IF ($_GET['messages']===yes){ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/000', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')000', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/001', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')001', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/002', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')002', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/003', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')003', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/004', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')004', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/005', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')005', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/006', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')006', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/007', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')007', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/008', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')008', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/009', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')009', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/010', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')010', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/011', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')011', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/012', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')012', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/013', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')013', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/014', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')014', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/015', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')015', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/016', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')016', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/017', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')017', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/018', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')018', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/019', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')019', ); $a = $con -> connecting('FileAction', $body); /*===============================================================*/ $body = array ( 'action' => $yyyy, 'what' => 'ivr2:'.$what1.'/020', 'target' => 'ivr2:'.$kkk.'/('.date ('d-m-Y h-i').')020', ); $a = $con -> connecting('FileAction', $body); } /*===============================================================*/ /*===============================================================*/ IF ($_GET['Text']!=null) $bbb = 'id_list_message=' ; IF ($_GET['Audio']!=null) $bbb = 'id_list_message=' ; IF ($_GET['Text']!=null) $Text = 't-'.$_GET['Text'].'.'; IF ($_GET['Audio']!=null) $Audio = 'f-'.$_GET['Audio'].'.'; IF ($_GET['Text']!=null) $bb = '&' ; IF ($_GET['Audio']!=null) $bb = '&' ; IF ($_GET['transition']!=null) $transition = 'go_to_folder='.$_GET['transition']; $Answer = $bbb.$Text.$Audio.$bb.$transition.'&;'; print_r ($Answer); /*===============================================================*/ class BodyPost { // part "multipart/form-data" public static function PartPost($name, $val) { $body = 'Content-Disposition: form-data; name="' . $name . '"'; // check instance of oFile if($val instanceof oFile) { $file = $val->Name(); $mime = $val->Mime(); $cont = $val->Content(); $body .= '; filename="' . $file . '"' . "\r\n"; $body .= 'Content-Type: ' . $mime ."\r\n\r\n"; $body .= $cont."\r\n"; } else $body .= "\r\n\r\n".$val."\r\n"; return $body; } public static function Get(array $post, $delimiter = '-------------0123456789') { if(is_array($post) && !empty($post)) { $bool = true; //foreach($post as $val) if($val instanceof oFile) {$bool = true; break; }; if($bool) { $ret = ''; foreach($post as $name=>$val) $ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val); $ret .= "--" . $delimiter . "--\r\n"; } else $ret = http_build_query($post); } else throw new \Exception('Error input param!'); return $ret; } } class oFile { private $name; private $mime; private $content; public function __construct($name, $mime=null, $content=null) { if(is_null($content)) { $info = pathinfo($name); // check is exist and readable file if(!empty($info['basename']) && is_readable($name)) { $this->name = $info['basename']; // get MIME $this->mime = mime_content_type($name); // load file $content = file_get_contents($name); if($content!==false) { $this->content = $content; } else { throw new Exception('Don`t get content - "'.$name.'"'); } } else { throw new Exception('Error param'); } } else { $this->name = $name; if(is_null($mime)) $mime = mime_content_type($name); $this->mime = $mime; $this->content = $content; }; } public function Name() { return $this->name; } public function Mime() { return $this->mime; } public function Content() { return $this->content; } } class connecting_to_yemot_api { public $token; const URL = 'https://www.call2all.co.il/ym/api/' ; public function __construct($user_name, $password) { $body = array('username' => $user_name, 'password' => $password); $body = http_build_query($body); $opts = array('http' => array( 'method' => 'POST', 'header' => "Content-Type: application/x-www-form-urlencoded", 'content' => $body, 'follow_location' => false) ); $context = stream_context_create($opts); $url = self::URL.'Login'; $result = file_get_contents($url, FALSE, $context); $result = json_decode($result); if($result -> responseStatus == 'OK') { $this -> token = $result -> token; return TRUE; } else { throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים'); } } public function __destruct() { $this -> connecting('Logout'); } public function connecting($action, $body = array()) { $delimiter = '----'.uniqid(); $body['token'] = $this -> token; $body = BodyPost::Get($body, $delimiter); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-Type: multipart/form-data; boundary='.$delimiter, 'content' => $body, 'follow_location' => false ) ); $context = stream_context_create($opts); $url = self::URL.$action; $result = file_get_contents($url, FALSE, $context); $headers = $this -> parseHeaders($http_response_header); if($headers['Content-Type'][0] == 'application/json') { return json_decode($result); } else { return $result; } } private function parseHeaders($headers) { // פונקציה שמקבלת מערך של שורות הכותרות // הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד // מערך הכותרות $head = array(); foreach( $headers as $k=>$v ) { $t = explode( ':', $v, 2 ); if( isset( $t[1] ) ) { if($t[0] == 'Set-Cookie') { $CookiesArr = array(); $cookies = explode( ';', $t[1]); foreach($cookies as $cookie) { $c = explode( '=', $cookie); if( isset( $c[1] ) ) { $CookiesArr[ trim($c[0]) ] = trim( $c[1] ); } else { $CookiesArr[] = trim( $c[0] ); } } $head[ trim($t[0]) ] = $CookiesArr; } elseif($t[0] == 'Content-Type') { $arr = array(); $children = explode( ';', $t[1]); foreach($children as $child) { $c = explode( '=', $child); if( isset( $c[1] ) ) { $arr[ trim($c[0]) ] = trim( $c[1] ); } else { $arr[] = trim( $c[0] ); } } $head[ trim($t[0]) ] = $arr; } else { $head[ trim($t[0]) ] = trim( $t[1] ); } } else { $head[] = $v; if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) ) { $head['reponse_code'] = intval($out[1]); } } } return $head; } } ?>