Użyj swojej strony internetowej do wysyłania SMS
Możesz dodać funkcjonalność SMS do swojej strony internetowej. Ta metoda pokazuje, jak użyć skryptu PHP do komunikacji z interfejsem HTTP API Ozeki SMS Gateway. Najpierw musisz włączyć obsługę skryptów PHP na swoim serwerze WWW.
Pobierz przykład wysyłania SMS w PHP:
sendsms.zip
Przedstawiony przykład (skrypt PHP do wysyłania SMS) pokazuje, jak może działać wysyłanie wiadomości z Twojej strony internetowej po kliknięciu 'Wyślij'. Pomysł wykorzystuje formularz HTML. Użytkownik może wypełnić ten formularz HTML i kliknąć 'Wyślij'. Skrypt PHP przetwarza dwie zmienne w polach tekstowych o nazwach 'Odbiorca' i 'Wiadomość'. Wysyła również wygenerowany adres URL żądania HTTP do interfejsu HTTP API Ozeki SMS Gateway (Rysunek 1). Twój serwer WWW i Ozeki SMS Gateway mogą być na dwóch różnych maszynach lub na tej samej maszynie.
Najpierw należy zainstalować Ozeki SMS Gateway i sprawdzić, czy można ręcznie wysyłać z niego wiadomości SMS. Następnie proszę pobrać skrypt HTML+PHP aby stworzyć i użyć formularza wysyłania SMS.
| Ozeki SMS Gateway można pobrać otwierając stronę pobierania: Pobierz Ozeki SMS Gateway! |
Utwórz formularz HTML do wysyłania SMS
Aby rozpocząć korzystanie z tego rozwiązania, zapisz plik sendsms.html. Należy zapisać go w katalogu 'WWW' Twojego serwera WWW. Co zawiera? Zawiera formularz HTML z polem tekstowym odbiorcy i wiadomości, plus przycisk 'Wyślij' (Rysunek 2).
<html>
<body>
<h1>Mój formularz SMS</h1>
<form method=post action='sendsms.php'>
<table border=0>
<tr>
<td>Odbiorca</td>
<td><input type='text' name='recipient'></td>
</tr>
<tr>
<td>Wiadomość</td>
<td><textarea rows=4 cols=40 name='message'></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type=submit name=submit value=Wyślij></td>
</tr>
</table>
</form>
</body>
</html>
Jeśli pomyślnie zapisałeś ten plik w katalogu swojego serwera WWW, możesz go otworzyć w dowolnej przeglądarce internetowej (Rysunek 3). Możesz dodać dowolny numer telefonu do pola odbiorcy (np. +4407776134588) i wpisać tekst wiadomości w następnym polu tekstowym.
Atrybut action tagu formularza wskazuje na sendsms.php. Oznacza to, że dane wprowadzone w formularzu zostaną przekazane do sendsms.php. Dane zostaną wysłane do interfejsu HTTP API po naciśnięciu 'Wyślij'.
Jak przygotować swój skrypt SMS w PHP'sendsms.php' jest celem dla pól odbiorcy i wiadomości. Ten skrypt PHP może zbudować URL dla interfejsu HTTP API Ozeki SMS Gateway. Wywoła on URL, jeśli zostanie naciśnięty przycisk 'Wyślij'. Nie zapomnij skonfigurować zmiennych $ozeki_user, $ozeki_password i $ozeki_url. W przypadku, gdy Ozeki SMS Gateway i twój serwer WWW działają na tej samej maszynie, możesz pozostawić $ozeki_url bez zmian. W przeciwnym razie należy zmienić IP na adres IP maszyny z Ozeki SMS Gateway. Najnowsza wersja Ozeki SMS Gateway używa portu 9505, podczas gdy 9501 należy do starszej wersji. (Rysunek 4)
<?php
########################################################
# Login information for the SMS Gateway
########################################################
$ozeki_user = "admin";
$ozeki_password = "abc123";
$ozeki_url = "http://127.0.0.1:9505/api?";
########################################################
# Functions used to send the SMS message
########################################################
function httpRequest($url){
$pattern = "/http...([0-9a-zA-Z-.]*).([0-9]*).(.*)/";
preg_match($pattern,$url,$args);
$in = "";
$fp = fsockopen("$args[1]", $args[2], $errno, $errstr, 30);
if (!$fp) {
return("$errstr ($errno)");
} else {
$out = "GET /$args[3] HTTP/1.1\r\n";
$out .= "Host: $args[1]:$args[2]\r\n";
$out .= "User-agent: Ozeki PHP client\r\n";
$out .= "Accept: */*\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$in.=fgets($fp, 128);
}
}
fclose($fp);
return($in);
}
function ozekiSend($phone, $msg, $debug=false){
global $ozeki_user,$ozeki_password,$ozeki_url;
$url= 'action=sendmessage';
$url.= '&username='.$ozeki_user;
$url.= '&password='.$ozeki_password;
$url.= '&messagetype=SMS:TEXT';
$url.= '&recipient='.urlencode($phone);
$url.= '&messagedata='.urlencode($msg);
$urltouse = $ozeki_url.$url;
if ($debug) { echo "Request: <br>$urltouse<br><br>"; }
//Open the URL to send the message
$response = httpRequest($urltouse);
if ($debug) {
echo "Response: <br><pre>".
str_replace(array("<",">"),array("<",">"),$response).
"</pre><br>"; }
return($response);
}
########################################################
# GET data from sendsms.html
########################################################
$phonenum = $_POST['recipient'];
$message = $_POST['message'];
$debug = true;
ozekiSend($phonenum,$message,$debug);
?>
Po skopiowaniu i zmodyfikowaniu zarówno sendsms.html, jak i sendsms.php w *\WWW\, wiadomość SMS może zostać przesłana przez bramkę. Po zaakceptowaniu do dostarczenia, SMS Gateway zwróci numer referencyjny wiadomości w odpowiedzi (Rysunek 5). Wiadomości są śledzone w Ozeki SMS Gateway za pomocą ich numerów referencyjnych.
Podsumowanie
W tym artykule można zobaczyć, jak dodać funkcjonalność SMS do swojej strony internetowej. Wykorzystuje on dostarczony przykładowy skrypt PHP SMS do komunikacji z Ozeki SMS Gateway. Użycie SMS Gateway oferuje możliwość routingu wiadomości SMS między różnymi punktami końcowymi i daje możliwość kontrolowania wiadomości tekstowych, gdy przechodzą przez system, aby można było łatwo dotrzeć do każdego w organizacji.
Jeśli chcesz zbudować niezawodny i wszechstronny system komunikacji SMS, znajdziesz więcej informacji na ten temat na stronie Ozeki. Zapraszamy do zapoznania się z artykułem o wysyłaniu SMS z witryny internetowej przy użyciu wysyłaniu SMS za pomocą C#.
Aby stworzyć swój pierwszy wysokowydajny system bramki SMS, teraz jest najlepszy czas, aby pobrać Ozeki SMS Gateway!