Ako naplánovať SMS v Go

Najjednoduchší spôsob, ako odoslať naplánovanú 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 naplánovať sms v go
Obrázok 1 - Ako naplánovať SMS v Go

Go kód na odoslanie naplánovanej SMS na mobil

Ukážka Go kódu pre SMS nižšie demonštruje, ako môžete odoslať naplánovanú 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ý zdarma a môžete ho použiť a upraviť v akomkoľvek z vašich projektov.

SendScheduledSms.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!"
	msg.TimeToSend = "2021-07-08T15:00:00"

	api := ozeki.NewMessageApi(configuration)

	result := api.Send(msg)

	fmt.Println(result)
}
	

Kód 1 - SendScheduledSms.go

Ako použiť ukážku Go SMS:

Túto ukážku Go SMS môžete použiť v akejkoľvek Go aplikácii. Na jej 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ď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť SendScheduledSms.go

Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upraviť zdarma.
Stiahnuť: SendScheduledSms.go.zip (1.07Kb)

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

V SendScheduledSms.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 SendScheduledSms.go.zip

Ako odoslať SMS z Go (Jednoduché pokyny)

Na odoslanie SMS z Go:

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

Na odoslanie naplánovanej SMS z Go musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, 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, či vaše mobilné pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

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

URL HTTP API na odoslanie naplánovanej 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 odoslanie 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 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. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú 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ú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec zakódovaný v JSON. Obsahuje číslo príjemcu, text správy a určený čas odoslania.

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": "8f228e97-e081-11eb-a71b-74d4355e997d",
			"from_connection": "",
			"from_address": "",
			"from_station": "",
			"to_connection": "",
			"to_address": "+36201111111",
			"to_station": "",
			"text": "Hello world!",
			"create_date": "2021-07-09T08:47:42",
			"valid_until": "2021-07-16T08:47:42",
			"time_to_send": "2021-07-10T15:00:00",
			"submit_report_requested": true,
			"view_report_requested": true,
			"delivery_report_requested": true,
			"tags": [],
			"status": ""
		}
	]
}
	
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. Vráti tiež štruktúru zakó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: Fri, 09 Jul 2021 08:36:24 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"data": {
	  "total_count": 1,
	  "success_count": 1,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "8f228e97-e081-11eb-a71b-74d4355e997d",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-09 08:47:42",
	      "valid_until": "2021-07-16 08:47:42",
	      "time_to_send": "2021-07-10 15:00:00",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Ako odoslať naplánovanú SMS z Go pomocou Go SMS API (Video návod)

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

Príklad SMS v Go: SendScheduledSms.go

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

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

Zhrnutie

Tento sprievodca ukázal kroky naplánovania SMS v Go s pomocou Ozeki SMS Gateway. Naplánovanie SMS je nevyhnutné, ak chcete pracovať s vysokým výkonom a udržiavať dobrý vzťah so svojimi zákazníkmi, pretože s týmto riešením môžete zabezpečiť, že tieto správy budú doručené, keď na ne budú mať čas na ich prečítanie. Ozeki SMS Gateway funguje v každej krajine a môže odosielať a prijímať SMS cez rôzne mobilné pripojenia, čo znamená, že je možná aj medzinárodná komunikácia.

Pokračujte v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako mazanie SMS v Go.

Teraz už zostáva len stiahnuť Ozeki SMS Gateway a nechať prácu začať!

More information