API שליחת סמסים בחברת מיקרופיי
-
@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 לא תומכת בזה? -
סליחה, הם כן נתנו קוד של פוסט, טעיתי וקראתי את הקוד הקודם.
תשנה את הפרמטרים פה לרלוונטי ותדביק את זה בקונסול של הדפדפן:var xhr = new XMLHttpRequest(); xhr.open("POST", 'https://www.micropay.co.il/ExtApi/ScheduleSms.php', true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xhr.send("post=2&uid=#####&un=#####&msg=test+message&list=0545370070&from=0362222"); xhr.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) alert(this.responseText); }
מה כתוב לך?
-
@dovid אמר בAPI שליחת סמסים בחברת מיקרופיי:
XMLHttpRequest
אולי זה התחליף שלהם?
https://www.wix.com/corvid/reference/wix-http-functions/wixhttpfunctionrequest