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)

jak naplánovat sms v ccpp
Obrázek 1 - Jak naplánovat SMS v C/C++

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.

Video 1 - Jak stáhnout a nastavit výše uvedený ukázkový projekt (Návod ve videu)

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)

ukázkový projekt pro odesílání naplánovaných sms zpráv pomocí c plus plus
Obrázek 2 - Co je uvnitř SendScheduledSms.cpp.zip

Jak odeslat naplánovanou SMS z C/C++ (Jednoduchý návod)

Pro odeslání naplánované SMS z C/C++:

  1. Nainstalujte HTTP API uživatele
  2. Nastavte Visual Studio
  3. Stáhněte soubor SendScheduledSms.cpp.zip
  4. Rozbalte .zip soubor ze složky Stažené soubory
  5. Otevřete soubor SendScheduledSms.sln v Visual Studiu
  6. Přidejte knihovnu Ozeki.Libs.Rest jako referenci
  7. Upravte soubor pro naplánování SMS z C/C++
  8. Spusťte Ozeki SMS Gateway
  9. Spusťte SendScheduledSms.cpp v Visual Studiu pro odeslání SMS z C/C++
  10. 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.

řešení pro odesílání naplánovaných SMS zpráv pomocí C plus plus
Obrázek 3 - SendScheduledSms.sln

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.

Video 2 - Odesílání naplánované SMS pomocí výše uvedeného C++ kódu (Video návod)

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