Jak naplánovat SMS v Go
Nejjednodušší způsob, jak odeslat naplánovanou SMS z Go, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto 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 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.
Go kód pro odeslání naplánované SMS na mobil
Ukázka kódu Go pro SMS níže ukazuje, jak můžete odeslat naplánovanou 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ů.
SendScheduledSms.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", ) 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) }
Jak použít příklad Go pro SMS:
Tento příklad Go pro 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. Můžete použít třídu Message k vytvoření SMS. Můžete použít třídu MessageApi k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes internet.
Stáhnout SendScheduledSms.go
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendScheduledSms.go.zip (1.07Kb)
Co je v souboru SendScheduledSms.go.zip?
V SendScheduledSms.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.
Jak odeslat SMS z Go (Jednoduchý návod)
Pro odeslání SMS z Go:
- Nainstalujte HTTP API uživatele
- Povolte Logování komunikačních událostí na záložce Pokročilé
- Nastavte Visual Studio
- Stáhněte a rozbalte soubor SendScheduledSms.go.zip
- Spusťte aplikaci Ozeki SMS Gateway
- Spusťte Go kód SendScheduledSms.go pomocí příkazového řádku
- Zkontrolujte logy, zda byla SMS odeslána
Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele
Pro odeslání naplánované SMS z Go je nejprve nutné 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 notepadu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací sms z Ozeki GUI pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě 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 příklad fungoval bez úprav.
Po nastavení prostředí můžete spustit svůj Go kód.
HTTP API url pro odeslání naplánované SMS z Go
Pro odeslání SMS z Go bude vaše aplikace Go muset vytvořit HTTP požadavek na SMS bránu. API url je uvedena níže. Poznamenejte, ž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 toho počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odeslání SMS z Go
Pro autentizaci Go sms klienta je nutné odeslat uživatelské jméno a heslo v base64 kódovaném řetězci 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í base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odeslá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. Upozorňujeme, že zahrnujeme typ obsahu a autorizační hlavičku.
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ý tomuto níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec zakódovaný v JSON. Obsahuje číslo příjemce, text zprávy a určený čas odeslání.
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": "Ahoj světe!", "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 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. 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 08:36:24 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Zprávy zařazeny k doručení.", "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": "Ahoj světe!", "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" } ] } }
Jak odeslat naplánovanou SMS z Go pomocí Go SMS API (Video návod)
Toto video vám ukáže, jak stáhnout soubor SendScheduledSms.go.zip z této stránky. Pokud se podíváte na video, všimnete si, že obsah souboru SendScheduledSms.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: SendScheduledSms.go
Níže uvedený ukázkový kód je součástí souboru SendScheduledSms.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.
Shrnutí
Tento průvodce ukázal kroky plánování SMS v Go s pomocí Ozeki SMS Gateway. Plánování SMS je nezbytné, pokud chcete pracovat s vysokým výkonem a udržovat dobrý vztah se zákazníky, protože s tímto řešením můžete zajistit, že tyto zprávy budou doručeny, když mají čas je přečíst. Ozeki SMS Gateway funguje v jakékoli zemi a může odesílat a přijímat SMS přes různé mobilní připojení, což znamená, že je možné i mezinárodní zasílání zpráv.
Pokračujte ve čtení na stránce návodů Ozeki, kde najdete více informací o tématech jako mazání SMS v Go.
Nyní zbývá jen stáhnout Ozeki SMS Gateway a začít pracovat!
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