@פיסטוק-חלבי
אשמח להצטרף לקבוצה ללימודי API + PHP במייל Y10406400@gmail.com
תודה
הפוסטים הטובים ביותר שנוצרו על ידי מנחם עזריה
-
RE: קבוצת לימוד API
פוסטים אחרונים שנוצרו על ידי מנחם עזריה
-
RE: מדריך התחלת עבודה עם API של ימות משיח (חלק ב').
כתבתי ככה ועושה לי שגיאה מה הבעיה?
<?php
echo "זה קוד PHP";
//בשרת רגיל
define("URL", "https://www.call2all.co.il/ym/api/");
//בשרת פרייבט
//define("URL", "https://private.call2all.co.il/ym/api/");
//בשרת רגיל
//משתנה כדי למנוע בעיות בהעלאת קבצים בהמשך
$server = "www";
//בשרת פרייבט
//$server = "private";
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 = URL; 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; }
}
//שם משתמש וסיסמא של המערכת
$con = new connecting_to_yemot_api('077*****','');
$token = "077:****";//נתיב
$path = "ivr2:/2";// פונקציה למספרי קבצים עוקבים
function FileNameToUpload($server, $token, $path){
$array = json_decode(file_get_contents("https://$server.call2all.co.il/ym/api//GetIVR2Dir?token=$token&path=$path"),true);
if($array["responseStatus"] == "OK"){
foreach($array["files"] as $key => $value){
if($value["fileType"] == "AUDIO" || $value["fileType"] == "TTS"){
$split = explode(".",$value["name"]);
if (is_numeric($split[0])){
break;
}
}
}
if($split[0] == null){
$NewFileName = 0;
}else{
$NewFileName = $split[0]+1;
}
//הפוך למינימום 3 ספרות/
return str_pad($NewFileName,3,"0",STR_PAD_LEFT);
}else{
//במקרה של שגיאה
echo "שגיאה";}
}
// קריאה לפונקציה.
$NewFileName = FileNameToUpload($server,$token,$path);
if($NewFileName != null){
//מכריז על שם של נתיב הקובץ להעלאה
$path_name = "$path/$NewFileName.wav";
}//מאיפה לקחת את הקובץ
$File = new oFile('ext.ini', 'text/plain', file_get_contents("...."));//להעלאת קבצים פקודה
$Upload_order = $con -> connecting('UploadFile',
[
//טוקן
'path' =>$path_name,
//המרה ל-wav אם מוגדר על 1 הקובץ יומר אם מוגדר על 0 לא
'convertAudio' => 1,
//קובץ להעלאה
'fileUpload' => $File
]
);?>
-
הודעה אישית 1 למס' אנשים
האם יש אפשרות בהודעות אישיות להשאיר הודעה מסוימת ל 10 אנשים בהגדרה אחת או שצריך להכניס את ההודעה לכל אחד בפני עצמו?
-
RE: המערכת מפנה לשלוחות עפ"י המספר האישי
@33064325
תודה על המענה אך זה לא עובד, אשמח לרעיון אחר -
המערכת מפנה לשלוחות עפ"י המספר האישי
אני מעוניין שבכניסה למערכת המערכת תבקש מהלקוח להקיש את המספר האישי שאותו קיבל ברישום בכניסה הקודמת ולפי המספר שיקיש המערכת תשלח אותו לשלוחה המתאימה לדוג' ממספ' 1001-4000 יכנסו לשלוחה 2 וממספ' 4001-7000 יכנסו לשלוחה 3 אשמח לעזרה איך מגדירים את זה
-
RE: קבוצת לימוד API
@פיסטוק-חלבי
אשמח להצטרף לקבוצה ללימודי API + PHP במייל Y10406400@gmail.com
תודה -
RE: עזרה בבניית שלוחה ותגובה על הודעה שנקלטה
@נץ-החמה לא זה לא נפתר, התייאשתי מלמצוא משהו מתאים וירדתי מהרעיון
-
שליחת דו"חות של תורים לפקס
מישהו יודע אם יש אפשרות שדו"חות של קביעת תורים ישלחו לי בפקס (ללא כל צורך לפתוח את האתר או לגשת למייל)
או שיש מקום לשמוע תורים שנקבעו בשלוחה בטלפון -
עזרה בבניית שלוחה ותגובה על הודעה שנקלטה
שלום, האם קיימת שלוחת פונקציה בה משאירים הודעות ולקוחות שנכנסים שומעים את ההודעות וכביכול תופסים הודעה שרלונטית אליהם?