Jak odeslat SMS z Go

Nejjednodušší způsob, jak odeslat SMS z Go, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, budete odesílat SMS zprávy vydáním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu formátovanou ve formátu json. SMS brána odešle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.

jak odeslat sms z go
Obrázek 1 - Jak odeslat SMS z Go

Go kód pro odeslání SMS na mobil

Níže uvedený ukázkový kód Go pro SMS ukazuje, jak můžete odesílat SMS pomocí http rest sms api Ozeki SMS Gateway s použitím balíčku Go github.com/ozekisms/go_send_sms_http_rest_ozeki. Tento balíček je vám poskytován zdarma a můžete jej používat a upravovat v jakémkoli z vašich projektů.

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

Jak použít ukázku Go SMS:

Tuto ukázku Go SMS lze použít v jakékoli aplikaci Go. Pro použití je nutné stáhnout balíček github.com/ozekisms/go_send_sms_http_rest_ozeki. Po stažení balíčku je třeba přidat odkaz na něj ve vašem zdrojovém kódu Go. To vám umožní používat třídy poskytované balíčkem github.com/ozekisms/go_send_sms_http_rest_ozeki. 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.

Stáhnout SendSms.go

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

Co je v souboru SendSms.go.zip?

V SendSms.go.zip najdete soubor SendSms.go, 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.go.zip

Jak nainstalovat balíček github.com/ozekisms/go_send_sms_http_rest_ozeki

go get github.com/ozekisms/go_send_sms_http_rest_ozeki
	

Kód 2 - Příkaz k instalaci balíčku github.com/ozekisms/go_send_sms_http_rest_ozeki

Video 1 - Instalace balíčku github.com/ozekisms/go_send_sms_http_rest_ozeki (Video návod)

Jak odeslat SMS z Go (Jednoduchý návod)

Pro odeslání SMS z Go:

  1. Nainstalujte HTTP API uživatele
  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.go.zip
  5. Spusťte aplikaci Ozeki SMS Gateway
  6. Spusťte Go kód SendSend.go pomocí příkazového řádku
  7. Zkontrolujte logy, zda byla SMS odeslána

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

Abyste mohli odesílat SMS z Go, nejprve musíte nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Go kód v jakémkoli textovém editoru, například windows notepad. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI a ověřit, ž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 ukázka fungovala bez úprav.

Po nastavení prostředí můžete spustit svůj Go kód.

HTTP API URL pro odeslání SMS z Go

Pro odeslání SMS z Go bude vaše Go muset vydat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznamenejte si, že 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ěží Go SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by 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 Go

Pro autentizaci klienta SMS v Go je třeba odeslat uživatelské jméno a heslo jako řetězec zakódovaný v base64 na server v HTTP požadavku. Použitý formát je: base64(uživatelské_jméno+":"+heslo). V Go můžete pro toto kódování použít následující 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
}
	

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 odesílání SMS z Go

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 odesílání SMS z Go

Pro odeslání SMS váš Go aplikace odešle HTTP požadavek podobný tomuto níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část těla HTTP. Tělo HTTP 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: 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 světe!",
			"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 odpověď přijatá příkladem SMS v Go

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: Thu, 08 Jul 2021 16:08:52 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "ÚSPĚCH",
	"response_msg": "Zprávy zařazeny do fronty k doručení.",
	"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 světe!",
	      "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": "ÚSPĚCH"
	    }
	  ]
	}
}
	

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

Předpokládáme, že jste již nainstalovali Ozeki SMS Gateway, a že jste připojili ji k mobilní síti. Abyste mohli odesílat SMS na mobilní telefon z Go, je třeba nastavit účet HTTP API uživatele v Ozeki SMS Gateway.

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

Jak odesílat SMS z Go pomocí Go SMS API (Video návod)

Toto video vám ukáže, jak stáhnout soubor SendSms.go.zip z této stránky. Pokud sledujete video, všimnete si, že obsah SendSms.go.zip je umístěn na plochu Windows. Uvidíte také, že spouštíme příkazový řádek, abychom odeslali SMS.

Příklad SMS v Go: SendSms.go

Níže uvedený příklad kódu je součástí souboru SendSms.go.

Obrázek 3 - Soubor SendSms.go

Jak ověřit, ž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 detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.

Video 4 - Jak odeslat SMS pomocí výše uvedeného kódu v Go (Video návod)

Jak ověřit, ž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 5 - Jak otestovat, zda požadavek přijal SMPP klient (Návod ve videu)

Jak přijímat SMS na telefonu s Androidem (Návod ve videu)

V tomto videu vám ukážeme, jak můžete přijímat SMS zprávy na svém telefonu s Androidem. Uvidíte běžnou domovskou stránku telefonu s Androidem a oznámení o příchozí SMS zprávě. Také se naučíte, jak SMS otevřít. Video je dlouhé pouze 18 sekund, ale můžete na něm vidět celý proces.

Video 6 - Jak přijímat SMS na telefonu s Androidem (Návod ve videu)

Závěr

Cílem tohoto článku bylo vysvětlit odesílání SMS v Go s pomocí Ozeki SMS Gateway. S tímto řešením můžete odesílat zprávy pomocí Go kódů, všechny potřebné znalosti a nástroje jsou uvedeny v průvodci výše. Ozeki SMS Gateway lze velmi dobře ovládat pomocí Go kódů, což dokazuje, že tento program je přizpůsobitelný a snadno se s ním pracuje. Je také třeba zmínit, že Ozeki SMS Gateway běží v prostředí, které kontrolujete, což znamená, že seznam kontaktů a data jsou v bezpečí.

Přečtěte si více o podobných řešeních na stránce s návody Ozeki, kde najdete více informací o tématech, jako je plánování SMS v Go.

Jediné, co teď zbývá, je stáhnout Ozeki SMS Gateway a začít pracovat!

More information