Hogyan ütemezhetünk SMS-t Go nyelven
A legegyszerűbb módja az ütemezett 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 fog tartalmazni. 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.
Go kód ütemezett SMS küldésére mobilra
Az alábbi Go SMS kód minta bemutatja, hogyan küldhetsz ütemezett 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.
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) }
Hogyan használd a Go SMS példát:
Ez a Go SMS példa bármely Go alkalmazásban használható. A használathoz le kell töltened a github.com/ozekisms/go_send_sms_http_rest_ozeki csomagot. A csomag letöltése után hozzá kell adnod egy referenciát a Go forráskódodhoz. Ez lehetővé teszi, hogy használd a github.com/ozekisms/go_send_sms_http_rest_ozeki csomag által nyújtott osztályokat. 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ózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
SendScheduledSms.go letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendScheduledSms.go.zip (1.07Kb)
Mi található a SendScheduledSms.go.zip fájlban?
A SendScheduledSms.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 az alábbiakban látható.
Hogyan küldjünk SMS-t Go nyelven (Egyszerű útmutató)
Az SMS küldéséhez Go nyelven:
- Telepíts egy HTTP API felhasználót
- Engedélyezd a Kommunikációs események naplózását a Speciális lapon
- Állítsd be a Visual Studio-t
- Töltsd le, majd csomagold ki a SendScheduledSms.go.zip fájlt
- Indítsd el az Ozeki SMS Gateway alkalmazást
- Futtasd a SendScheduledSms.go Go kódot a parancssorból
- 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 ütemezett 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 van állítva, futtathatod a Go kódodat.
HTTP API URL ütemezett SMS küldéséhez Go nyelven
Az SMS küldéséhez Go nyelven a Go alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban 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, akkor annak a számítógépnek 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 egy base64 kódolt sztringben 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==. Az elkü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 belefoglalnod fejlécként az HTTP kérésbe. Figyelj arra, hogy egy tartalomtípus és egy Authorization fejléc is szerepel.
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 fog küldeni, mint az alábbi. 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. Tartalmazza a címzett számát, az üzenet szövegét és a küldés időpontjá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": "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 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 státuszkó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 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" } ] } }
Hogyan küldjünk ütemezett SMS-t Go nyelven a Go SMS API segítségével (Videó útmutató)
Ez a videó bemutatja, hogyan töltheted le a SendScheduledSms.go.zip fájlt erről az oldalról. Ha megnézed a videót, észreveszed, hogy a SendScheduledSms.go.zip tartalma a Windows asztalra kerül. Azt is látni fogod, hogy a parancssort futtatjuk az SMS küldéséhez.
Go SMS példa: SendScheduledSms.go
Az alábbi példakód a SendScheduledSms.go része.
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. Az alábbi videó bemutatja, hogy mire kell figyelni.
Összefoglalás
Ez az útmutató bemutatta az SMS ütemezés lépéseit Go nyelven az Ozeki SMS Gateway segítségével. Az SMS ütemezés elengedhetetlen, ha magas teljesítményű munkát szeretnél végezni és jó kapcsolatot szeretnél fenntartani az ügyfeleiddel, mivel ezzel a megoldással biztosíthatod, hogy ezek az üzenetek akkor érkezzenek meg, amikor időtük van elolvasni őket. Az Ozeki SMS Gateway bármely országban működik és különféle mobil kapcsolatokon keresztül képes SMS-t küldeni és fogadni, ami azt jelenti, hogy nemzetközi üzenetküldés is lehetséges.
Folytasd az olvasást az Ozeki oktatóoldalán, ahol további információkat találsz olyan témákról, mint az SMS törlése Go nyelven.
Most már csak annyi van hátra, hogy letöltsd az Ozeki SMS Gateway-t és kezdődhet a munka!
More information