@שמואל לא חשבתי שמות המשיח צריכים לשלם, אני רק מנסה להבין בתור אחד שמשתמש במודל (ועזר לדווח על הרבה באגים, בתור עזרה נטו, אפי' שזה היה באגים שאני הסתדרתי איתם) מה ההגיון להשתמש במודל עם באגים כאשר יש את אותו מודל ללא באגים (אולי כשהוא אכן יהיה יותר טוב יעברו אליו)
-
RE: הודעה על תחילת גביית יחידות במודול תורים החדש לאחר תקופת ההרצה
-
RE: הודעה על תחילת גביית יחידות במודול תורים החדש לאחר תקופת ההרצה
@שמואל יש במודל הזה בעיות, למה שמשהו ישתמש בו אם ממילא זה עולה כסף (אותו מחיר)
-
ניתוביה ב API
אני חושב שמאד נצרך שיהיה ניתן להחזיר ניתוב שיחה בתשובת API ע"י מודל ניתוביה, שזה שיחות חינם, (ממילא אפשר להפנות לשלוחת ניתוביה ולשנות שם את המספר) כמובן שיהיה שם פרסומות
-
שיתוף | קוד PHP לאימות זיהוי ספיישל
כתבתי קוד PHP שדרכו ניתן להוספת זיהוי למערכת
ההגדרות לשלוחה שתוסיף את המספר שתקישו
type=api api_link=לינק לקוד שלכם api_hangup_send=no api_phone_send=no title=אימות טלפון api_add_0=token=טוקן המערכת שלכםהגדרות לשלוחה שתוסיף את המספר שנכנס לשלוחה
type=api api_link=לינק api_hangup_send=no title=אימות טלפון api_add_0=token=טוקןהקוד מצורף בספויילר
<?php header('Content-Type: text/plain; charset=utf-8'); // הגדרת נתיבים לקבצים באותה התיקייה $jsonFilePath = __DIR__ . '/requests.json'; $logFilePath = __DIR__ . '/system.log'; // פונקציה לייעודית לכתיבת לוגים function writeToLog($message, $logFilePath) { $timestamp = date('Y-m-d H:i:s'); $logMessage = "[{$timestamp}] {$message}\n" . str_repeat('-', 40) . "\n"; @file_put_contents($logFilePath, $logMessage, FILE_APPEND); } // 1. קבלת הפרמטרים מהקריאה $token = isset($_GET['token']) ? $_GET['token'] : ''; $code = isset($_GET['code']) ? $_GET['code'] : ''; // 2. קביעת מספר הטלפון (תמיכה ב-Phone וב-ApiPhone) $phone = ''; if (!empty($_GET['Phone'])) { $phone = $_GET['Phone']; } elseif (!empty($_GET['ApiPhone'])) { $phone = $_GET['ApiPhone']; } // ניקוי מספר הטלפון מתווים שאינם ספרות $phoneKey = preg_replace('/[^0-9]/', '', $phone); // תיעוד כניסת פרמטרים ללוג $incomingParams = json_encode($_GET, JSON_UNESCAPED_UNICODE); writeToLog("בקשה נכנסת לשרת.\nפרמטרים שהתקבלו: {$incomingParams}", $logFilePath); // בדיקת חובה: האם קיים טוקן? if (empty($token)) { $err = "שגיאה: פרמטר token חסר בבקשה."; echo $err; writeToLog($err, $logFilePath); exit; } // טעינת קובץ ה-JSON הקיים $jsonData = []; if (file_exists($jsonFilePath)) { $fileContent = file_get_contents($jsonFilePath); $jsonData = json_decode($fileContent, true) ?: []; } // ========================================== // ניתוב לפי שלבי הפעולה // ========================================== if (empty($code)) { // ========================================== // שלב א': שליחת קוד אימות לטלפון // ========================================== if (empty($phoneKey)) { echo "read=m-1125=Phone,,10,9,,Phone,,,,,,,,,"; writeToLog("שלב א': חסר מספר טלפון, הוחזרה הוראת הקשה למערכת.", $logFilePath); exit; } // בניית הפרמטרים לשליחה (כאן בתגובה החוזרת מהם זה מגיע כ-reqId) $apiParams = [ 'token' => $token, 'action' => 'send', 'callerId' => $phoneKey, 'validType' => 'CALL' ]; $url = "https://www.call2all.co.il/ym/api/ValidationCallerId?" . http_build_query($apiParams); writeToLog("שלב א': פנייה ל-API.\nכתובת: {$url}", $logFilePath); $response = @file_get_contents($url); if ($response === false) { $err = "שגיאה בשלב א': file_get_contents נכשל."; echo $err; writeToLog($err, $logFilePath); exit; } writeToLog("שלב א': תשובה גולמית מה-API:\n{$response}", $logFilePath); $data = json_decode($response, true); if (!$data) { $err = "שגיאה בשלב א': תגובה אינה JSON תקין."; echo $err; writeToLog($err, $logFilePath); exit; } if (isset($data['responseStatus']) && $data['responseStatus'] === 'OK' && isset($data['reqId'])) { // דריסת זיהוי ישן אם קיים if (isset($jsonData[$phoneKey])) { unset($jsonData[$phoneKey]); writeToLog("זיהוי ישן עבור מספר {$phoneKey} נמחק מהקובץ.", $logFilePath); } // שמירת ה-reqId $jsonData[$phoneKey] = $data['reqId']; file_put_contents($jsonFilePath, json_encode($jsonData, JSON_PRETTY_PRINT)); echo "read=f-A000=code,,6,4,12,Digits,yes,,,,,,,,"; writeToLog("שלב א' הסתיים בהצלחה. המזהה נשמר ב-JSON.", $logFilePath); } else { $msg = isset($data['message']) ? $data['message'] : 'לא צוינה סיבה'; echo "שגיאה מה-API בשלב השליחה: " . $msg; writeToLog("שגיאה מה-API בשלב השליחה: " . $msg, $logFilePath); } } else { // ========================================== // שלב ב': אימות הקוד שהוקש על ידי המשתמש // ========================================== if (empty($phoneKey)) { $err = "שגיאה בשלב ב': נשלח קוד אך מספר הטלפון חסר בקריאה."; echo $err; writeToLog($err, $logFilePath); exit; } if (!isset($jsonData[$phoneKey])) { $err = "שגיאה בשלב ב': לא נמצא מזהה בקשה שמור עבור הטלפון " . $phoneKey . " ב-JSON."; echo $err; writeToLog($err, $logFilePath); exit; } // שליפת המזהה השמור $savedId = $jsonData[$phoneKey]; // תיקון ה-URL: שימוש בפרמטר reId במקום reqId והסרת משתנים מיותרים $apiParams = [ 'token' => $token, 'action' => 'valid', 'reId' => $savedId, // התיקון המדויק שלך! 'code' => $code ]; $url = "https://www.call2all.co.il/ym/api/ValidationCallerId?" . http_build_query($apiParams); writeToLog("שלב ב': פנייה ל-API לצורך אימות.\nכתובת שנשלחה: {$url}", $logFilePath); $response = @file_get_contents($url); if ($response === false) { $err = "שגיאה בשלב ב': נכשלה ההתקשרות לשרת לצורך אימות."; echo $err; writeToLog($err, $logFilePath); exit; } writeToLog("שלב ב': תשובה גולמית מה-API:\n{$response}", $logFilePath); $data = json_decode($response, true); if (!$data) { $err = "שגיאה בשלב ב': תגובת השרת אינה JSON תקין."; echo $err; writeToLog($err, $logFilePath); exit; } if (isset($data['responseStatus']) && $data['responseStatus'] === 'OK') { // הסרת הרשומה לאחר הצלחה unset($jsonData[$phoneKey]); file_put_contents($jsonFilePath, json_encode($jsonData, JSON_PRETTY_PRINT)); echo "OK"; writeToLog("שלב ב' הסתיים בהצלחה מוחלטת! הקוד אומת, הרשומה נמחקה.", $logFilePath); } else { $msg = isset($data['message']) ? $data['message'] : 'הקוד שגוי או פג תוקף'; echo "אימות הקוד נכשל מול ימות המשיח. סיבה: " . $msg; writeToLog("אימות נכשל. סיבה: {$msg}. קוד: {$code}, מזהה שנשלח (reId): {$savedId}", $logFilePath); } }שימו לב בתקייה של הקוד יווצר קובץ ששומר את הפרטים שמתקבלים בין הקריאות
בנוסף יווצר קובץ לוג שבו מתועד כל בקשה וכל לשיחה לימות המשיח ומה בדיוק היתה התשובה
שימו לב! יש להעלות בשלוחה קובץ בשםA000שבו אומרים כעת נשלחה שיחת אימות "אנא הקישו את הקוד שקיבלתם בשיחה" -
RE: למה אי אפשר להתקשר לקו מכל הפלאפונים
@Hיוסף תבדוק שאכן המספרים שמהם ניסיתי מחוברים, אם הבעיה הבעיה זה ועדת הרבנים תשלח להם מייל ותגיד להם מה יש במספר הזה
זה המייל שלהם mv5381858@gmail.com -
RE: אפשרויות בהחזרת routing
@יהודה-צ.-כ. אבל במודל API עצמו לא מצויין זה שאפשר הוספת ספרות ע"י ההגדרות הרגילות של מודל ראוטינג (נראלי)
-
RE: אפשרויות בהחזרת routing
@CUBASE עכשיו ניסתי גם שליחה בסיום, עבד גם, ממש תודה רבה

-
RE: אפשרויות בהחזרת routing
@CUBASE זה שלוחת השמעת קבצים, לא שלוחת API (יכול להיות שזה יעבוד?)
-
RE: שליחת פרמטר ניתוק בAPI דרך השמעת קבצים
@CUBASE לא מגיע כזאת קריאה אולי כיון שיש כאלה ששולחים אחרי כל הודעה אז כדיש לא ישבש אותם)
יש איך להגדיר שליחה בניתוק בתור שמופעל ישירות בתשובת ה API ע"י routing -
אפשרויות בהחזרת routing
- האם יש דרך להוסיף ספרות בסוף המספר?
- האם יש דרך לקבל וובוק בסיום השיחה (אם אני רוצה לדעת האם היא נענתה או לא - מייד בסיום)
-
שליחת פרמטר ניתוק בAPI דרך השמעת קבצים
כאשר אני שולח API דרך מקש בשלוחת השמעת קבצים, האם אני יכול לקבל גם קריאה כאשר הלקוח ניתק את השיחה לאחמ"כ?
נ.ב. מה שאני רוצה לדעת בתכלס זה שכשאני שולח משהו למענה אנושי תוך כדי השמעת קבצים ע"י API האם יש לי דרך לדעת האם השיחה נענתה או לא -
RE: מודל תור בטא
@שלוחה-404 לי הוא עובד!
מה ההגדרות ששמת בשלוחה? -
RE: קובץ HTML ליצירת מהירה של תשובת API
חידשתי את הממשק בשימוש ע"י קישור פה
יש גם הגדרות תשובת שרת (כולל READ), וגם מלא הגדרות של שלוחת API
-
RE: לא מתחלף זיהוי ID, האם זה באג?
@י.ע נכון לכן סימנתי את זה כנפתר
-
RE: לא מתחלף זיהוי ID, האם זה באג?
@י.ע אין לי עניין באמת להחליף זיהוי אני רק רוצה למחוק אותו בגלל משהו מסויים
-
RE: לא מתחלף זיהוי ID, האם זה באג?
@963 אם כבר, יש דרך רק לבטל את הזיהוי ולא להחליף אותו?
-
לא מתחלף זיהוי ID, האם זה באג?
יש לי שלוחה את שבה מוגדר
enter_id=yes enter_id_type=teudat_zehut record_name=no say_name=noושלוחה אחרת שבה מוגדר
enter_id=yes enter_id_type=phone record_name=no say_name=noאבל כאשר נכנסים לשלוחה השניה לא מתחלף הזיהוי ונשארים עם זיהוי של ת.ז.
האם זה באג? -
RE: ניתוב למשאיר ההודעה בחינם
@sh0548534047 אין לי מושג, בעקרון הבדל היחיד הוא ערך של פרמטר מסויים שכל לא קשור, אני אולי ינסה לראות מה הבעיה
-
RE: ניתוב למשאיר ההודעה בחינם
@sh0548534047 בעקרון לא אמור להיות בדל,כל דבר שמפנה ל API אמור הפעיל אותו