Jak zaplanować wysyłkę SMS w C/C++
Najprostszym sposobem wysyłania SMS z C/C++ jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, wysyłasz wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość w formacie json. Bramka SMS wyśle tę wiadomość na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na Twoje żądanie. (Rysunek 1)
Kod C/C++ do wysyłania zaplanowanych SMS na telefon
Poniższy przykładowy kod C/C++ do wysyłania SMS demonstruje, jak możesz wysyłać SMS korzystając z http rest sms api Ozeki SMS Gateway przy użyciu biblioteki C++ Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z Twoich projektów.
SendScheduledSms.cpp#include#include #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Funkcja do tworzenia unikalnego identyfikatora dla każdej wiadomości srand((unsigned)time(0)); Configuration configuration; configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiUrl = "http://127.0.0.1:9509/api"; Message msg; msg.ToAddress = "+36201111111"; msg.Text = "Hello world!"; msg.TimeToSend = localdatetime(2021, 6, 29, 10, 0, 0); MessageApi api(configuration); auto result = api.Send(msg); cout << result << endl; return 0; }
Jak używać przykładu C/C++ do wysyłania SMS:
Ten przykład C/C++ do wysyłania SMS może być używany w dowolnej aplikacji C lub C++ core. Aby go użyć, musisz dodać bibliotekę Ozeki.Libs.Rest jako referencję do swojego projektu. Po dodaniu referencji do projektu, musisz umieścić dyrektywę using Ozeki.Libs.Rest; w sekcji nagłówkowej swojego kodu źródłowego C/C++. To pozwoli Ci korzystać z klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS. Możesz użyć klasy MessageApi do wysyłania SMS do bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.
Pobierz SendScheduledSms.cpp
Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: SendScheduledSms.cpp.zip (2.97Mb)
Co znajduje się w pliku SendScheduledSms.cpp?
Plik SendScheduledSms.cpp zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkich narzędzi niezbędnych do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt SendScheduledSms w archiwum zip, który zawiera przykładowy kod pokazujący jak wysłać zaplanowanego SMS. Ten przykładowy kod jest wymieniony poniżej. (Rysunek 2)
Jak wysłać zaplanowanego SMS z C/C++ (Proste wskazówki)
Aby wysłać zaplanowanego SMS z C/C++:
- Zainstaluj użytkownika HTTP API
- Skonfiguruj Visual Studio
- Pobierz plik SendScheduledSms.cpp.zip
- Wypakuj plik .zip z folderu Pobrane
- Otwórz plik SendScheduledSms.sln w Visual Studio
- Dodaj bibliotekę Ozeki.Libs.Rest jako referencję
- Edytuj plik, aby zaplanować wysyłkę SMS z C/C++
- Uruchom Ozeki SMS Gateway
- Uruchom SendScheduledSms.cpp w Visual Studio, aby wysłać SMS z C/C++
- Sprawdź logi
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać SMS z C/C++, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod C/C++ w Visual Studio. Po instalacji, kolejnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowego SMS z interfejsu Ozeki GUI, aby sprawdzić, czy Twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP sms api. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.
Po skonfigurowaniu środowiska możesz uruchomić swój kod C/C++.
URL API HTTP do wysyłania SMS z C/C++
Aby wysyłać SMS z C/C++, Twoja aplikacja C/C++ będzie musiała wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP Twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowany na tym samym komputerze, na którym działa aplikacja C/C++ do wysyłania SMS, może to być 127.0.0.1. Jeśli jest zainstalowany na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do wysyłania SMS-ów z C/C++
Aby uwierzytelnić klienta SMS w C/C++, należy wysłać nazwę użytkownika i hasło w postaci zakodowanej w base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W C++ można użyć następującego kodu do wykonania tego kodowania:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Nagłówek żądania HTTP do wysyłania SMS-ów z C/C++
Aby wysłać wiadomości SMS, należy dołączyć następujące linie jako nagłówki w żądaniu HTTP. Należy zauważyć, że zawieramy typ zawartości i nagłówek Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysyłania zaplanowanych SMS-ów z C/C++
Aby przesłać SMS, Twoja aplikacja C/C++ wyśle żądanie HTTP podobne do poniższego. Należy zauważyć, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w JSON. Zawiera numer odbiorcy i tekst wiadomości.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 320 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "create_date": "2021-06-29T10:21:47", "message_id": "gi0j9bk6-y7wv-35qq-tksz-nzgwbc2sxznq", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world!", "time_to_send": "2021-06-29T10:30:00", "to_address": "+36201111111", "valid_until": "2021-07-06T10:21:47" } ] }
Odpowiedź HTTP otrzymana przez przykład SMS w C/C++
Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w JSON, aby dostarczyć przydatne informacje o przesłaniu wiadomości.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Tue, 29 Jun 2021 10:13:46 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "gi0j9bk6-y7wv-35qq-tksz-nzgwbc2sxznq", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-06-29 10:21:47", "valid_until": "2021-07-06 10:21:47", "time_to_send": "2021-06-29 10:30:00", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Przykład SMS w C/C++: SendScheduledSms.sln
Poniższy przykładowy kod jest częścią rozwiązania Visual Studio SendScheduledSms.sln. Rozwiązanie Visual Studio może zawierać wiele projektów i wiele plików. W tym rozwiązaniu jest tylko jeden projekt: SendScheduledSms.vcxproj i jeden plik: SendScheduledSms.cpp.
Jak wysłać zaplanowanego SMS-a za pomocą kodu C++ (Samouczek wideo)
Poniższy film wyjaśnia, jak zaplanować SMS-a za pomocą kodu C/C++. Film zaczyna się od otwarcia bramki SMS Ozeki, a po wykonaniu wszystkich kroków będziesz miał wiadomość SMS oczekującą na wysłanie w folderze odłożonym. Ten 1:44 minutowy film jest łatwy do zrozumienia i wyraźnie pokazuje wszystkie kroki. Będziesz używać pulpitu nawigacyjnego bramki SMS Ozeki, który pozwala dotrzeć do najważniejszych funkcji jednym kliknięciem. Dowiesz się, jak uruchomić bramkę SMS Ozeki i jak sprawdzić folder wychodzący. Jak uruchomić kod i jak podać czas wysłania SMS-a.
Podsumowanie
Główną funkcją tego artykułu było wyjaśnienie, jak zaplanować SMS w C/C++ z użyciem interfejsu HTTP SMS API użytkownika bramki SMS Ozeki. Jeśli uważnie przeczytałeś przewodnik, planowanie SMS-ów w C/C++ powinno być bardzo proste. Udostępnianie informacji w idealnym czasie jest niezbędne dla najbardziej efektywnej pracy, ponieważ w ten sposób możesz utrzymać niski ruch SMS-ów i dotrzeć do swoich współpracowników, gdy są gotowi do czytania wiadomości.
Koniecznie przeczytaj więcej przewodników na stronie Ozeki, aby uzyskać więcej informacji. Zanurz się w innych samouczkach C/C++, takich jak Jak odebrać SMS w C/C++ i więcej.
Teraz pobierz bramkę SMS Ozeki i zacznij pracę!
More information
- C/Cpp wyślij SMS z HTTP rest API (przykład kodu)
- C/Cpp wyślij wiele SMS z HTTP rest API (przykład kodu)
- C/Cpp zaplanuj SMS z HTTP rest API (przykład kodu)
- C/Cpp odbierz SMS z HTTP rest API (przykład kodu)
- C/Cpp usuń SMS z HTTP rest API (przykład kodu)
- Jak pobrać najnowszą bibliotekę C/Cpp SMS API z Github