Kako poslati više SMS poruka iz C/C++
Najjednostavniji način za slanje SMS poruka iz C/C++ je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slanje SMS poruka vršite putem HTTP Post zahtjeva prema SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovu SMS poruku na telefonski broj primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.
C/C++ kod za slanje više SMS poruka na mobilni telefon
Primjer C/C++ SMS koda u nastavku pokazuje kako možete poslati SMS koristeći http rest SMS API Ozeki SMS Gatewaya s korištenjem C/C++ Ozeki.Libs.Rest biblioteke. Ova biblioteka vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.
SendMultipleSms.cpp#include <iostream> #include <string> #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Funkcija za stvaranje jedinstvenog identifikatora za svaku poruku 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 koristiti C/C++ SMS primjer:
Ovaj C++ SMS primjer može se koristiti u bilo kojoj C/C++ aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest dll kao referencu u vaš projekt. Nakon dodavanja reference u projekt, morate staviti direktivu using Ozeki.Libs.Rest; u zaglavlje vašeg C/C++ izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu Message za stvaranje SMS poruke. Možete koristiti klasu MessageApi za slanje SMS poruke prema SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži putem bežične veze ili putem interneta.
Preuzmite SendSms.cpp
Izvorni kod objašnjen u ovom članku može se preuzeti, koristiti i mijenjati besplatno.
Preuzmi: SendMultipleSms.cpp.zip (2.97Mb)
Što se nalazi u datoteci SendMultipleSms.cpp?
Datoteka SendMultipleSms.cpp sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve potrebne alate za slanje i primanje SMS poruka. Također ćete pronaći projekt SendMultipleSms u zip datoteci, koji sadrži primjer koda koji pokazuje kako poslati SMS poruku. Ovaj primjer koda je naveden u nastavku.
Kako poslati više SMS poruka iz C/C++ (Brzi koraci)
Za slanje više SMS poruka iz C/C++:
- Postavite Visual Studio Community
- Preuzmite datoteku SendMultipleSms.cpp.zip
- Raspakirajte .zip datoteku iz mape Preuzimanja
- Otvorite datoteku sendsms.sln u Visual Studiju
- Pokrenite Ozeki SMS Gateway
- Kreirajte HTTP API korisnika u Ozekiju
- Pokrenite SendMultipleSms.cpp C/C++ kod u Visual Studiju za slanje testne SMS poruke
- Provjerite mapu Poslano u Ozeki SMS Gatewayu
Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika
Da biste mogli slati SMS poruke iz C/C++, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu na kojem razvijate svoj C/C++ kod u Visual Studiju. Nakon instalacije, sljedeći korak je povezivanje Ozeki SMS Gatewaya s mobilnom mrežom. Možete poslati testnu SMS poruku iz Ozeki GUI-ja kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je kreiranje HTTP SMS API korisničkog računa. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako biste primjer radio bez izmjena.
Nakon postavljanja okruženja, možete pokrenuti svoj C/C++ kod.
HTTP API URL za slanje SMS poruka iz C/C++
Za slanje SMS poruka iz C/C++, vaš C/C++ kod će morati poslati HTTP zahtjev prema SMS gatewayu. API URL je prikazan u nastavku. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu na kojem se pokreće vaša C/C++ SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikacija za slanje SMS poruka iz C/C++
Za autentifikaciju C/C++ SMS klijenta, potrebno je poslati korisničko ime i lozinku u base64 kodiranom stringu prema poslužitelju u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U C# možete koristiti sljedeći kod za ovo kodiranje:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje
HTTP zaglavlje zahtjeva za slanje SMS-a iz C/C++Za slanje SMS poruka potrebno je uključiti sljedeće retke kao zaglavlja u HTTP zahtjev. Imajte na umu da uključujemo vrstu sadržaja i zaglavlje Autorizacije.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahtjev za slanje SMS-a iz C/C++
Za slanje SMS-a, vaša C/C++ aplikacija će poslati HTTP zahtjev sličan donjem. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani niz podataka. Sadrži broj primatelja i tekst poruke.
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 odgovor primljen u C/C++ SMS primjeru
Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod kako bi naznačio je li zahtjev za slanje SMS-a bio uspješan ili ne. Također će vratiti JSON kodiranu strukturu kako bi vam pružio korisne pojedinosti o slanju poruke.
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" } ] } }
C/C++ SMS primjer: SendMultipleSms.sln
U ovom videu pokazat ćemo vam kako možete poslati više SMS poruka koristeći primjer projekta koji smo dostavili na stranici s vodičem. Video će započeti s preuzimanjem primjera projekta i završiti s pokretanjem koda. Video je kratak, ali vrlo jednostavan za praćenje. Nećete imati problema s praćenjem vodiča. Ako ste upoznati s C/C++, slobodno modificirajte varijable u kodu kako biste poslali prilagođenu poruku na prilagođene adrese.
Primjer koda u nastavku dio je SendMultipleSms.sln Visual Studio rješenja. Visual studio rješenje može sadržavati više projekata i više datoteka. U ovom rješenju postoji samo jedan projekt: SendMultipleSms.vcxproj, i jedna datoteka: SendMultipleSms.cs.
U sljedećem videu naučit ćete kako pokrenuti kod i kako provjeriti rezultate. Prvo, video će vam pokazati kako pokrenuti kod. Zatim ćete vidjeti kako provjeriti Sent mapu HTTP korisnika. Na kraju videa vidjet ćete detalje poslane poruke. Video traje samo 46 sekundi i sadrži sve važne korake i informacije potrebne za dovršetak procesa.
Završne misli
Ovaj vodič sadrži sve osnovne informacije o tome kako poslati više SMS poruka iz C / C++ s Ozeki SMS Gateway HTTP REST SMS API-jem. Korištenje ovog rješenja bit će vam vrlo korisno jer C / C++ SMS API radi s Android SMS Gatewayem osim online SMS usluga koje vam omogućuju slanje SMS-a bežično. Ova usluga omogućuje vam dostavu vrijednih informacija na više mobilnih telefona odjednom, čime vaše poruke postaju dinamičnije.
Sada naprijed i naučite više! Na Ozeki web stranici možete pronaći mnogo više dokumenata poput ovog. Možete koristiti C / C++ SMS API-je s drugim funkcionalnostima, pogledajte Kako zakazati SMS u C/C++.
Stavite u praksu ono što ste naučili, prvo preuzmite Ozeki SMS Gateway!
More information
- C/Cpp slanje SMS-a s HTTP rest API-jem (primjer koda)
- C/Cpp slanje više SMS-ova s HTTP rest API-jem (primjer koda)
- C/Cpp planiranje SMS-a s HTTP rest API-jem (primjer koda)
- C/Cpp primanje SMS-a s HTTP rest API-jem (primjer koda)
- C/Cpp brisanje SMS-a s HTTP rest API-jem (primjer koda)
- Kako preuzeti najnoviju C/Cpp SMS API knjižnicu s Githuba