Hogyan küldjünk több SMS-t Go nyelven

A legegyszerűbb módja több SMS küldésének Go nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott ü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ésedre.

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

Go kód több SMS üzenet küldésére mobilra

Az alábbi Go SMS kód minta bemutatja, hogyan küldhetsz több SMS-t az Ozeki SMS Gateway http rest sms api-jával a Go github.com/ozekisms/go_send_sms_http_rest_ozeki csomag segítségével. Ez a csomag ingyenesen elérhető, és bármely projektjében felhasználhatja és módosíthatja.

SendMultipleSms.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",
	)

	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)
}
	

1. kód - SendMultipleSms.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ölteni a github.com/ozekisms/go_send_sms_http_rest_ozeki csomagot. A csomag letöltése után hozzá kell adni egy referenciát a Go forráskódodhoz. Ez lehetővé teszi a github.com/ozekisms/go_send_sms_http_rest_ozeki csomag által nyújtott osztályok használatát. A Message osztály segítségével létrehozhatod az SMS-t. A MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatba vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendMultipleSms.go letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendMultipleSms.go.zip (1.08Kb)

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

A SendMultipleSms.go.zip-ben található a SendSms.go fájl, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód alább látható.

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

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

SMS küldése Go nyelven:

  1. Telepíts egy HTTP API felhasználót
  2. Kapcsold be a Kommunikációs események naplózását a Speciális lapon
  3. Állítsd be a Visual Studio-t
  4. Töltsd le, majd csomagold ki a SendMultipleSms.go.zip fájlt
  5. Indítsd el az Ozeki SMS Gateway alkalmazást
  6. Futtasd a SendMultipleSms.go Go kódot a parancssorból
  7. Ellenőrizd a naplókat, hogy az SMS elküldődött-e

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

Ahhoz, hogy több SMS-t tudj küldeni Go nyelven, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Go kódodat fejleszted 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 csatlakoztathatod az Ozeki SMS Gateway-t a mobilhálózathoz. létrehozol egy HTTP SMS API felhasználói fiókot. Hozz 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.

Miután a környezet beállításra került, futtathatod a Go kódodat.

HTTP API URL több SMS küldéséhez Go nyelven

Ahhoz, hogy SMS-t küldj Go nyelven, a Go alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL alább látható. Figyelj arra, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét kell beírnod. 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 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üldened 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álhatod 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ódolod, a következő base64 kódolt sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==. A küldéshez

HTTP kérés fejléc 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ének. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.

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

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

Az SMS beküldéséhez a Go alkalmazásod egy olyan HTTP kérést küld, amely hasonlít az alábbihoz. Figyelj arra, 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. Ez tartalmazza a címzettek számát és az üzenetek szövegét.

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": ""
		}
	]
}
	

HTTP válasz, amit a Go SMS példa kap

Amint 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. Emellett 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: 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"
	    }
	  ]
	}
}
	

Hogyan küldjünk több SMS üzenetet Go nyelven a Go SMS API segítségével (Videó útmutató)

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

Go SMS példa: SendMultipleSms.go

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

3. ábra - SendMultipleSms.go fájl

Hogyan ellenőrizd, 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 tekintheted meg, ahol megnyithatod a HTTP felhasználó részleteit. A következő videó bemutatja, hogy mire kell figyelni.

2. videó - Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó (Videó útmutató)

Összefoglalás

Ez az útmutató azt magyarázza el, hogyan küldhetsz több SMS-t Go nyelven az Ozeki SMS Gateway segítségével. Ezzel a megoldással gyorsan és egyszerűen érhetsz el több ügyfelet egyszerre. Ezzel a technológiával sok időt és energiát takaríthatsz meg, mivel a több SMS küldése sokkal könnyebbé teszi a munkát. Az Ozeki SMS Gateway nagy teljesítménnyel működik, akár 1000 SMS-t is képes másodpercenként elküldeni.

Győződj meg róla, hogy tovább olvasol az Ozeki oktatóoldalán, ahol további információkat találsz olyan témákról, mint az SMS törlés Go nyelven.

Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!

More information