Použijte svůj web k odesílání SMS

Můžete přidat funkci odesílání SMS na svůj web. Tato metoda ukazuje, jak použít PHP skript pro komunikaci s HTTP API Ozeki SMS Gateway. Nejprve je třeba povolit podporu PHP skriptování na vašem webovém serveru.

Stáhnout příklad odesílání SMS v PHP: sendsms.zip

Video 1 - Jak použít svůj web k odesílání SMS (Návod ve videu)

Představený příklad (php skript pro odesílání SMS) ukazuje, jak může fungovat odesílání zpráv z vašeho webu po kliknutí na 'Odeslat'. Tento nápad využívá HTML formulář. Uživatel může vyplnit tento HTML formulář a kliknout na 'Odeslat'. PHP skript zpracuje dvě proměnné v textových polích nazvaných 'Příjemce' a 'Zpráva'. Také odešle vygenerovanou URL adresu HTTP požadavku na HTTP API Ozeki SMS Gateway (Obrázek 1). Váš webový server a Ozeki SMS Gateway mohou být na dvou různých zařízeních nebo na stejném zařízení.

jak lze odeslat sms z vašeho webu
Obrázek 1 - Jak lze odeslat SMS z vašeho webu

Nejprve byste měli nainstalovat Ozeki SMS Gateway a zkontrolovat, zda z něj můžete ručně odesílat SMS zprávy. Poté prosím stáhněte HTML+PHP skript pro vytvoření a použití formuláře pro odesílání SMS.

Ozeki SMS Gateway lze získat
otevřením stránky ke stažení:
Stáhnout Ozeki SMS Gateway!

Vytvoření HTML formuláře pro odesílání SMS

Pro začátek s tímto řešením prosím uložte soubor sendsms.html. Měl by být uložen v adresáři 'WWW' vašeho webového serveru. Co obsahuje? Obsahuje HTML formulář s textovým polem pro příjemce a zprávu, plus tlačítko 'Odeslat' (Obrázek 2).


<html>
 <body>
   <h1>Můj SMS formulář</h1>
   <form method=post action='sendsms.php'>
   <table border=0>
   <tr>
     <td>Příjemce</td>
     <td><input type='text' name='recipient'></td>
   </tr>
   <tr>
     <td>Zpráva</td>
     <td><textarea rows=4 cols=40 name='message'></textarea></td>
   </tr>
   <tr>
     <td> </td>
     <td><input type=submit name=submit value=Odeslat></td>
   </tr>
   </table>
   </form>
 </body>
</html>
Obrázek 2 - Zdrojový kód *\WWW\sendsms.html

Pokud jste tento soubor úspěšně uložili do adresáře vašeho webového serveru, můžete jej otevřít v libovolném webovém prohlížeči (Obrázek 3). Můžete přidat libovolné telefonní číslo do pole příjemce (např. +420777123456) a napsat text zprávy do dalšího textového pole.

jak by měl vypadat sms formulář
Obrázek 3 - Jak by měl vypadat SMS formulář

Atribut action tagu formuláře odkazuje na sendsms.php. To znamená, že data zadaná do formuláře budou předána do sendsms.php. Data budou odeslána na HTTP API, pokud je stisknuto 'Odeslat'.

Jak připravit svůj PHP SMS skript

'sendsms.php' je cílem pro pole příjemce a zprávy. Tento PHP skript může vytvořit URL pro HTTP API Ozeki SMS Gateway. URL bude vyvolána, pokud je stisknuto tlačítko 'Odeslat'. Nezapomeňte nakonfigurovat proměnné $ozeki_user, $ozeki_password a $ozeki_url. Pokud Ozeki SMS Gateway a váš webový server běží na stejném počítači, můžete ponechat $ozeki_url beze změny. V opačném případě byste měli změnit IP adresu na IP adresu počítače s Ozeki SMS Gateway. Nejnovější verze Ozeki SMS Gateway používá port 9505, zatímco 9501 patří starší verzi. (Obrázek 4)


<?php

########################################################
# Přihlašovací údaje pro SMS Gateway
########################################################

$ozeki_user = "admin";
$ozeki_password = "abc123";
$ozeki_url = "http://127.0.0.1:9505/api?";

########################################################
# Funkce pro odeslání SMS zprávy
########################################################
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>"; }

      //Otevření URL pro odeslání zprávy
      $response = httpRequest($urltouse);
      if ($debug) {
           echo "Response: <br><pre>".
           str_replace(array("<",">"),array("&lt;","&gt;"),$response).
           "</pre><br>"; }

      return($response);
}

########################################################
# Získání dat z sendsms.html
########################################################

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

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

?>
Obrázek 4 - Zdrojový kód skriptu *\WWW\sendsms.php

Po zkopírování a úpravě souborů sendsms.html a sendsms.php do *\WWW\, lze odeslat SMS zprávu přes gateway. Po přijetí k doručení vrátí SMS Gateway v odpovědi referenční číslo zprávy (Obrázek 5). Zprávy jsou v Ozeki SMS Gateway sledovány podle jejich referenčního čísla.

response xml from ozeki sms gateway
Obrázek 5 - Odpověď XML z Ozeki SMS Gateway

Shrnutí

V tomto článku jste viděli, jak přidat SMS funkčnost na svůj web. Používá poskytnutý příklad PHP SMS skriptu pro komunikaci s Ozeki SMS Gateway. Použití SMS Gateway nabízí možnost směrovat SMS zprávy mezi různými koncovými body a dává vám možnost kontrolovat své textové zprávy, jak procházejí systémem, abyste mohli snadno oslovit kohokoli ve vaší organizaci.

Pokud chcete vytvořit spolehlivý a univerzální systém SMS komunikace, najdete více informací na webu Ozeki. Neváhejte se podívat na článek o odesílání SMS z webu pomocí odesílání SMS pomocí C#.

Chcete-li vytvořit svůj první vysoce výkonný systém SMS gateway, je nyní nejlepší čas stáhnout si Ozeki SMS Gateway!

More information