Ako poslať SMS z Go

Najjednoduchší spôsob, ako poslať SMS z Go, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako poslať sms z go
Obrázok 1 - Ako poslať SMS z Go

Go kód na odoslanie SMS na mobil

Ukážka Go SMS kódu nižšie demonštruje, ako môžete poslať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway pomocou balíka Go github.com/ozekisms/go_send_sms_http_rest_ozeki. Tento balík je poskytovaný bezplatne a môžete ho používať a upravovať v akomkoľvek z vašich projektov.

SendSms.go
package main

import (
	"fmt"
	
	ozeki "github.com/ozekisms/go_send_sms_http_rest_ozeki"
)

func main() {
	configuration := ozeki.NewConfiguration(
		"http_user",
		"qwe123",
		"http://127.0.0.1:9509/api",
	)

	msg := ozeki.NewMessage()
	msg.ToAddress = "+36201111111"
	msg.Text = "Hello world!"

	api := ozeki.NewMessageApi(configuration)

	result := api.Send(msg)

	fmt.Println(result)
}
	

Kód 1 - SendSms.go

Ako použiť Go SMS príklad:

Tento Go SMS príklad môže byť použitý v akejkoľvek Go aplikácii. Na jeho použitie si musíte stiahnuť balík github.com/ozekisms/go_send_sms_http_rest_ozeki. Po stiahnutí balíka je potrebné pridať odkaz naň vo vašom Go zdrojovom kóde. To vám umožní používať triedy poskytované balíkom github.com/ozekisms/go_send_sms_http_rest_ozeki. 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ď cez bezdrôtové pripojenie alebo cez internet.

Stiahnuť SendSms.go

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendSms.go.zip (992B)

Čo je v súbore SendSms.go.zip?

V SendSms.go.zip nájdete súbor SendSms.go, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako poslať SMS. Tento ukážkový kód je uvedený nižšie.

Obrázok 2 - Čo je vo vnútri SendSms.go.zip

Ako nainštalovať balík github.com/ozekisms/go_send_sms_http_rest_ozeki

go get github.com/ozekisms/go_send_sms_http_rest_ozeki
	

Kód 2 - Príkaz na inštaláciu balíka github.com/ozekisms/go_send_sms_http_rest_ozeki

Video 1 - Inštalácia balíka github.com/ozekisms/go_send_sms_http_rest_ozeki (Video návod)

Ako poslať SMS z Go (Jednoduché pokyny)

Na odoslanie SMS z Go:

  1. Nainštalujte HTTP API používateľa
  2. Povoľte Logovanie komunikačných udalostí na karte Pokročilé
  3. Nastavte Visual Studio
  4. Stiahnite a rozbaľte súbor SendSms.go.zip
  5. Spustite aplikáciu Ozeki SMS Gateway
  6. Spustite SendSend.go Go kód pomocou príkazového riadku
  7. Skontrolujte logy, či bola SMS odoslaná
Nainštalujte Ozeki SMS Gateway a vytvorte HTTP API používateľa

Na to, aby ste mohli posielať SMS z Go, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnaký počítač, kde vyvíjate svoj Go kód v akomkoľvek textovom editore, ako je napríklad windows notepad. 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 na prípravu vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj Go kód.

HTTP API URL na odoslanie SMS z Go

Na odoslanie SMS z Go bude vaše Go musieť vydať 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ží Go 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 Go

Na autentifikáciu klienta Go SMS musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používaný formát je: base64(používateľské meno+":"+heslo). V Go môžete na toto kódovanie použiť nasledujúci kód:

import b64 "encoding/base64"

func (api *MessageApi) createAuthorizationHeader(username string, password string) string {
	var usernamePassword string = username + ":" + password
	var usernamePasswordEncoded string = b64.StdEncoding.EncodeToString([]byte(usernamePassword))
	return "Basic " + usernamePasswordEncoded
}
	

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z Go

Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Všimnite si, že zaraďujeme hlavičku typu obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP požiadavka na odoslanie SMS z Go

Na odoslanie SMS vaša aplikácia Go odošle HTTP požiadavku podobnú nižšie uvedenej. Všimnite si, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec kódovaný v JSON. Obsahuje číslo príjemcu a text správy.

POST /api?action=sendmsg HTTP/1.1
Content-Length: 434
Content-Type: application/json
Accept-Encoding: gzip
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Go-http-client/1.1

{
	"messages":	[
		{
			"message_id": "60ce97a2-dff6-11eb-990e-74d4355e997d",
			"from_connection": "",
			"from_address": "",
			"from_station": "",
			"to_connection": "",
			"to_address": "+36201111111",
			"to_station": "",
			"text": "Ahoj svet!",
			"create_date": "2021-07-08T16:11:24",
			"valid_until": "2021-07-15T16:11:24",
			"time_to_send": "2021-07-08T16:11:24",
			"submit_report_requested": true,
			"view_report_requested": true,
			"delivery_report_requested": true,
			"tags": [],
			"status": ""
		}
	]
}
	
HTTP odpoveď prijatá príkladom Go SMS

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 kódovanú v JSON, ktorá vám 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: Thu, 08 Jul 2021 16:08:52 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "ÚSPECH",
	"response_msg": "Správy zaradené do fronty na odoslanie.",
	"data": {
	  "total_count": 1,
	  "success_count": 1,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "60ce97a2-dff6-11eb-990e-74d4355e997d",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Ahoj svet!",
	      "create_date": "2021-07-08 16:11:24",
	      "valid_until": "2021-07-15 16:11:24",
	      "time_to_send": "2021-07-08 16:11:24",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Typ",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "ÚSPECH"
	    }
	  ]
	}
}
	
Pripojte svoju SMS bránu k mobilnej sieti a vytvorte HTTP API používateľský účet

Predpokladáme, že ste už nainštalovali Ozeki SMS Gateway, a že ste pripojili ju k mobilnej sieti. Aby ste mohli odosielať SMS na mobilný telefón z Go, musíte nastaviť používateľský účet HTTP API v Ozeki SMS Gateway.

Video 2 - Ako nastaviť používateľský účet HTTP API (Video návod)

Ako odoslať SMS z Go pomocou Go SMS API (Video návod)

Toto video vám ukáže, ako si stiahnuť súbor SendSms.go.zip z tejto stránky. Ak sledujete video, všimnete si, že obsah SendSms.go.zip je umiestnený na pracovnej ploche Windows. Tiež uvidíte, že spúšťame príkazový riadok na odoslanie SMS.

Príklad Go SMS: SendSms.go

Príklad kódu nižšie je súčasťou SendSms.go.

Obrázok 3 - Súbor SendSms.go

Ako skontrolovať, že SMS bola prijatá HTTP používateľom

Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP používateľa v konzole na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.

Video 4 - Ako odoslať SMS pomocou Go kódu vyššie (Video návod)

Ako skontrolovať, že SMS bola odoslaná do mobilnej siete

Posledným krokom pri overovaní postupu je pozrieť si záznamy mobilného sieťového pripojenia. Možno budete musieť pred odoslaním správy zapnúť logovanie v konfigurácii pripojenia, aby ste videli záznamy. Ak je logovanie povolené, uvidíte telefónne číslo a text správy, ktorú ste odoslali.

Video 5 - Ako otestovať, či požiadavku prijal SMPP klient (Video návod)

Ako prijímať SMS na telefóne s Androidom (Video návod)

V tomto videu vám ukážeme, ako môžete prijímať SMS správy na svojom telefóne s Androidom. Uvidíte obyčajnú domovskú stránku telefónu s Androidom a notifikáciu o prichádzajúcej SMS správe. Tiež sa naučíte, ako SMS otvoriť. Video je dlhé len 18 sekúnd, ale môžete na ňom vidieť celý proces.

Video 6 - Ako prijímať SMS na telefóne s Androidom (Video návod)

Záver

Cieľom tohto článku bolo vysvetliť odosielanie SMS v jazyku Go pomocou Ozeki SMS Gateway. S týmto riešením môžete odosielať správy pomocou kódov v Go, pričom všetky potrebné znalosti a nástroje sú uvedené v sprievodcovi vyššie. Ozeki SMS Gateway sa dá veľmi dobre ovládať pomocou kódov v Go, čo dokazuje, že tento program je prispôsobiteľný a jednoduchý na prácu. Taktiež treba spomenúť, že Ozeki SMS Gateway beží v prostredí, ktoré kontrolujete, čo znamená, že zoznam kontaktov a údaje sú v bezpečí.

Prečítajte si viac o podobných riešeniach na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako plánovanie SMS v jazyku Go.

Jediné, čo teraz musíte urobiť, je stiahnuť si Ozeki SMS Gateway a začať pracovať!

More information