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

Wideo 1 - Jak użyć swojej strony internetowej do wysyłania SMS (Samouczek wideo)

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.

jak sms może być wysłany z Twojej strony internetowej
Rysunek 1 - Jak SMS może być wysłany z Twojej strony internetowej

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>
Rysunek 2 - Źródło pliku *\WWW\sendsms.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.

jak powinien wyglądać formularz sms
Rysunek 3 - Jak powinien wyglądać formularz SMS

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("&lt;","&gt;"),$response).
           "</pre><br>"; }

      return($response);
}

########################################################
# GET data from sendsms.html
########################################################

$phonenum = $_POST['recipient'];
$message = $_POST['message'];
$debug = true;

ozekiSend($phonenum,$message,$debug);

?>
Rysunek 4 - Kod źródłowy skryptu *\WWW\sendsms.php

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.

odpowiedź xml z ozeki sms gateway
Rysunek 5 - Odpowiedź XML z Ozeki SMS Gateway

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!

More information