Jak odeslat více SMS z C/C++

Nejjednodušší způsob, jak odeslat SMS z C/C++, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto 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 odešle tuto SMS na cílový telefon a vrátí HTTP 200 OK odpověď na váš požadavek.

jak odeslat více SMS z ccpp
Obrázek 1 - Jak odeslat více SMS z C/C++

C/C++ kód pro odeslání více SMS na mobil

Ukázkový kód v C/C++ níže ukazuje, jak můžete odeslat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Ozeki.Libs.Rest pro C/C++. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.

SendMultipleSms.cpp
#include <iostream>
#include <string>
#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 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;
}
	

Jak použít příklad C/C++ pro SMS:

Tento příklad C++ pro SMS lze použít v jakékoli aplikaci v C/C++. Pro použití je nutné 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 přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes internet.

Stáhnout SendSms.cpp

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendMultipleSms.cpp.zip (2.97Mb)

Co obsahuje soubor SendMultipleSms.cpp?

Soubor SendMultipleSms.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. Najdete zde také projekt SendMultipleSms v zipu, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

ukázkový projekt pro odeslání více SMS zpráv pomocí c plus plus
Obrázek 2 - Co obsahuje SendMultipleSms.cpp.zip

Jak odeslat více SMS z C/C++ (Rychlé kroky)

Pro odeslání více SMS z C/C++:

  1. Nastavte Visual Studio Community
  2. Stáhněte soubor SendMultipleSms.cpp.zip
  3. Rozbalte .zip soubor ze složky Stažené
  4. Otevřete soubor sendsms.sln v Visual Studiu
  5. Spusťte Ozeki SMS Gateway
  6. Vytvořte HTTP API uživatele v Ozeki
  7. Spusťte kód SendMultipleSms.cpp v C/C++ v Visual Studiu pro odeslání testovací SMS
  8. Zkontrolujte složku Odeslané v Ozeki SMS Gateway

Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele

Pro odesílání SMS z C/C++ je nejprve nutné 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 grafického rozhraní Ozeki 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živatele. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval 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 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 být použita 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 klienta v C/C++ je nutné odeslat uživatelské jméno a heslo v řetězci zakódovaném v base64 na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V C# můžete použít následující kód pro toto kódování:

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ý v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odeslá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 odeslání SMS z C/C++

Pro odeslání SMS bude vaše aplikace v C/C++ 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: 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 odpověď přijatá příkladem SMS v C/C++

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é detaily 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 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"
	    }
	  ]
	}
}
	

Příklad SMS v C/C++: SendMultipleSms.sln

V tomto videu vám ukážeme, jak můžete odeslat více SMS zpráv pomocí ukázkového projektu, který jsme poskytli na stránce s návodem. Video začne stažením ukázkového projektu a skončí spuštěním kódu. Video je krátké, ale velmi snadno pochopitelné. Nebudete mít problém sledovat návod. Pokud jste obeznámeni s C/C++, můžete upravit proměnné v kódu a odeslat přizpůsobenou zprávu na přizpůsobené adresy.

Video 1 - Jak stáhnout a otevřít výše uvedené řešení (Video návod)

Níže uvedený ukázkový kód je součástí řešení Visual Studio SendMultipleSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení je pouze jeden projekt: SendMultipleSms.vcxproj a jeden soubor: SendMultipleSms.cs.

řešení pro odeslání více SMS zpráv pomocí c plus plus
Obrázek 3 - SendMultipleSms.sln

Jak používat ukázkový projekt (Video návod)

V následujícím videu se naučíte, jak spustit kód a jak zkontrolovat výsledky. Nejprve vám video ukáže, jak spustit kód. Poté uvidíte, jak zkontrolovat složku Sent HTTP uživatele. Na konci videa uvidíte detaily odeslané zprávy. Video je dlouhé pouze 46 sekund a obsahuje všechny důležité kroky a informace, které potřebujete k dokončení procesu.

Video 2 - Jak používat řešení SendMultipleSms.cpp (Video návod)

Závěrečné myšlenky

Tento průvodce obsahuje všechny základní informace o tom, jak odeslat více SMS zpráv z C/C++ pomocí HTTP REST SMS API Ozeki SMS Gateway. Zjištěte, že použití tohoto řešení je velmi výhodné, protože C/C++ SMS API funguje s Android SMS Gateway kromě online SMS služeb, které vám umožňují odesílat SMS bezdrátově. Tato služba vám umožňuje doručit cenné informace na více mobilních telefonů najednou, čímž je vaše zasílání zpráv dynamičtější.

Pokračujte a zjistěte více! Na webu Ozeki najdete mnoho dalších podobných dokumentů. Můžete použít C/C++ SMS API s dalšími funkcemi, podívejte se na Jak naplánovat SMS v C/C++.

Uveďte do praxe, co jste se naučili, nejprve si stáhněte Ozeki SMS Gateway!

More information