Jak odeslat 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. 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 odešle tuto SMS příjemci a vrátí HTTP 200 OK odpověď na váš požadavek.

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

Ukázka kódu 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.

SendSms.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 msg;
	msg.ToAddress = "+36201111111";
	msg.Text = "Hello world!";

	MessageApi api(configuration);

	auto result = api.Send(msg);

	cout << result << endl;

	return 0;
}
	

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

Tento příklad C/C++ SMS lze použít v jakékoli aplikaci v C nebo 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 do hlavičkové části vašeho zdrojového kódu v C/C++ vložit direktivu using Ozeki.Libs.Rest;. 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ď prostřednictvím bezdrátového připojení nebo přes internet.

jak odeslat sms z ccpp
Obrázek 1 - Jak odeslat SMS z C/C++

Stáhnout SendSms.cpp

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

Co obsahuje soubor SendSms.cpp.zip?

Soubor SendSms.cpp.zip 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 SendSms, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

Obrázek 2 - Co je uvnitř SendSms.cpp.zip

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

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

  1. Nainstalujte uživatele HTTP API
  2. Povolte Logování komunikačních událostí na záložce Pokročilé
  3. Nastavte Visual Studio
  4. Stáhněte a rozbalte soubor SendSms.cpp.zip
  5. Otevřete soubor sendsms.sln v Visual Studiu
  6. Spusťte aplikaci Ozeki SMS Gateway
  7. Spusťte kód SendSMS.cpp v C++ v Visual Studiu
  8. Zkontrolujte logy, zda byla SMS odeslána

Nainstalujte Ozeki SMS Gateway a vytvořte uživatele HTTP API

Abyste mohli odesílat SMS z C/C++, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód v C/C++ v 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 a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem přípravy prostředí je vytvoření uživatele HTTP SMS API. 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++.

URL HTTP API pro odesílání SMS z C/C++

Pro odeslání SMS z C/C++ bude váš kód v C/C++ muset odeslat HTTP požadavek na SMS bránu. URL API 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 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 klienta SMS v C/C++ je nutné odeslat uživatelské jméno a heslo jako base64 kódovaný řetězec na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V C/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í base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

Hlavička HTTP požadavku pro odeslání SMS z C/C++

Pro odeslání SMS zpráv je nutné do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznámka: Zahrnujeme hlavičku Content-Type a Authorization.

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. Tělo HTTP je řetězec 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-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 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. Také vrátí 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: 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"
	    }
	  ]
	}
}
	

Připojte svou SMS bránu k mobilní síti a vytvořte účet HTTP API uživatele (Video návod)

Předpokládáme, že jste již nainstalovali Ozeki SMS Gateway, a že jste připojili k mobilní síti. Abyste mohli odesílat SMS na mobilní telefon z C#, musíte nastavit účet HTTP API uživatele v Ozeki SMS Gateway. V tomto videu vám ukážeme, jak to udělat. Video začne přidáním nového uživatele a skončí funkčním HTTP API. Také se dozvíte o změně úrovně logování API. Toto 30sekundové video je snadno sledovatelné a detailní, navíc používáme Ozeki SMS Gateway, které nabízí intuitivní uživatelské rozhraní. Nebudete mít problém sledovat návod.

Video 1 - Jak nastavit účet HTTP API uživatele (Video návod)

Jak odeslat SMS z C/C++ pomocí C/C++ SMS API (Video návod)

Toto video vám ukáže, jak stáhnout soubor SendSms.cpp.zip z této stránky a jak jeho obsah stáhnout v Visual Studiu. Pokud sledujete video, všimnete si, že obsah SendSms.cpp zipu je umístěn na plochu Windows. Uvidíte také, že dvakrát klikneme na soubor řešení sendsms.sln, abychom jej otevřeli. Visual Studio zobrazí některá varování, protože soubor pochází z webu. Stačí kliknout na OK, abyste těmto varováním předešli.

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

Níže uvedený příklad kódu je součástí řešení Visual Studio SendSms.sln. Řešení Visual Studio může obsahovat více projektů a více souborů. V tomto řešení je pouze jeden projekt: SendSms.vcxproj, a jeden soubor: SendSms.cpp.

Obrázek 3 - SendSms.sln

Jak zkontrolovat, že SMS byla přijata HTTP uživatelem

Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením podrobností HTTP uživatele z konzole pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit. Video začne otevřeným Ozeki SMS Gateway a skončí nabídkou Události. Dozvíte se, kam kliknout a kde hledat protokol HTTP uživatele. 34sekundové video je detailní, ale velmi snadno pochopitelné. Neztratíte se v uživatelském rozhraní, protože Ozeki SMS Gateway nabízí velmi intuitivní rozhraní.

Video 3 - Jak zkontrolovat, že SMS byla přijata HTTP uživatelem (Video návod)

Jak zkontrolovat, že SMS byla odeslána do mobilní sítě

Posledním krokem při ověřování postupu je prohlédnout si záznamy připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli záznamy. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.

Video 4 - Jak otestovat, zda byl požadavek přijat SMPP klientem (Návod ve videu)

Příjem SMS na Androidu

V tomto videu uvidíte proces přijetí SMS zprávy na Androidu. 18 sekund dlouhé video začíná běžnou domovskou stránkou Androidu a ukazuje vám oznámení v případě příchozí zprávy. Dozvíte se také, jak otevřít aplikaci Zprávy, kde můžete získat více informací o zprávě a odpovědět na ni. Proces je snadno pochopitelný a video jej ukazuje v celém rozsahu.

Video 5 - SMS zpráva přijatá na mobilním telefonu (Návod ve videu)

Shrnutí

Tento článek je napsán, aby vás naučil, jak odesílat SMS z C/C++ pomocí HTTP API uživatele Ozeki SMS Gateway. HTTP uživatelské připojení v Ozeki SMS Gateway vám nabízí velmi spolehlivé připojení a úžasnou rychlost, aby vaše podnikání fungovalo hladce. Toto řešení může vaši organizaci učinit efektivnější, protože vám umožňuje rychle a snadno odesílat důležité SMS zprávy prostřednictvím vaší C/C++ aplikace.

K dispozici je mnohem více článků, které vám pomohou, proto nezapomeňte pokračovat ve čtení. Pokračujte na návod Jak odeslat více SMS z C/C++ a naučte se více.

Začněte používat Ozeki SMS Gateway nyní! Stáhněte si jej z webových stránek Ozeki.

More information