Ako poslať SMS z C/C++

Najjednoduchší spôsob, ako poslať SMS z C/C++, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy pomocou HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. SMS brána pošle túto SMS na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku.

C/C++ kód na odoslanie SMS na mobil

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

SendSms.cpp
#include <iostream>
#include <string>
#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!";

	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 akomkoľvek C alebo C++ aplikácii. Na použitie je potrebné 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čky 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.

ako poslať sms z ccpp
Obrázok 1 - Ako poslať SMS z C/C++

Stiahnuť SendSms.cpp

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

Čo obsahuje súbor SendSms.cpp.zip?

Súbor SendSms.cpp.zip 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 SendSms, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.

Obrázok 2 - Čo je vo vnútri SendSms.cpp.zip

Ako poslať SMS z C/C++ (Jednoduché pokyny)

Na odoslanie SMS z C/C++:

  1. Nainštalujte používateľa HTTP API
  2. Povoľte Log komunikácie na karte Pokročilé
  3. Nastavte Visual Studio
  4. Stiahnite a rozbaľte súbor SendSms.cpp.zip
  5. Otvorte súbor sendsms.sln v Visual Studio
  6. Spustite aplikáciu Ozeki SMS Gateway
  7. Spustite kód SendSMS.cpp v C++ v Visual Studio
  8. Skontrolujte logy, či bola SMS odoslaná
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

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

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

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

Na odoslanie SMS z C/C++ bude váš kód C/C++ musieť odoslať 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 aplikácia C/C++ pre SMS, 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
	
Autentizácia HTTP na odoslanie SMS z C/C++

Na autentizáciu klienta SMS v C/C++ je potrebné odoslať používateľské meno a heslo v reťazci zakódovanom do base64 na server v HTTP požiadavke. Použitý formát je: base64(používateľské meno+":"+heslo). V C/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 reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

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

Na odoslanie SMS správ je potrebné zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že obsahujeme hlavičku Content-Type a Authorization.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP požiadavka na odoslanie SMS z C/C++

Na odoslanie SMS bude vaša aplikácia v C/C++ posielať HTTP požiadavku podobnú ako je uvedená nižšie. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. 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-29T07:55:54",
			"message_id":	"hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9",
			"submit_delivery_requested":	true,
			"submit_report_requested":	true,
			"submit_view_requested":	true,
			"text":	"Hello world!",
			"time_to_send":	"2021-06-29T07:55:54",
			"to_address":	"+36201111111",
			"valid_until":	"2021-07-06T07:55:54"
		}
	]
}
	
HTTP odpoveď prijatá príkladom SMS v C/C++

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. Bude tiež vracať š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: Mon, 28 Jun 2021 16:58:02 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": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-06-29 07:55:54",
	      "valid_until": "2021-07-06 07:55:54",
	      "time_to_send": "2021-06-29 07:55:54",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Pripojte svoju SMS bránu k mobilnej sieti a vytvorte HTTP API užívateľský účet (Video návod)

Predpokladáme, že ste už nainštalovali Ozeki SMS Gateway, a že ste pripojili ju k mobilnej sieti. Aby ste mohli odosielať SMS na mobilný telefón z C#, musíte nastaviť užívateľský účet HTTP API v Ozeki SMS Gateway. V tomto videu vám ukážeme, ako to urobiť. Video začne pridaním nového užívateľa a skončí funkčným HTTP API. Taktiež sa dozviete, ako zmeniť úroveň logovania API. Toto 30-sekundové video je jednoduché na sledovanie a detailné, navyše používame Ozeki SMS Gateway, ktorá ponúka intuitívne používateľské rozhranie. Nebudete mať žiadny problém s nasledovaním návodu.

Video 1 - Ako nastaviť užívateľský účet HTTP API (Video návod)

Ako odoslať SMS z C/C++ pomocou C/C++ SMS API (Video návod)

Toto video vám ukáže, ako si stiahnuť súbor SendSms.cpp.zip z tejto stránky a ako si jeho obsah stiahnuť do Visual Studia. Ak sledujete video, všimnete si, že obsah SendSms.cpp zipu je umiestnený na pracovnej ploche Windows. Uvidíte tiež, že dvojklikom na súbor sendsms.sln otvoríme riešenie. Visual Studio zobrazí niektoré varovania, pretože súbor pochádza z internetu. Jednoducho kliknite na OK, aby ste týmto varovaniam zabránili.

Príklad SMS v C/C++: SendSms.sln

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

Obrázok 3 - SendSms.sln

Ako skontrolovať, že SMS bola prijatá HTTP užívateľom

Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Log môžete skontrolovať otvorením detailov HTTP užívateľa z konzoly správy Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať. Video začne otvorenou Ozeki SMS Gateway a skončí v menu Udalosti. Dozviete sa, kde kliknúť a kde hľadať log HTTP užívateľa. 34-sekundové video je detailné, ale veľmi ľahko zrozumiteľné. Nestratíte sa v používateľskom rozhraní, pretože Ozeki SMS Gateway ponúka veľmi intuitívne.

Video 3 - Ako skontrolovať, že SMS bola prijatá HTTP užívateľom (Video návod)

Ako skontrolovať, že SMS bola odoslaná do mobilnej siete

Posledným krokom pri overovaní postupu je pozrieť sa na záznamy mobilného sieťového pripojenia. Možno budete musieť pred odoslaním správy zapnúť zaznamenávanie v konfigurácii pripojenia, aby ste videli záznamy. Ak je zaznamenávanie povolené, uvidíte telefónne číslo a text správy, ktorú ste odoslali.

Video 4 - Ako otestovať, či požiadavku prijal SMPP klient (Video návod)

Prijatie SMS na Android

V tomto videu uvidíte proces prijatia SMS správy na Android. 18-sekundové video začína obyčajnou domovskou stránkou Android a ukáže vám oznámenie v prípade prichádzajúcej správy. Dozviete sa tiež, ako otvoriť aplikáciu Správy, kde môžete získať viac informácií o správe a odpovedať na ňu. Proces je ľahko pochopiteľný a video ho ukazuje v celom rozsahu.

Video 5 - SMS správa prijatá na mobilnom telefóne (Video návod)

Zhrnutie

Tento článok bol napísaný, aby vás naučil, ako odosielať SMS z C/C++ pomocou HTTP API používateľa Ozeki SMS Gateway. HTTP používateľské pripojenie v Ozeki SMS Gateway vám ponúka veľmi spoľahlivé pripojenie a úžasnú rýchlosť, aby vaše podnikanie fungovalo hladko. Toto riešenie môže urobiť vašu organizáciu efektívnejšou, pretože vám umožňuje rýchlo a jednoducho odosielať dôležité SMS správy prostredníctvom vašej C/C++ aplikácie.

Existuje oveľa viac článkov, ktoré vám môžu pomôcť, takže určite pokračujte v čítaní. Prejdite na návod Ako odoslať viacero SMS z C/C++ a naučte sa viac.

Začnite používať Ozeki SMS Gateway ešte dnes! Stiahnite si ho z webovej stránky Ozeki.

More information