Kako poslati več SMS sporočil iz C/C++

Najenostavnejši način za pošiljanje SMS sporočil iz C/C++ je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste SMS sporočila pošiljali z izdajo HTTP Post zahteve proti SMS prehodu. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal to SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.

kako poslati več SMS sporočil iz ccpp
Slika 1 - Kako poslati več SMS sporočil iz C/C++

C/C++ koda za pošiljanje več SMS sporočil na mobilne naprave

Spodnji primer C/C++ kode za SMS prikazuje, kako lahko pošljete SMS z uporabo http rest sms api-ja Ozeki SMS Gateway z uporabo knjižnice C/C++ Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.

SendMultipleSms.cpp
#include <iostream>
#include <string>
#include "Ozeki.Libs.Rest.h"

using namespace std;

int main()
{

    //Funkcija za ustvarjanje edinstvenega identifikatorja za vsako sporočilo
    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;
}
	

Kako uporabiti primer C/C++ SMS kode:

Ta primer C++ SMS kode lahko uporabite v kateri koli C/C++ aplikaciji. Za uporabo morate dodati Ozeki.Libs.Rest dll kot referenco v vaš projekt. Po dodajanju reference projekta morate v glavo vaše C/C++ izvorne kode dodati direktivo using Ozeki.Libs.Rest;. To vam bo omogočilo uporabo razredov, ki jih ponuja knjižnica Ozeki.Libs.Rest. Razred Message lahko uporabite za ustvarjanje SMS sporočila. Razred MessageApi lahko uporabite za pošiljanje SMS proti SMS prehodu. SMS prehod bo vaše sporočilo posredoval mobilnemu omrežju prek brezžične povezave ali prek interneta.

Prenesi SendSms.cpp

Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendMultipleSms.cpp.zip (2.97Mb)

Kaj je v datoteki SendMultipleSms.cpp?

Datoteka SendMultipleSms.cpp vsebuje knjižnico Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi projekt SendMultipleSms, ki vsebuje primer kode, ki prikazuje, kako poslati SMS. Ta primer kode je naveden spodaj.

primer projekta za pošiljanje več SMS sporočil z uporabo c plus plus
Slika 2 - Kaj je v SendMultipleSms.cpp.zip

Kako poslati več SMS sporočil iz C/C++ (Hitri koraki)

Za pošiljanje več SMS sporočil iz C/C++:

  1. Nastavite Visual Studio Community
  2. Prenesite datoteko SendMultipleSms.cpp.zip
  3. Razširite .zip datoteko iz mape Prenosi
  4. Odprite datoteko sendsms.sln v Visual Studiu
  5. Zaženite Ozeki SMS Gateway
  6. Ustvarite HTTP API uporabnika v Ozeki
  7. Zaženite kodo SendMultipleSms.cpp v Visual Studiu za pošiljanje testnih SMS sporočil
  8. Preverite mapo Poslano v Ozeki SMS Gateway
Namestite Ozeki SMS Gateway in ustvarite HTTP API uporabnika

Da lahko pošiljate SMS iz C/C++, morate najprej namestiti Ozeki SMS Gateway. SMS prehod lahko namestite na isti računalnik, kjer razvijate svojo C/C++ kodo v Visual Studiu. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testno SMS sporočilo iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Končni korak za pripravo vašega okolja je ustvarjanje HTTP SMS API uporabniškega računa. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje brez sprememb.

Ko je okolje pripravljeno, lahko zaženete svojo C/C++ kodo.

HTTP API url za pošiljanje SMS iz C/C++

Za pošiljanje SMS iz C/C++, bo vaša C/C++ aplikacija morala izdati HTTP zahtevo proti SMS prehodu. API url je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS prehoda. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče vaša C/C++ SMS aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.

http://127.0.0.1:9509/api?action=rest
	
HTTP avtentikacija za pošiljanje SMS iz C/C++

Za avtentikacijo C/C++ SMS odjemalca morate uporabniško ime in geslo poslati v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(username+":"+password). V C# lahko za to kodiranje uporabite naslednjo kodo:

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

Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje

HTTP zahteva glava za pošiljanje SMS iz C/C++

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo vrsto vsebine in glavo za avtorizacijo.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP zahteva za pošiljanje SMS iz C/C++

Za oddajo SMS-a bo vaša aplikacija v C/C++ poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del HTTP glave in del HTTP telesa. Telo HTTP-ja je niz podatkov, kodiran v JSON. Vsebuje prejemnikovo številko in besedilo sporočila.

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":	"Pozdravljen svet 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":	"Pozdravljen svet 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":	"Pozdravljen svet 3",
			"time_to_send":	"2021-06-29T08:40:11",
			"to_address":	"+36203333333",
			"valid_until":	"2021-07-06T08:40:11"
		}
	]
}
	
HTTP odziv, prejet v primeru C/C++ SMS

Ko SMS prehod prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS-a uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo zagotovila koristne podrobnosti o oddaji sporočila.

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": "USPEŠNO",
	"response_msg": "Sporočila v čakalni vrsti za dostavo.",
	"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": "Pozdravljen svet 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": "Tip",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "USPEŠNO"
	    },
	    {
	      "message_id": "qxhm3cuw-kwqb-mldi-b0xb-vn8sfway1hs2",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Pozdravljen svet 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": "Tip",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "USPEŠNO"
	    },
	    {
	      "message_id": "hnvcmp4j-a303-4432-psok-txujv54w8wrg",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Pozdravljen svet 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": "Tip",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "USPEŠNO"
	    }
	  ]
	}
}
	
Primer C/C++ SMS: SendMultipleSms.sln

V tem videu vam bomo pokazali, kako lahko pošljete več SMS sporočil z uporabo primernega projekta, ki smo ga zagotovili na strani z vadnico. Video se bo začel s prenosom primernega projekta in končal z zagonom kode. Video je kratek, vendar zelo enostaven za sledenje. Ne boste imeli težav pri sledenju vadnici. Če ste seznanjeni s C/C++, lahko spremenite spremenljivke v kodi, da pošljete prilagojeno sporočilo na prilagojene naslove.

Video 1 - Kako prenesti in odpreti rešitev zgoraj (Video vadnica)

Spodnja primerna koda je del Visual Studio rešitve SendMultipleSms.sln. Visual studio rešitev lahko vsebuje več projektov in več datotek. V tej rešitvi je samo en projekt: SendMultipleSms.vcxproj, in ena datoteka: SendMultipleSms.cs.

rešitev za pošiljanje več SMS sporočil z uporabo c plus plus
Slika 3 - SendMultipleSms.sln

Kako uporabiti primer projekta (Video vadnica)

V naslednjem videoposnetku se boste naučili, kako zagnati kodo in kako preveriti rezultate. Najprej vam bo video pokazal, kako zagnati kodo. Nato boste videli, kako preveriti mapo Poslano uporabnika HTTP. Na koncu videa boste videli podrobnosti poslanega sporočila. Video je dolg le 46 sekund in vsebuje vse pomembne korake in informacije, ki jih potrebujete za dokončanje postopka.

Video 2 - Kako uporabiti rešitev SendMultipleSms.cpp (Video vadnica)

Končne misli

Ta vsebuje vse osnovne informacije o tem, kako poslati več SMS sporočil iz C / C++ z HTTP REST SMS API Ozeki SMS Gateway. Ugotovili boste, da je uporaba te rešitve zelo koristna, ker C / C++ SMS API deluje z Android SMS Gateway poleg spletnih ponudnikov SMS storitev, ki vam omogočajo brezžično pošiljanje SMS. Ta storitev vam omogoča dostavo pomembnih informacij na več mobilnih telefonov hkrati, kar naredi vaše sporočanje bolj dinamično.

Pojdite naprej in se še naučite več! Na spletni strani Ozeki lahko najdete številne podobne dokumente. C / C++ SMS API lahko uporabite z drugimi funkcionalnostmi, preverite Kako načrtovati SMS v C/C++.

Uveljavite, kar ste se naučili, najprej prenesite Ozeki SMS Gateway!

More information