Ako poslať viacero SMS z Go
Najjednoduchší spôsob, ako poslať viacero SMS z Go, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. 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.
Ukážka kódu Go pre SMS nižšie demonštruje, ako môžete poslať viacero 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žiť a upraviť v akomkoľvek z vašich projektov.
SendMultipleSms.gopackage 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", ) msg1 := ozeki.NewMessage() msg1.ToAddress = "+36201111111" msg1.Text = "Hello world 1" msg2 := ozeki.NewMessage() msg2.ToAddress = "+36202222222" msg2.Text = "Hello world 2" msg3 := ozeki.NewMessage() msg3.ToAddress = "+36203333333" msg3.Text = "Hello world 3" api := ozeki.NewMessageApi(configuration) result := api.Send([]ozeki.Message{msg1, msg2, msg3}) fmt.Println(result) }
Ako použiť ukážku Go pre SMS:
Túto ukážku Go pre SMS môžete použiť v akejkoľvek aplikácii Go. Aby ste ju mohli použiť, musíte si stiahnuť balík github.com/ozekisms/go_send_sms_http_rest_ozeki. Po stiahnutí balíka je potrebné pridať odkaz naň vo vašom zdrojovom kóde Go. To vám umožní používať triedy poskytované balíkom github.com/ozekisms/go_send_sms_http_rest_ozeki. Triedu Message môžete použiť na vytvorenie SMS. Triedu MessageApi môžete použiť 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ť SendMultipleSms.go
Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upraviť bezplatne.
Stiahnuť: SendMultipleSms.go.zip (1.08Kb)
V SendMultipleSms.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.
Ak chcete poslať SMS z Go:
- Nainštalujte používateľa HTTP API
- Povolte Log komunikácie na karte Pokročilé
- Nastavte Visual Studio
- Stiahnite a rozbaľte súbor SendMultipleSms.go.zip
- Spustite aplikáciu Ozeki SMS Gateway
- Spustite kód SendMultipleSms.go Go pomocou príkazového riadku
- Skontrolujte logy, či bola SMS odoslaná
Ak chcete byť schopní posielať viacero SMS správ 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 kód Go 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 grafického rozhrania Ozeki, aby ste overili, či vaše mobilné pripojenie funguje. Posledným krokom pri príprave 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 kód Go.
URL HTTP API na odoslanie viacerých SMS z GoAk chcete poslať SMS z Go, váš Go bude musieť odoslať 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ží vaša aplikácia Go pre SMS, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa tohto počítača.
http://127.0.0.1:9509/api?action=rest
Na overenie klienta Go pre SMS musíte odoslať používateľské meno a heslo v reťazci zakódovanom v base64 na server v HTTP požiadavke. Používa sa formát: 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 reťazec zakódovaný v base64: 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==
Na odoslanie SMS bude vaša aplikácia v Go odosielať 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 dát zakódovaný v JSON. Obsahuje čísla príjemcov a texty správ.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 1277 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": "6e5384bb-e07b-11eb-a3b4-74d4355e997d", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36201111111", "to_station": "", "text": "Hello world 1", "create_date": "2021-07-09T08:03:50", "valid_until": "2021-07-16T08:03:50", "time_to_send": "2021-07-09T08:03:50", "submit_report_requested": true, "view_report_requested": true, "delivery_report_requested": true, "tags": [], "status": "" }, { "message_id": "6e622a28-e07b-11eb-a3b4-74d4355e997d", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36202222222", "to_station": "", "text": "Hello world 2", "create_date": "2021-07-09T08:03:50", "valid_until": "2021-07-16T08:03:50", "time_to_send": "2021-07-09T08:03:50", "submit_report_requested": true, "view_report_requested": true, "delivery_report_requested": true, "tags": [], "status": "" }, { "message_id": "6e622a28-e07b-11eb-a3b5-74d4355e997d", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36203333333", "to_station": "", "text": "Hello world 3", "create_date": "2021-07-09T08:03:50", "valid_until": "2021-07-16T08:03:50", "time_to_send": "2021-07-09T08:03:50", "submit_report_requested": true, "view_report_requested": true, "delivery_report_requested": true, "tags": [], "status": "" } ] }
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. Taktiež 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 07:59:56 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "6e5384bb-e07b-11eb-a3b4-74d4355e997d", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-07-09 08:03:50", "valid_until": "2021-07-16 08:03:50", "time_to_send": "2021-07-09 08:03:50", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "6e622a28-e07b-11eb-a3b4-74d4355e997d", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-07-09 08:03:50", "valid_until": "2021-07-16 08:03:50", "time_to_send": "2021-07-09 08:03:50", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "6e622a28-e07b-11eb-a3b5-74d4355e997d", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-07-09 08:03:50", "valid_until": "2021-07-16 08:03:50", "time_to_send": "2021-07-09 08:03:50", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Toto video vám ukáže, ako si stiahnuť súbor SendMultipleSms.go.zip z tejto stránky. Ak si video pozriete, všimnete si, že obsah súboru SendMultipleSms.go.zip je umiestnený na pracovnej ploche Windows. Taktiež uvidíte, že spúšťame príkazový riadok na odoslanie SMS.
Príklad SMS v Go: SendMultipleSms.goPríklad kódu nižšie je súčasťou súboru SendMultipleSms.go.
Ako skontrolovať, že SMS bola prijatá HTTP používateľom
Po odoslaní SMS je dobré skontrolovať svoju SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP používateľa z konzoly na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.
Zhrnutie
Tento návod mal za cieľ vysvetliť odosielanie viacerých SMS v jazyku Go pomocou Ozeki SMS Gateway. S týmto riešením je oslovenie viacerých zákazníkov narýchlo rýchle a jednoduché. Použitím tejto technológie sa ušetrí veľa času a energie, pretože odosielanie viacerých SMS výrazne uľahčuje prácu. Ozeki SMS Gateway pracuje s vysokým výkonom, čo znamená, že dokáže odoslať až 1000 SMS za sekundu.
Nezabudnite pokračovať v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako mazanie SMS v jazyku Go.
Teraz už zostáva len stiahnuť si Ozeki SMS Gateway a začať pracovať!
More information
- Go send SMS with the HTTP rest API (code sample)
- Go send multiple SMS with the HTTP rest API (code sample)
- Go schedule SMS with the HTTP rest API (code sample)
- Go receive SMS with the HTTP rest API (code sample)
- Go delete SMS with the HTTP rest API (code sample)
- How to download the latest Go SMS library from Github