Jak přijímat SMS z Go

Nejjednodušší způsob, jak přijímat 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 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 na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.

jak přijímat sms z go
Obrázek 1 - Jak přijímat SMS z Go

Go kód pro přijímání SMS na mobil

Níže uvedený ukázkový kód Go pro SMS demonstruje, jak můžete přijímat 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 poskytován zdarma a můžete jej používat a upravovat v jakémkoli vašem projektu.

ReceiveSms.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",
	)

	api := ozeki.NewMessageApi(configuration)

	result := api.DownloadIncoming()

	fmt.Println(result)

	for i := 0; i < len(result.Messages); i++ {
		fmt.Println(result.Messages[i])
	}
}
	

Kód 1 - ReceiveSms.go

Jak použít ukázkový kód Go pro SMS:

Tento ukázkový kód Go pro SMS lze použít v jakékoli aplikaci Go. Pro jeho 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 ReceiveSms.go

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

Co je v souboru ReceiveSms.go.zip?

V souboru ReceiveSms.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ř ReceiveSms.go.zip

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

Pro odeslání SMS z Go:

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

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

Abyste mohli přijímat SMS z Go, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód Go 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 grafického rozhraní Ozeki a ověřit, zda vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho 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 Go.

URL HTTP API pro přijímání SMS z Go

Pro odeslání SMS z Go bude vaše aplikace Go muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Všimněte 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ěží aplikace Go pro SMS, 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 Go

Pro ověření klienta SMS v Go je nutné odeslat uživatelské jméno a heslo v řetězci zakódovaném v base64 na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V Go můžete použít následující kód pro toto kódování:

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í

Hlavička HTTP požadavku pro odesílání SMS z Go

Pro odeslání SMS zpráv je nutné do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme hlavičku Content-Type a Authorization.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP požadavek pro odeslání SMS z Go

Pro odeslání SMS bude vaše aplikace v Go odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje pouze HTTP hlavičku, která definuje, jaký typ odpovědi přijímáme, a také odesíláme autorizační hlavičku.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Accept: application/json
Accept-Encoding: gzip
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Go-http-client/1.1
	

HTTP odpověď přijatá příkladem SMS v Go

Jakmile SMS brána tento požadavek obdrží, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Vrátí také strukturu zakódovanou v JSON, která vám poskytne užitečné informace 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: Fri, 09 Jul 2021 09:16:35 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "6f73375b-e085-11eb-8d0e-74d4355e997d",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-09 09:15:27",
	      "valid_until": "2021-07-16 09:15:27",
	      "time_to_send": "2021-07-09 09:15:27",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "6f6f6764-e085-11eb-8d0e-74d4355e997d",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36201111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-09 09:15:26",
	      "valid_until": "2021-07-16 09:15:27",
	      "time_to_send": "2021-07-09 09:15:27",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "6f73375b-e085-11eb-8d0f-74d4355e997d",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-09 09:15:27",
	      "valid_until": "2021-07-16 09:15:27",
	      "time_to_send": "2021-07-09 09:15:27",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	

Jak přijímat SMS z Go pomocí Go SMS API (Video návod)

Toto video vám ukáže, jak stáhnout soubor ReceiveSms.go.zip z této stránky. Pokud se podíváte na video, všimnete si, že obsah souboru ReceiveSms.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: ReceiveSms.go

Níže uvedený ukázkový kód je součástí souboru ReceiveSms.go.

Obrázek 3 - Soubor ReceiveSms.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 2 - Jak ověřit, že SMS byla přijata HTTP uživatelem (Video návod)

Závěr

Tento článek ukázal základní kroky pro přijímání SMS v Go s pomocí Ozeki SMS Gateway. Toto řešení může být velmi užitečné, když máte určené místo pro vaše příchozí zprávy, v tomto případě je můžete předat do programu v Go. Ozeki SMS Gateway nabízí vynikající možnosti protokolování, což znamená, že můžete rychle najít chyby a práci zefektivnit.

Nezapomeňte pokračovat ve čtení na stránce s návody Ozeki, kde najdete více informací o podobných 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