קוד PHP שהכנתי לקבלת והדפסת הטוקן העדכני של המערכת שלכם.
- 
					
					
					
					
 הכנתי קוד PHP שדרכו אפשר לקבל את הטוקן העדכני למערכת שלכם. 
 בקריאה לקוד הוא בודק האם נשמר בשרת שלכם טוקן ב-30 דקות האחרונות.
 אם נשמר הוא מדפיס את הטוקן שנשמר.
 אם לא הוא מקבל טוקן חדש ומדפיס אותו.
 לאחר שהוא מקבל טוקן הוא שומר אותו בשרת שלכם בקובץ בשםtoken.
 וכן הוא שומר בשרת שלכם בקובץ בשםtoken_dateאת התאריך והשעה של יצירת הטוקן, לצורך בדיקה בבקשות הבאות האם עבר 30 דקות מקבלת הטוקן הקודם.
 כמובן שצריך לשנות את מספר המערכת והסיסמה בשורות 3 ו- 5.
 דוגמה לשימוש בקוד לגוגל סקריפט/שיטס כאן.
 זה הקוד:<?php //מספר המערכת $username = "0773137777"; //סיסמת הניהול $password = "123456"; //כתובת השרת של ימות $url = "https://www.call2all.co.il/ym/api/Login?username=" . $username . "&password=" . $password; //הקובץ לשמירת הטוקן $tokenFile = "token"; //הקובץ לשמירת התאריך והשעה של העדכון האחרון של הטוקן $dateFile = "token_date"; // פונקציה לקבלת טוקן חדש function getNewToken($url, $tokenFile, $dateFile) { // שליחת בקשת GET $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); // בדיקת תשובה תקינה if ($response === false) { die("שגיאה בשליחת בקשת GET"); } // פענוח תשובה בפורמט JSON $data = json_decode($response, true); // בדיקת פיענוח תקין של JSON if (is_null($data)) { die("שגיאה בפיענוח תשובה בפורמט JSON"); } // שמירת הטוקן ותאריך העדכון file_put_contents($tokenFile, $data['token']); $now = new DateTime('now', new DateTimeZone('Israel')); $dateString = $now->format('Y-m-d H:i:s'); file_put_contents($dateFile, $dateString); // הדפסת הטוקן החדש echo $data['token']; } // בדיקת האם יש טוקן תקף if (file_exists($tokenFile) && file_exists($dateFile)) { $lastTokenDate = file_get_contents($dateFile); $lastTokenDateTime = new DateTime($lastTokenDate, new DateTimeZone('Israel')); $now = new DateTime('now', new DateTimeZone('Israel')); // חישוב הפרש הזמן בדקות $interval = $now->getTimestamp() - $lastTokenDateTime->getTimestamp(); $minutesPassed = $interval / 60; // בדיקה האם הטוקן פג תוקף if ($minutesPassed >= 30 || !preg_match('/^(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d]{16}$/', file_get_contents($tokenFile))) { getNewToken($url, $tokenFile, $dateFile); } else { echo file_get_contents($tokenFile); } } else { // קבלת טוקן חדש אם אין קבצים קיימים getNewToken($url, $tokenFile, $dateFile); } ?>
- 
				נמחק על ידי ה הרב
- 
				שוחזר על ידי ה הרב