Hogyan küldjünk SMS-t F#-ból

A legegyszerűbb módja az SMS küldésének F#-ból az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Ezt az API-t használva HTTP POST kérést küldhetsz az SMS gatewaynek. A HTTP POST kérés egy JSON formátumú üzenetet fog tartalmazni. Az SMS gateway elküldi ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre.

hogyan küldjünk sms-t f#-ból
1. ábra - Hogyan küldjünk SMS-t F#-ból

F# SMS küldés példakód

Program.fs
open System
open Ozeki.Libs.Rest

[]
let main argv =
    let configuration = new Configuration (
        Username = "http_user",
        Password = "qwe123",
        ApiUrl = "http://127.0.0.1:9509/api")

    let msg = new Message(
        ToAddress = "+36201111111", 
        Text = "Hello, World!")

    let api = new MessageApi(configuration)

    let result = api.Send(msg)

    printfn $"{result.ToString()}"
    0

SendSms.fs letöltése

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

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

A SendSms.fs.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálod a SendSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód lent látható.

2. ábra - Mi található a SendSms.fs.zip fájlban

Hogyan küldjünk SMS-t F#-ból (Gyors lépések)

Az SMS küldéséhez F#-ból:

  1. Telepítsd az Ozeki SMS Gateway-t
  2. Kapcsold az Ozeki SMS Gateway-t a mobil hálózathoz
  3. Küldj egy teszt SMS-t az Ozeki GUI-ból
  4. Hozz létre egy HTTP SMS API felhasználót
  5. Indítsd el a Visual Studio-t
  6. Hozz létre egy SendSms.sln nevű megoldást
  7. Adj hozzá egy F# konzol projektet: SendSms.fsproj
  8. Helyezd el a kódot a Program.fs vagy SendSms.fs fájlba
  9. Olvasd el a HTTP választ
  10. Ellenőrizd a naplókat az SMS gatewayben

Hogyan írd meg első F# programodat (Gyors parancsok)

Az első F# programod írásához:

  1. Állítsd be a Visual Studio-t
  2. Töltsd le a SendSms.fs.zip fájlt
  3. Csomagold ki a .zip fájlt a Letöltések mappából
  4. Nyisd meg a SendSms.sln fájlt a Visual Studio-ban
  5. Indítsd el az Ozeki SMS Gateway alkalmazást
  6. Kattints a HTTP felhasználóra a Felhasználók és alkalmazások lapon
  7. Futtasd a SendSMS.fs-t a Visual Studio-ban
  8. Ellenőrizd a Küldött mappát az Ozeki SMS Gateway-ben
  9. Válaszd az SMPP kliens kapcsolatot a kezdőlapon
  10. Jelöld be az összes Napló szint jelölőnégyzetet a Konfigurálás menü Speciális lapján
  11. Futtasd újra a Program.fs-t a Visual Studio-ban
  12. Találd meg az eseményt, ha a címzett megkapta az üzeneted

Telepítsd az Ozeki SMS Gateway-t és hozz létre egy HTTP API felhasználót

Ahhoz, hogy SMS-t tudj küldeni F#-ból, 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 Visual Studio-ban fejleszted az F# kódodat. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobil hálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból, hogy ellenőrizd, működik-e a mobil hálózati kapcsolatod. A környezet előkészítésének utolsó lépése, hogy létrehozol egy HTTP SMS API felhasználót. 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 az F# kódodat.

HTTP API URL az SMS küldéséhez F#-ból

Ahhoz, hogy SMS-t küldj F#-ból, az F# alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL lent látható. Fontos, hogy az IP címet (127.0.0.1) le kell cserélni az SMS gateway IP címére. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol az F# SMS alkalmazás fut, akkor ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak az IP címét kell használni.

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

HTTP hitelesítés az SMS küldéséhez F#-ból

Az F# SMS kliens hitelesítéséhez a felhasználónevet és jelszót base64 kódolású sztringként kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). C#-ban a következő kódot használhatod a kódoláshoz:

var encoding = Encoding.GetEncoding("iso-8859-1");
var usernamePassword = username + ":" + password;
var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc az SMS küldéséhez F#-ból

Az SMS üzenetek küldéséhez a következő sorokat kell belefoglalnod fejléc

More information