Jak wysłać zaplanowaną wiadomość SMS

Ten przewodnik zawiera informacje na temat wysyłania zaplanowanych wiadomości SMS oraz sposobu otrzymywania raportów z Ozeki SMS Gateway, gdy wiadomość zostanie przesłana do sieci komórkowej i gdy zostanie dostarczona do odbiorcy. (Wideo 1, Rysunek 1)

Wideo 1 - Jak wysłać zaplanowaną wiadomość SMS (Samouczek wideo)

zaplanowana wiadomość sms z serwera apache
Rysunek 1 - Zaplanowana wiadomość SMS z serwera Apache

Krok 1 - Instalacja użytkownika HTTP API

Możesz łatwo zainstalować użytkownika HTTP API w konsoli zarządzania, klikając Dodaj nowego użytkownika/aplikację... w panelu Użytkownicy/Aplikacje. Otworzy się interfejs składający się z dwóch paneli. Prawy panel zawiera użytkowników i aplikacje, które możesz zainstalować, wraz z krótkim opisem obok nich. Znajdź użytkownika HTTP API i kliknij niebieski przycisk 'zainstaluj' obok niego (Rysunek 2).

instalacja użytkownika http api
Rysunek 2 - Instalacja użytkownika HTTP API

W sekcji Nazwa podaj unikalną nazwę dla użytkownika HTTP API oraz wprowadź nazwę użytkownika i hasło do uwierzytelnienia (Rysunek 3).

definiowanie nazwy użytkownika i hasła
Rysunek 3 - Definiowanie nazwy użytkownika i hasła

Krok 2 - Włącz rejestrowanie zdarzeń komunikacyjnych

Aby móc zobaczyć komunikację HTTP w zakładce Zdarzenia użytkownika HTTP API, należy włączyć rejestrowanie zdarzeń komunikacyjnych. Aby to zrobić, otwórz zakładkę Konfiguracja użytkownika HTTP. W sekcji Poziom rejestrowania w zakładce Zaawansowane zaznacz opcję Rejestruj zdarzenia komunikacyjne, jak pokazano na Rysunku 4.

włącz rejestrowanie komunikacji
Rysunek 4 - Włącz rejestrowanie komunikacji

Krok 3 - Utwórz kod PHP do wysyłania wiadomości

Następnym krokiem jest utworzenie plików php w głównym katalogu serwera Apache. Przejdź do folderu /var/www/html i utwórz plik index.php (Rysunek 5).

utwórz index.php
Rysunek 5 - Utwórz index.php

Po wklejeniu kodu PHP zmodyfikuj połączenie z serwerem, zmień URL, nazwę użytkownika i hasło na adres IP Twojej bramki SMS oraz nazwę użytkownika i hasło użytkownika HTTP API. Następnie zmień adresy IP w URL-ach raportów na adres IP serwera Apache (Rysunek 6).

konfiguracja szczegółów index.php
Rysunek 6 - Konfiguracja szczegółów index.php

Przykładowy kod do wysłania zaplanowanej wiadomości SMS

<!DOCTYPE html>
<html>
<head>
    <title>Http Request</title>
</head>
<body>
    <?php    
        //Server connection details
        $httpurl = "https://192.168.93.133:9509/";
        $username = "ht1";
        $password = "qwe123";

        //SMS recipient and message text
        $recipient = urlencode("+36201324567");
        $messagedata = urlencode("Hello world");

        //Schedule 5 minutes from now
        $date = strtotime(date("Y-m-d H:i:s")." +5 minutes"); 
        $sendondate = urlencode(date("Y-m-d H:i:s",$date));

        //Report urls
        $reportto = 'http://192.168.93.242/report.php?'.
                'reporttype=$reporttype&messageid=$messageid';
        $reporturl = urlencode($reportto);

     
	//Build the request 
        $sendString = $httpurl."api?action=sendmessage".
		"&username=".$username.
		"&password=".$password.
		"&recipient=".$recipient.
		"&recipient=".$recipient.
		"&sendondate=".$sendondate.
                "&reporturl=".$reporturl.
                "&messagedata=".$messagedata;
 
        echo '<p><b> Sending http request:</b><br> '.$sendString.'</p>';
        $aContext = array(
            'http' => array(
                'method'  => 'GET',
            ),
            'ssl' => array(
                'verify_peer' => false,
                'verify_peer_name' => false,
            )
        );
        $cxContext = stream_context_create($aContext);
        $response = file_get_contents($sendString, true, $cxContext);
 
        echo '<p><b> Http response received :</b> </p>';
        echo '<xmp>' . $response. '</xmp>';
    ?>
</body>
</html>

Krok 4 - Utwórz kod PHP dla raportów wiadomości

Teraz utwórz plik raportu php w głównym katalogu www serwera Apache. W folderze /var/www/html utwórz plik report.php, jak widać na Rysunku 7.

utwórz report.php
Rysunek 7 - Utwórz report.php

W pliku report.php wklej poniższy kod PHP do odbierania raportów SMS. Ten kod zapisuje wszystkie otrzymane raporty SMS do pliku smsreport.txt w folderze tmp (Rysunek 8).

szczegóły report.php
Rysunek 8 - Szczegóły report.php

Przykładowy kod do przetwarzania przychodzących raportów

<!DOCTYPE html>
<html>
<head>
    <title>Http submit report handler</title>
</head>
<body>
    <?php    
        $file = "tmp/smsreport.txt";       

        $date = date("Y-m-d H:i:s"); 
        $messageid = $_GET["messageid"];
        $reporttype = $_GET["reporttype"];

        $line = $date." ".$messageid." ".$reporttype."\r\n";
	file_put_contents($file, $line, FILE_APPEND);

	echo "Logged: $line";
    ?>
</body>
</html>

Krok 5 - Wyślij wiadomość SMS

Po utworzeniu plików PHP w serwerze Apache możesz wysyłać SMS-y. W przeglądarce otwórz index.php, a zobaczysz wysłane żądanie HTTP i odpowiedź bramki SMS (Rysunek 9).

wyślij wiadomość SMS za pomocą index.php
Rysunek 9 - Wyślij wiadomość SMS za pomocą index.php

W zakładce zdarzeń Ozeki SMS Gateway możesz również zobaczyć komunikację HTTP (Rysunek 10).

wiadomość odebrana przez bramkę SMS
Rysunek 10 - Wiadomość odebrana przez bramkę SMS

Jeśli otworzysz folder skrzynki nadawczej Ozeki SMS Gateway, zobaczysz, że wiadomość jest przechowywana w folderze Odroczone, ponieważ zostanie wysłana w przyszłości (Rysunek 11).

wiadomość w skrzynce nadawczej
Rysunek 11 - Wiadomość w skrzynce nadawczej

W zakładce Tagi szczegółów wiadomości możesz sprawdzić, kiedy SMS zostanie wysłany i adres URL raportu, który zostanie wywołany przez Ozeki SMS Gateway, jeśli SMS zostanie wysłany. (Rysunek 12)

tagi wiadomości
Rysunek 12 - Tagi wiadomości

W końcu zobaczysz, że Ozeki SMS Gateway wysyła wiadomość w określonym dniu i godzinie, jak widać na Rysunku 13.

wiadomość wysłana
Rysunek 13 - Wiadomość wysłana

Krok 5 - Otrzymano raport wiadomości

Następnie raport SMS jest wysyłany z powrotem do serwera WWW Apache i zapisywany w pliku smsreport.txt (Rysunek 14).

raport wiadomości w smsreporter.txt
Rysunek 14 - Raport wiadomości w smsreporter.txt

Przykładowy plik raportu

2020-08-22 09:06:27 9b457df4-7a38-4fef-b03f-a11d4cf73e70 accepted
2020-08-22 09:07:11 9b457df4-7a38-4fef-b03f-a11d4cf73e7 accepted
2020-08-22 09:07:54 617c6ec4-5844-4895-9a5c-af98d3ecace5 accepted
2020-08-22 09:10:33 617c6ec4-5844-4895-9a5c-af98d3ecace5 delivered
2020-08-22 09:10:40 9b457df4-7a38-4fef-b03f-a11d4cf73e70 delivered
2020-08-22 09:10:54 0f9603b3-ce53-4c28-bbe5-1c69d855e2ee accepted
2020-08-22 09:10:56 0f9603b3-ce53-4c28-bbe5-1c69d855e2ee undelivered
2020-08-22 09:11:27 f531af05-462d-4a74-8eb2-40ad29f06351 accepted
2020-08-22 09:11:32 f531af05-462d-4a74-8eb2-40ad29f06351 delivered
2020-08-22 09:13:34 7ad2c5e2-fa46-472f-adc1-fe2a28bbfa7c accepted
2020-08-22 09:13:45 7ad2c5e2-fa46-472f-adc1-fe2a28bbfa7c delivered
2020-08-22 09:14:35 0e2286bb-5a29-4d59-b636-ff42e2eec375 accepted
2020-08-22 09:17:35 4079feb1-2cf5-4d0f-92e6-4d97e086b918 accepted
2020-08-22 09:17:40 4079feb1-2cf5-4d0f-92e6-4d97e086b918 undelivered

Podsumowanie

Z powyższego artykułu dowiedziałeś się o wysyłaniu zaplanowanych wiadomości SMS. Wysyłanie zaplanowanych wiadomości SMS może zoptymalizować Twój plan masowego marketingu SMS, wysyłając wiadomości, gdy klient może naprawdę skupić się na informacjach, które chcesz mu przekazać. Ponadto, jeśli masz ważne informacje, które chcesz wysłać do odbiorcy, możesz skonfigurować zaplanowanego SMS-a. W ten sposób nie zapomnisz wysłać wiadomości.

Jeśli chcesz dowiedzieć się więcej o technologii stojącej za funkcją zaplanowanych SMS-ów, odwiedź stronę Ozeki, gdzie znajdziesz przydatne artykuły na wiele tematów. Przede wszystkim powinieneś zacząć od odbierania SMS-ów w PHP. Jeśli chcesz korzystać z funkcji SMS w innych językach programowania, może zacznij od artykułu SMS z Javą.

Nie trać więcej czasu. Pobierz Ozeki SMS Gateway i zacznij wysyłać SMS-y już teraz!

More information