Ako naplánovať SMS v C/C++

Najjednoduchší spôsob, ako odoslať SMS z C/C++, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána odošle túto SMS na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku. (Obrázok 1)

ako naplánovať sms v ccpp
Obrázok 1 - Ako naplánovať SMS v C/C++

C/C++ kód na odoslanie naplánovanej SMS na mobil

Ukážka kódu C/C++ pre SMS nižšie demonštruje, ako môžete odosielať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice C++ Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

SendScheduledSms.cpp
#include 
#include 
#include "Ozeki.Libs.Rest.h"

using namespace std;

int main()
{
    //Funkcia na vytvorenie unikátneho identifikátora pre každú sprá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;
}
	

Ako použiť ukážku C/C++ pre SMS:

Táto ukážka C/C++ pre SMS môže byť použitá v akejkoľvek C alebo C++ aplikácii. Na jej použitie musíte pridať Ozeki.Libs.Rest.dll ako referenciu do vášho projektu. Po pridaní referencie projektu musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičkovej časti vášho zdrojového kódu C/C++. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Video 1 - Ako stiahnuť a nastaviť ukážkový projekt vyššie (Video návod)

Stiahnuť SendScheduledSms.cpp

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendScheduledSms.cpp.zip (2.97Mb)

Čo je v súbore SendScheduledSms.cpp?

Súbor SendScheduledSms.cpp obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj projekt SendScheduledSms v zip súbore, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať naplánovanú SMS. Tento ukážkový kód je uvedený nižšie. (Obrázok 2)

ukážkový projekt na odoslanie naplánovaných sms správ pomocou c plus plus
Obrázok 2 - Čo je vo vnútri SendScheduledSms.cpp.zip

Ako odoslať naplánovanú SMS z C/C++ (Jednoduchý návod)

Na odoslanie naplánovanej SMS z C/C++:

  1. Nainštalujte HTTP API používateľa
  2. Nastavte Visual Studio
  3. Stiahnite súbor SendScheduledSms.cpp.zip
  4. Extrahujte .zip súbor z priečinka Stiahnuté
  5. Otvorte súbor SendScheduledSms.sln v Visual Studio
  6. Pridajte Ozeki.Libs.Rest.dll ako referenciu
  7. Upravte súbor na naplánovanie SMS z C/C++
  8. Spustite Ozeki SMS Gateway
  9. Spustite SendScheduledSms.cpp v Visual Studio na odoslanie SMS z C/C++
  10. Skontrolujte logy
Nainštalujte Ozeki SMS Gateway a vytvorte HTTP API používateľa

Na to, aby ste mohli odosielať SMS z C/C++, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnaký počítač, kde vyvíjate svoj C/C++ kód v Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, že vaše mobilné pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby ukážka fungovala bez úprav.

Po nastavení prostredia môžete spustiť svoj C/C++ kód.

HTTP API URL na odoslanie SMS z C/C++

Na odoslanie SMS z C/C++ bude vaša C/C++ aplikácia musieť vydať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží vaša C/C++ SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.

http://127.0.0.1:9509/api?action=rest
	

HTTP autentifikácia na odosielanie SMS z C/C++

Na autentifikáciu C/C++ SMS klienta musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používaný formát je: base64(používateľské meno+":"+heslo). V C++ môžete na toto kódovanie použiť nasledujúci kód:

string usernamePassword = username + ":" + password;
string usernamePasswordEncoded = base64::encode(usernamePassword);
return "Basic " + usernamePasswordEncoded;
	

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z C/C++

Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Všimnite si, že obsahujeme typ obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP požiadavka na odoslanie naplánovanej SMS z C/C++

Na odoslanie SMS bude vaša C/C++ aplikácia odosielať HTTP požiadavku podobnú nižšie uvedenej. Všimnite si, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text sprá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 odpoveď prijatá C/C++ SMS príkladom

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Tiež vráti štruktúru zakódovanú v JSON, ktorá poskytuje užitočné informácie o odoslaní sprá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 príklad: SendScheduledSms.sln

Príklad kódu nižšie je súčasťou SendScheduledSms.sln Visual Studio Solution. Visual Studio riešenie môže obsahovať viacero projektov a viacero súborov. V tomto riešení je len jeden projekt: SendScheduledSms.vcxproj, a jeden súbor: SendScheduledSms.cpp.

riešenie na odoslanie naplánovaných SMS správ pomocou c plus plus
Obrázok 3 - SendScheduledSms.sln

Ako odoslať naplánovanú SMS s C++ kódom (Video tutoriál)

Nasledujúce video vysvetľuje, ako naplánovať SMS s C/C++ kódom. Video začína otvorením Ozeki SMS Gateway a po dokončení všetkých krokov budete mať SMS správu čakajúcu na odoslanie v priečinku odložených. Toto 1:44 minútové video je ľahko pochopiteľné a jasne ukazuje všetky kroky. Budete používať Ozeki SMS Gateway dashboard, ktorý vám umožní prístup k najdôležitejším funkciám jediným kliknutím. Naučíte sa, ako spustiť Ozeki SMS Gateway a ako skontrolovať priečinok odoslaných. Ako spustiť kód a ako zadať čas odoslania SMS.

Video 2 - Odoslanie naplánovanej SMS s vyššie uvedeným C++ kódom (Video tutoriál)

Zhrnutie

Hlavnou funkciou tohto článku bolo vysvetliť, ako naplánovať SMS v C/C++ s používateľom HTTP SMS API Ozeki SMS Gateway. Ak ste si návod pozorne prečítali, naplánovanie SMS s C/C++ by malo byť veľmi jednoduché. Zdieľanie informácií v perfektnom čase je kľúčové pre najefektívnejšiu prácu, pretože tak môžete udržať SMS prevádzku nízku a osloviť svojich kolegov práve vtedy, keď sú pripravení správy čítať.

Nezabudnite pokračovať v čítaní návodov na webovej stránke Ozeki pre viac informácií. Ponorte sa do ďalších C/C++ tutoriálov ako Ako prijať SMS v C/C++ a ďalšie.

Teraz si stiahnite Ozeki SMS Gateway a nech sa práca začne!

More information