API שליחת סמסים בחברת מיקרופיי
-
@אבי-203 אולי תנסה להוסיף ? לפני הפרמטרים של הפוסט -
let userInput = $w("#textBox1").value; //רשימת המספרים var response = await fetch("http://www.micropay.co.il/ExtApi/ScheduleSms.php", { method: "POST", body: "?post=2&uid=#####&un=######&msg=test+message&list=" + userInput + "&charset=iso-8859-8&from=03555555", }).then((x) => x.text());
כך נראה מהדוגמאות באתר שלהם
-
@אבי-203 טוב תראה, מה שבטוח שזו השגיאה שמוצגת לך - כתוב לך שלא הזנת את הבקשה כנדרש.
אולי תנסה להריץ את הכל בכתובת אחת ארוכה?
אני מתכוין -
ככהlet userInput = $w("#textBox1").value; //רשימת המספרים var response = await fetch("http://www.micropay.co.il/ExtApi/ScheduleSms.php?post=2&uid=#####&un=######&msg=test+message&list=" + userInput + "&charset=iso-8859-8&from=03555555" { method: "POST" }).then((x) => x.text());
עריכה טעות בסיסית שלי בהבנת המתודולוגיה של POST... עי' להלן
-
@chv מה שעשית זה GET.
אתם צריכים להכיר את ההבדל בין GET לPOST, כתבתי על זה כמה פעמים.
(בPOST אין סימן שאלה בהתחלה וגם הפרמטרים יכולים להישלח בגוף הבקשה, וממילא הפרמטרים יכולים להיות ארוכים ללא הגבלה).
צריך גם לדעת לשלוח את הבקשה, ולתעד את התשובה או את השגיאה.לגופה של בעיה ייתכן שצריך להוסיף כותרת
Content-Type
עםapplication/x-www-form-urlencoded
-
זה נהיה פתאום שיח של גדולים.. גדול עלי.
אני מבין גם מהמדריך שלהם שget מוגבל עד 10 מספרים, post מומלץ עד 10000
ב get אני משתמש תמיד, משרשר את כל הפרמטרים אחרי ה? זה עובד נהדר.
@dovid לא הבנתי מה הכוונה"לגופה של בעיה ייתכן שצריך להוסיף כותרת Content-Type עםapplication/x-www-form-urlencoded"
-
var response = await fetch('http://www.micropay.co.il/ExtApi/ScheduleSms.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'post=2&uid=#####&un=######&msg=test+message&list=050000000&charset=iso-8859-8&from=03555555' }).then(x => x.text()).catch(console.error); console.log(response);
תריץ בדיוק ככה (חוץ משינוי הפרמטרים של השם והסיסמה והטלפון הבודד)
ותמסור את תוצאות הlog (אתה יכול לגשת ללוג?) -
זה לכאורה גם בget
<?php //******************************************************************************* // Function: mpSendSMS // Author: MicroPay // Parameters: // Required: // token - the token you created in MicroPay // msg - the message yo want to send // to - comma seperated phone list or pool id in micropay system // from - phone number that will appear as source of the SMS // Optional: // date - date for scheduling in the format "2009-08-17 14:33" -> YYYY-MM-DD HH:MM // Return: // result of the request //******************************************************************************* function mpSendSMS($token, $msg, $to, $from, $date = "") { $msg = urlencode($msg); $request = "http://www.micropay.co.il/ExtApi/ScheduleSms.php"; $request .= "?get=1&token=".$token."&msg=".$msg."&from=".$from; if (strlen($to) > 8) $request .= "&list=".$to; else $request .= "&pid=".$to; if ($date != "") { $DateValue = strtotime($date); $DateParts = getdate($DateValue); $request .= "&dy=".$DateParts["year"]; $request .= "&dm=".$DateParts["mon"]; $request .= "&dd=".$DateParts["mday"]; $request .= "&dh=".$DateParts["hours"]; $request .= "&di=".$DateParts["minutes"]; } $curlSend = curl_init(); curl_setopt($curlSend, CURLOPT_URL, $request); curl_setopt($curlSend, CURLOPT_RETURNTRANSFER, 1); $curlResult = curl_exec($curlSend); $curlStatus = curl_getinfo($curlSend, CURLINFO_HTTP_CODE); curl_close($curlSend); if ($curlStatus === 200) return $curlResult; else return "ERROR"; } ?>
-
עכשיו הם שלחו לי את זה.
לא הבנתי איפה הם רוצים שיכנס מספר הטלפון השולח המקבל.<script type="text/javascript"> <!-- // param - need to be someting like this: 'post=2&uid=#####&un=#####&msg=test+message&list=0545370070&from=03622222' function sendSms(param) { var xhr = new XMLHttpRequest(); xhr.open("POST", 'http://www.micropay.co.il/ExtApi/ScheduleSms.php', true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xhr.send(param); xhr.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { alert(this.responseText); } }; } //--> </script> <a href
-
אבל זה נראה שהם בונים איזה אובייקט?.. כלומר אני רואה שהם מפרקים את זה יותר לחלקים.
אגב מעניין שגם הם הוסיפו את מה שהוספת
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");אני שם את מה שהוא שלח XMLHttpRequest ייוצר לי שגיאה, וגם alert
אולי הספרייה של corvid לא תומכת בזה?