Jak naplánovat SMS v C/C++
Nejjednodušší způsob, jak odesílat SMS z C/C++, je použít vestavené HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy vytvořením HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu json. SMS brána následně odešle tuto SMS příjemci a vrátí HTTP 200 OK odpověď na váš požadavek. (Obrázek 1)
C/C++ kód pro odeslání naplánované SMS na mobil
Níže uvedený ukázkový kód v C/C++ demonstruje, jak můžete odesílat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny C++ Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
SendScheduledSms.cpp#include#include #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Funkce pro vytvoření unikátního identifikátoru pro každou zprávu 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 použít ukázku C/C++ SMS:
Tato ukázka C/C++ SMS může být použita v jakékoli základní aplikaci v C nebo C++. Pro její použití musíte přidat knihovnu Ozeki.Libs.Rest jako referenci do vašeho projektu. Po přidání reference do projektu musíte vložit direktivu using Ozeki.Libs.Rest; do hlavičkové části vašeho zdrojového kódu v C/C++. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána následně přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.
Stáhnout SendScheduledSms.cpp
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendScheduledSms.cpp.zip (2.97Mb)
Co obsahuje soubor SendScheduledSms.cpp?
Soubor SendScheduledSms.cpp obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné pro odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendScheduledSms, který obsahuje ukázkový kód ukazující jak odeslat naplánovanou SMS. Tento ukázkový kód je uveden níže. (Obrázek 2)
Jak odeslat naplánovanou SMS z C/C++ (Jednoduchý návod)
Pro odeslání naplánované SMS z C/C++:
- Nainstalujte HTTP API uživatele
- Nastavte Visual Studio
- Stáhněte soubor SendScheduledSms.cpp.zip
- Rozbalte .zip soubor ze složky Stažené soubory
- Otevřete soubor SendScheduledSms.sln v Visual Studiu
- Přidejte knihovnu Ozeki.Libs.Rest jako referenci
- Upravte soubor pro naplánování SMS z C/C++
- Spusťte Ozeki SMS Gateway
- Spusťte SendScheduledSms.cpp v Visual Studiu pro odeslání SMS z C/C++
- Zkontrolujte logy
Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele
Pro možnost odesílat SMS z C/C++ je nejprve potřeba nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód v C/C++ ve Visual Studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření HTTP SMS API uživatelského účtu. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby ukázka fungovala bez úprav.
Po nastavení prostředí můžete spustit svůj kód v C/C++.
HTTP API URL pro odesílání SMS z C/C++
Pro odesílání SMS z C/C++ bude vaše aplikace v C/C++ muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží vaše SMS aplikace v C/C++, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z C/C++
Pro autentizaci C/C++ SMS klienta je třeba odeslat uživatelské jméno a heslo v řetězci zakódovaném do base64 na server v HTTP požadavku. Použitý formát je: base64(uživatelské_jméno+":"+heslo). V C++ můžete pro toto kódování použít následující kód:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
Například pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odesílání SMS z C/C++
Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odesílání naplánovaných SMS z C/C++
Pro odeslání SMS bude vaše C/C++ aplikace odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.
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" } ] }
HTTP odpověď přijatá v C/C++ SMS příkladu
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Vrátí také strukturu zakódovanou v JSON, která vám poskytne užitečné informace o odeslání zprávy.
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" } ] } }
C/C++ SMS příklad: SendScheduledSms.sln
Níže uvedený příklad kódu je součástí řešení Visual Studio SendScheduledSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení je pouze jeden projekt: SendScheduledSms.vcxproj a jeden soubor: SendScheduledSms.cpp.
Jak odeslat naplánovanou SMS pomocí C++ kódu (Video návod)
Následující video vysvětluje, jak naplánovat SMS pomocí C/C++ kódu. Video začíná otevřením Ozeki SMS brány a po dokončení všech kroků budete mít SMS zprávu čekající na odeslání ve složce odložených. Toto 1:44 dlouhé video je snadno srozumitelné a jasně ukazuje všechny kroky. Budete používat Ozeki SMS bránu, která vám umožní přístup k nejdůležitějším funkcím jedním kliknutím. Naučíte se, jak spustit Ozeki SMS bránu a jak zkontrolovat složku odchozích. Jak spustit kód a jak zadat čas odeslání SMS.
Shrnutí
Hlavní funkcí tohoto článku bylo vysvětlit, jak naplánovat SMS v C/C++ pomocí HTTP SMS API uživatele Ozeki SMS brány. Pokud jste si průvodce pečlivě přečetli, plánování SMS v C/C++ by mělo být velmi snadné. Sdílení informací ve správný čas je zásadní pro nejefektivnější práci, protože tímto způsobem můžete udržet SMS provoz nízký a oslovit své kolegy, když jsou připraveni číst zprávy.
Nezapomeňte pokračovat ve čtení průvodců na webu Ozeki pro více informací. Ponořte se do dalších C/C++ tutoriálů, jako je Jak přijímat SMS v C/C++ a další.
Nyní si stáhněte Ozeki SMS bránu a začněte pracovat!
More information
- C/Cpp odeslání SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp odeslání více SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp naplánování SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp přijetí SMS pomocí HTTP REST API (ukázka kódu)
- C/Cpp smazání SMS pomocí HTTP REST API (ukázka kódu)
- Jak stáhnout nejnovější knihovnu C/Cpp SMS API z Githubu