Ako prijímať SMS z Go

Najjednoduchší spôsob, ako prijímať SMS z Go, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy vytvorení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 odošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako prijímať sms z go
Obrázok 1 - Ako prijímať SMS z Go

Go kód na prijímanie SMS do mobilného zariadenia

Ukážka Go SMS kódu nižšie demonštruje, ako môžete prijímať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím 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.

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

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 je potrebné 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ď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť ReceiveSms.go

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

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

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

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

Ako odoslať SMS z Go (Jednoduché pokyny)

Na odoslanie SMS z Go:

  1. Nainštalujte HTTP API používateľa
  2. Povoľte Log komunikácie na karte Pokročilé
  3. Nastavte Visual Studio
  4. Stiahnite a rozbaľte súbor ReceiveSms.go.zip
  5. Spustite aplikáciu Ozeki SMS Gateway
  6. Spustite Go kód ReceiveSms.go 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 prijímať 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, napríklad Windows poznámkovom bloku. 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 prijímanie SMS z Go

Na odoslanie SMS z Go bude vaše Go musieť vytvoriť 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 Go SMS klienta musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Použitý formát je: base64(používateľské meno+":"+heslo). V Go môžete použiť nasledujúci kód na toto kódovanie:

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 zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že zaraďujeme content type a Authorization hlavičku.

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

HTTP požiadavka na odoslanie SMS z Go

Na odoslanie SMS bude vaša aplikácia v Go posielať HTTP požiadavku podobnú ako je uvedená nižšie. Všimnite si, že táto požiadavka obsahuje iba HTTP hlavičku, ktorá definuje, aký typ odpovede akceptujeme, a tiež odosielame 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 odpoveď prijatá príkladom SMS v Go

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 zakódovanú v JSON, ktorá 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: 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"
	        }
	      ]
	    }
	  ]
	}
}
	
Ako prijímať SMS z Go pomocou Go SMS API (Video tutoriál)

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

Príklad SMS v Go: ReceiveSms.go

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

Obrázok 3 - Súbor ReceiveSms.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. Log 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 2 - Ako skontrolovať, že SMS bola prijatá HTTP používateľom (Video tutoriál)

Záver

Tento článok ukázal základné kroky prijímania SMS v Go s pomocou Ozeki SMS Gateway. Toto riešenie môže byť veľmi užitočné, keď máte určené miesto pre vaše prichádzajúce správy, v tomto prípade ich môžete preposlať do programu v Go. Ozeki SMS Gateway ponúka vynikajúce možnosti logovania, čo znamená, že môžete rýchlo odhaliť chyby a urobiť prácu plynulejšou.

Nezabudnite pokračovať v čítaní na stránke tutoriálov Ozeki, kde nájdete viac informácií o podobných témach, ako je plánovanie SMS v Go.

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

More information