Ako poslať viacero 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 vytvorením 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.

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

C/C++ kód na odoslanie viacerých SMS na mobil

Ukážka kódu C/C++ pre SMS nižšie demonštruje, ako môžete posielať 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.

SendMultipleSms.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 msg1;
	msg1.ToAddress = "+36201111111";
	msg1.Text = "Hello world 1";

	Message msg2;
	msg2.ToAddress = "+36202222222";
	msg2.Text = "Hello world 2";

	Message msg3;
	msg3.ToAddress = "+36203333333";
	msg3.Text = "Hello world 3";

	MessageApi api(configuration);

	auto result = api.Send({ msg1, msg2, msg3 });

	cout << result << endl;

	return 0;
}
	

Ako použiť príklad C/C++ pre SMS:

Tento príklad C++ pre SMS môže byť použitý v akejkoľvek C/C++ aplikácii. Na jeho 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.

Stiahnuť SendSms.cpp

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý a používaný a upravovaný bezplatne.
Stiahnuť: SendMultipleSms.cpp.zip (2.97Mb)

Čo je v súbore SendMultipleSms.cpp?

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

príklad projektu na odoslanie viacerých SMS správ pomocou c plus plus
Obrázok 2 - Čo je vo vnútri SendMultipleSms.cpp.zip

Ako poslať viacero SMS z C/C++ (Rýchle kroky)

Na odoslanie viacerých SMS z C/C++:

  1. Nainštalujte si Visual Studio Community
  2. Stiahnite si súbor SendMultipleSms.cpp.zip
  3. Extrahujte .zip súbor z priečinka Stiahnuté
  4. Otvorte súbor sendsms.sln v Visual Studio
  5. Spustite Ozeki SMS Gateway
  6. Vytvorte používateľa HTTP API v Ozeki
  7. Spustite kód SendMultipleSms.cpp C/C++ v Visual Studio na odoslanie testovacej SMS
  8. Skontrolujte priečinok Odoslané v Ozeki SMS Gateway
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

Na odosielanie SMS z C/C++ musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, 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 pri príprave vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

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

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

Na odosielanie SMS z C/C++ bude vaša C/C++ aplikácia 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ží 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žitý formát je: base64(používateľské meno+":"+heslo). V C# môžete použiť nasledujúci kód na toto kódovanie:

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 následujú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 hlavičky HTTP požiadavky zahrnúť nasledujúce riadky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.

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ú nižšie uvedenej. Upozorňujeme, ž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: 935
Content-Type: application/json
Accept: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509

{
	"messages":	[
		{
			"create_date":	"2021-06-29T08:40:11",
			"message_id":	"rde8491s-5wpt-am95-bxsh-vu1a8kns10et",
			"submit_delivery_requested":	true,
			"submit_report_requested":	true,
			"submit_view_requested":	true,
			"text":	"Hello world 1",
			"time_to_send":	"2021-06-29T08:40:11",
			"to_address":	"+36201111111",
			"valid_until":	"2021-07-06T08:40:11"
		},
		{
			"create_date":	"2021-06-29T08:40:11",
			"message_id":	"qxhm3cuw-kwqb-mldi-b0xb-vn8sfway1hs2",
			"submit_delivery_requested":	true,
			"submit_report_requested":	true,
			"submit_view_requested":	true,
			"text":	"Hello world 2",
			"time_to_send":	"2021-06-29T08:40:11",
			"to_address":	"+36202222222",
			"valid_until":	"2021-07-06T08:40:11"
		},
		{
			"create_date":	"2021-06-29T08:40:11",
			"message_id":	"hnvcmp4j-a303-4432-psok-txujv54w8wrg",
			"submit_delivery_requested":	true,
			"submit_report_requested":	true,
			"submit_view_requested":	true,
			"text":	"Hello world 3",
			"time_to_send":	"2021-06-29T08:40:11",
			"to_address":	"+36203333333",
			"valid_until":	"2021-07-06T08:40:11"
		}
	]
}
	
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. Tiež vráti štruktúru zakódovanú v JSON, ktorá poskytne 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 08:36:20 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"data": {
	  "total_count": 3,
	  "success_count": 3,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "rde8491s-5wpt-am95-bxsh-vu1a8kns10et",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-06-29 08:40:11",
	      "valid_until": "2021-07-06 08:40:11",
	      "time_to_send": "2021-06-29 08:40:11",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "qxhm3cuw-kwqb-mldi-b0xb-vn8sfway1hs2",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-06-29 08:40:11",
	      "valid_until": "2021-07-06 08:40:11",
	      "time_to_send": "2021-06-29 08:40:11",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "hnvcmp4j-a303-4432-psok-txujv54w8wrg",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-06-29 08:40:11",
	      "valid_until": "2021-07-06 08:40:11",
	      "time_to_send": "2021-06-29 08:40:11",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Príklad SMS v C/C++: SendMultipleSms.sln

V tomto videu vám ukážeme, ako môžete odoslať viacero SMS správ pomocou príkladového projektu, ktorý sme poskytli na stránke s návodom. Video začne sťahovaním príkladového projektu a skončí spustením kódu. Video je krátke, ale veľmi ľahko zrozumiteľné. Nebudete mať žiadny problém sledovať návod. Ak ste oboznámení s C/C++, pokojne môžete upraviť premenné v kóde, aby ste odoslali prispôsobenú správu na prispôsobené adresy.

Video 1 - Ako stiahnuť a otvoriť riešenie vyššie (Video návod)

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

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

Ako používať príkladový projekt (Video návod)

V nasledujúcom videu sa dozviete, ako spustiť kód a ako skontrolovať výsledky. Najprv vám video ukáže, ako spustiť kód. Potom uvidíte, ako skontrolovať priečinok Sent HTTP používateľa. Na konci videa uvidíte podrobnosti odoslanej správy. Video je dlhé len 46 sekúnd a obsahuje všetky dôležité kroky a informácie, ktoré potrebujete na dokončenie procesu.

Video 2 - Ako používať riešenie SendMultipleSms.cpp (Video návod)

Záverečné myšlienky

Tento sprievodca obsahuje všetky základné informácie o tom, ako odoslať viacero SMS správ z C/C++ pomocou HTTP REST SMS API Ozeki SMS Gateway. Zistíte, že používanie tohto riešenia je veľmi výhodné, pretože C/C++ SMS API funguje s Android SMS Gateway okrem online poskytovateľov SMS služieb, ktorí vám umožňujú odosielať SMS bezdrôtovo. Táto služba vám umožňuje doručiť cenné informácie na viac ako jeden mobilný telefón naraz, čím sa vaše správy stávajú dynamickejšími.

Pokračujte a dozviete sa viac! Na webovej stránke Ozeki nájdete mnoho ďalších podobných dokumentov. Môžete použiť C/C++ SMS API s inými funkciami, pozrite si Ako naplánovať SMS v C/C++.

Uvediete do praxe to, čo ste sa naučili, najprv si stiahnite Ozeki SMS Gateway!

More information