Hogyan küldjünk SMS-t Go nyelven

A legegyszerűbb módja az SMS küldésének Go nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Ezzel az API-val HTTP POST kérést küldhet az SMS gatewaynek. A HTTP POST kérés egy JSON formátumú üzenetet tartalmaz. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonjára, és egy HTTP 200 OK választ küld vissza a kérésre.

hogyan küldjünk sms-t go nyelven
1. ábra - Hogyan küldjünk SMS-t Go nyelven

Go kód SMS küldésére mobiltelefonra

Az alábbi Go SMS kódminta bemutatja, hogyan küldhet SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával a github.com/ozekisms/go_send_sms_http_rest_ozeki csomag segítségével. Ez a csomag ingyenesen használható, és bármely projektjében felhasználhatja vagy módosíthatja.

SendSms.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!"

	api := ozeki.NewMessageApi(configuration)

	result := api.Send(msg)

	fmt.Println(result)
}
	

1. kód - SendSms.go

A Go SMS példa használata:

Ez a Go SMS példa bármely Go alkalmazásban használható. A használathoz le kell töltenie a github.com/ozekisms/go_send_sms_http_rest_ozeki csomagot. A csomag letöltése után hivatkoznia kell rá a Go forráskódjában. Ez lehetővé teszi a github.com/ozekisms/go_send_sms_http_rest_ozeki csomag osztályainak használatát. Az Message osztállyal létrehozhatja az SMS-t. Az MessageApi osztállyal elküldheti az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendSms.go letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendSms.go.zip (992B)

Mi található a SendSms.go.zip fájlban?

A SendSms.go.zip-ben található a SendSms.go fájl, amely tartalmazza a példakódot az SMS küldésének bemutatására. Ez a példakód az alábbiakban látható.

2. ábra - Mi található a SendSms.go.zip-ben

A github.com/ozekisms/go_send_sms_http_rest_ozeki csomag telepítése

go get github.com/ozekisms/go_send_sms_http_rest_ozeki
	

2. kód - Parancs a github.com/ozekisms/go_send_sms_http_rest_ozeki csomag telepítéséhez

1. videó - A github.com/ozekisms/go_send_sms_http_rest_ozeki csomag telepítése (Videó útmutató)

Hogyan küldjünk SMS-t Go nyelven (Egyszerű útmutató)

Az SMS küldése Go nyelven:

  1. Telepítsen egy HTTP API felhasználót
  2. Engedélyezze a Kommunikációs események naplózását a Speciális lapon
  3. Állítsa be a Visual Studio-t
  4. Töltse le, majd csomagolja ki a SendSms.go.zip fájlt
  5. Indítsa el az Ozeki SMS Gateway alkalmazást
  6. Futtassa a SendSend.go Go kódot a parancssorból
  7. Ellenőrizze a naplókat, hogy az SMS elküldésre került-e

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t tudjon küldeni Go nyelven, először telepítenie kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Go kódját fejleszti bármely szövegszerkesztőben, például a Windows Jegyzettömbben. A telepítés után a következő lépés az, hogy csatlakoztassa az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhet egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolat működik. A környezet előkészítésének utolsó lépése egy HTTP SMS API felhasználói fiók létrehozása. Hozzon létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

A környezet beállítása után futtathatja a Go kódját.

HTTP API URL az SMS küldéséhez Go nyelven

Az SMS küldéséhez Go nyelven a Go alkalmazásnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Vegye figyelembe, hogy az IP-címet (127.0.0.1) az SMS gateway IP-címére kell cserélni. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Go SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, annak az IP-címét kell megadni.

http://127.0.0.1:9509/api?action=rest
	

HTTP hitelesítés az SMS küldéséhez Go nyelven

A Go SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolt sztringként kell elküldenie a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Go nyelven a következő kódot használhatja a kódoláshoz:

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
}
	

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolja, a következő base64 kódolt sztringet kapja: aHR0cF91c2VyOnF3ZTEyMw==. Az SMS küldéséhez

HTTP kérés fejléc az SMS küldéséhez Go nyelven

Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécében. Vegye figyelembe, hogy egy tartalomtípus és egy Authorization fejléc is szerepel.

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

HTTP kérés az SMS küldéséhez Go nyelven

Az SMS beküldéséhez a Go alkalmazása egy olyan HTTP kérést küld, amely hasonlít az alábbihoz. Vegye figyelembe, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolt adatsztring. Tartalmazza a címzett számát és az üzenet szövegét.

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": "60ce97a2-dff6-11eb-990e-74d4355e997d",
			"from_connection": "",
			"from_address": "",
			"from_station": "",
			"to_connection": "",
			"to_address": "+36201111111",
			"to_station": "",
			"text": "Hello world!",
			"create_date": "2021-07-08T16:11:24",
			"valid_until": "2021-07-15T16:11:24",
			"time_to_send": "2021-07-08T16:11:24",
			"submit_report_requested": true,
			"view_report_requested": true,
			"delivery_report_requested": true,
			"tags": [],
			"status": ""
		}
	]
}
	

HTTP válasz a Go SMS példa által kapott

Miután az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolt struktúrát is visszaad, ami hasznos részleteket nyújt az üzenet beküldéséről.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.123 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Thu, 08 Jul 2021 16:08:52 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": "60ce97a2-dff6-11eb-990e-74d4355e997d",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-08 16:11:24",
	      "valid_until": "2021-07-15 16:11:24",
	      "time_to_send": "2021-07-08 16:11:24",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Csatlakoztassa az SMS gatewayt a mobilhálózathoz és hozzon létre egy HTTP API felhasználói fiókot

Feltételezzük, hogy már telepítette az Ozeki SMS Gateway-t, és csatlakoztatta a mobilhálózathoz. Ahhoz, hogy SMS-t tudjon küldeni mobiltelefonra Go nyelven, be kell állítania egy HTTP API felhasználói fiókot az Ozeki SMS Gateway-ben.

2. videó - Hogyan állítson be egy HTTP API felhasználói fiókot (Videó útmutató)

Hogyan küldjön SMS-t Go nyelven a Go SMS API-val (Videó útmutató)

Ez a videó bemutatja, hogyan töltheti le a SendSms.go.zip fájlt erről az oldalról. Ha megnézi a videót, észreveszi, hogy a SendSms.go.zip tartalma a Windows asztalra kerül. Azt is látni fogja, hogy a parancssort használjuk az SMS küldéséhez.

Go SMS példa: SendSms.go

Az alábbi példakód a SendSms.go része.

3. ábra - SendSms.go fájl

Hogyan ellenőrizze, hogy az SMS-t elfogadta-e a HTTP felhasználó

Az SMS beküldése után érdemes ellenőrizni az SMS gatewayt, hogy mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül tekintheti meg a HTTP felhasználó részleteinek megnyitásával. A következő videó bemutatja, hogy mire kell figyelnie.

4. videó - Hogyan küldjön SMS-t a fenti Go kóddal (Videó útmutató)

Hogyan ellenőrizze, hogy az SMS eljutott-e a mobilhálózatra

A folyamat ellenőrzésének utolsó lépése a mobilhálózati kapcsolat naplóinak megtekintése. Lehet, hogy be kell kapcsolnia a naplózást a kapcsolat beállításaiban, mielőtt elküldi az üzenetet a naplók megtekintéséhez. Ha a naplózás engedélyezve van, látni fogja a telefonszámot és az elküldött üzenet szövegét.

5. videó - Hogyan tesztelje, hogy a kérést elfogadta-e az SMPP kliens (Videó útmutató)

Hogyan fogadjon SMS-t Android telefonon (Videó útmutató)

Ebben a videóban bemutatjuk, hogyan fogadhat SMS üzeneteket Android telefonján. Látni fog egy közönséges Android telefon kezdőképernyőt és egy bejövő SMS értesítést. Azt is megtanulja, hogyan nyithatja meg az SMS-t. A videó mindössze 18 másodperc hosszú, de az egész folyamat látható rajta.

6. videó - Hogyan fogadjon SMS-t Android telefonon (Videó útmutató)

Összegzés

Ennek a cikknek az volt a célja, hogy elmagyarázza az SMS küldését Go nyelven az Ozeki SMS Gateway segítségével. Ezzel a megoldással képes lesz üzeneteket küldeni Go kódokkal, minden szükséges tudást és eszközt a fenti útmutató tartalmaz. Az Ozeki SMS Gateway nagyon jól vezérelhető Go kódokkal, ami bizonyítja, hogy ez a program testreszabható és könnyen használható. Azt is meg kell említeni, hogy az Ozeki SMS Gateway egy Ön által vezérelt környezetben fut, ami azt jelenti, hogy a névjegyzék és az adatok biztonságban vannak.

További hasonló megoldásokról az Ozeki oktatóoldalán olvashat, ahol további információ található olyan témákról, mint SMS ütemezése Go nyelven.

Most már csak annyi a teendő, hogy letölti az Ozeki SMS Gateway-t és elkezd dolgozni!

More information