Koristite svoj vebsajt za slanje SMS poruka

Možete dodati SMS funkcionalnost svom vebsajtu. Ovaj metod pokazuje kako koristiti PHP skriptu za komunikaciju sa HTTP API-jem Ozeki SMS Gateway-a. Prvo morate omogućiti PHP podršku na svom veb serveru.

Preuzmite primer slanja SMS-a u PHP-u: sendsms.zip

Video 1 - Kako koristiti svoj vebsajt za slanje SMS poruka (Video tutorijal)

Prikazani primer (php skripta za slanje SMS-a) pokazuje kako slanje poruka može funkcionisati sa vašeg vebsajta klikom na 'Pošalji'. Ideja koristi HTML formu. Korisnik može popuniti ovu HTML formu i kliknuti 'Pošalji'. PHP skripta obrađuje dve varijable u tekstualnim poljima nazvanim 'Primalac' i 'Poruka'. Takođe šalje generisani HTTP zahtev URL ka HTTP API-ju Ozeki SMS Gateway-a (Slika 1). Vaš veb server i Ozeki SMS Gateway mogu biti na dva različita računara ili na istom računaru.

kako se sms može poslati sa vašeg vebsajta
Slika 1 - Kako se SMS može poslati sa vašeg vebsajta

Prvo treba da instalirate Ozeki SMS Gateway i proverite da li možete ručno slati SMS poruke iz njega. Zatim molimo preuzmite HTML+PHP skriptu kako biste kreirali i koristili formu za slanje SMS-a.

Ozeki SMS Gateway možete dobiti
otvaranjem stranice za preuzimanje:
Preuzmite Ozeki SMS Gateway!
Kreirajte HTML Formu za slanje SMS-a

Molimo sačuvajte sendsms.html da biste započeli sa ovim rešenjem. Treba da ga sačuvate u 'WWW' direktorijumu vašeg veb servera. Šta sadrži? Sadrži HTML formu sa poljem za primaoca i poruku, plus dugme 'Pošalji' (Slika 2).


<html>
 <body>
   <h1>Moja SMS forma</h1>
   <form method=post action='sendsms.php'>
   <table border=0>
   <tr>
     <td>Primalac</td>
     <td><input type='text' name='recipient'></td>
   </tr>
   <tr>
     <td>Poruka</td>
     <td><textarea rows=4 cols=40 name='message'></textarea></td>
   </tr>
   <tr>
     <td> </td>
     <td><input type=submit name=submit value=Pošalji></td>
   </tr>
   </table>
   </form>
 </body>
</html>
Slika 2 - Izvorni kod *\WWW\sendsms.html

Ako ste uspešno sačuvali ovu datoteku u direktorijumu vašeg veb servera, možete je otvoriti u bilo kom veb pretraživaču (Slika 3). Možete dodati bilo koji broj telefona u polje za primaoca (npr. +4407776134588) i napisati tekst poruke u sledeće tekstualno polje.

kako bi sms forma trebala da izgleda
Slika 3 - Kako bi SMS forma trebala da izgleda

Atribut action forme ukazuje na sendsms.php. Što znači da će podaci uneti u formu biti prosleđeni sendsms.php. Podaci će biti poslati HTTP API-ju ako se pritisne 'Pošalji'.

Kako pripremiti vaš PHP SMS skript

'sendsms.php' je cilj za polja primaoca i poruke. Ovaj PHP skript može izgraditi URL za HTTP API Ozeki SMS Gateway-a. On će pokrenuti URL ako se pritisne 'Pošalji'. Ne zaboravite da konfigurišete $ozeki_user, $ozeki_password i $ozeki_url promenljive. U slučaju da Ozeki SMS Gateway i vaš veb server rade na istom mašinu, možete ostaviti $ozeki_url nepromenjen. U suprotnom, trebate promeniti IP u IP adresu mašine Ozeki SMS Gateway-a. Najnovija verzija Ozeki SMS Gateway-a koristi port 9505, dok 9501 pripada starijoj verziji. (Slika 4)


<?php

########################################################
# Prijavne informacije za SMS Gateway
########################################################

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

########################################################
# Funkcije korišćene za slanje SMS poruke
########################################################
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 "Zahtev: <br>$urltouse<br><br>"; }

      //Otvaranje URL-a za slanje poruke
      $response = httpRequest($urltouse);
      if ($debug) {
           echo "Odgovor: <br><pre>".
           str_replace(array("<",">"),array("&lt;","&gt;"),$response).
           "</pre><br>"; }

      return($response);
}

########################################################
# Uzimanje podataka iz sendsms.html
########################################################

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

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

?>
Slika 4 - Izvorni kod *\WWW\sendsms.php skripta

Nakon što su i sendsms.html i sendsms.php kopirani i modifikovani u *\WWW\, SMS poruka može biti poslata putem gateway-a. Nakon što bude prihvaćena za isporuku, SMS Gateway će vratiti referentni broj poruke u odgovoru (Slika 5). Poruke se prate u Ozeki SMS Gateway-u prema njihovom referentnom broju.

odgovor xml od ozeki sms gateway-a
Slika 5 - Odgovor XML od Ozeki SMS Gateway-a

Sažetak

U ovom članku možete videti kako dodati SMS funkcionalnost vašem veb sajtu. Koristi se pruženi primer PHP SMS skripta za pristup Ozeki SMS Gateway-u. Korišćenje SMS Gateway-a nudi mogućnost usmeravanja SMS poruka između različitih krajnjih tačaka i daje vam mogućnost kontrole vaših tekstualnih poruka dok prolaze kroz sistem, kako biste lako mogli kontaktirati bilo koga u vašoj organizaciji.

Ako želite izgraditi pouzdan i svestran SMS komunikacioni sistem, pronađite više informacija o tome na Ozeki veb sajtu. Slobodno pogledajte članak o slanju SMS sa veb sajta koristeći slanje SMS koristeći C#.

Da biste kreirali svoj prvi visokoperformansni SMS gateway sistem, sada je najbolje vreme da preuzmete Ozeki SMS Gateway!

More information