Hogyan küldjünk ütemezett SMS-t C#-ból
A legegyszerűbb módja az SMS küldésének C#-ból 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 telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre.
C# kód ütemezett SMS küldésére mobilra
Az alábbi C# SMS kódminta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway http rest sms api-jával, az Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektben felhasználhatod vagy módosíthatod.
SendScheduledSms.csusing Ozeki.Libs.Rest; using System; namespace SendScheduledSms { class Program { static void Main(string[] args) { var configuration = new Configuration() { Username = "http_user", Password = "qwe123", ApiUrl = "http://127.0.0.1:9509/api" }; var msg = new Message() { ToAddress = "+36201111111", Text = "Hello, World!", TimeToSend = DateTime.Parse("2021-06-11 13:25:00") }; var api = new MessageApi(configuration); var result = api.Send(msg); Console.WriteLine(result); Console.ReadKey(); } } }
A C# SMS példa használata:
Ez a C# SMS példa bármilyen .NET vagy .NET core alkalmazásban használható. A használathoz az Ozeki.Libs.Rest dll-t referenciaként kell hozzáadnod a projektedhez. A referencia hozzáadása után az using Ozeki.Libs.Rest; direktívát kell elhelyezned a C# forráskódod fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár á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ózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
SendScheduledSms.cs letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendScheduledSms.cs.zip (34.2Kb)
Mi található a SendScheduledSms.cs fájlban?
A SendScheduledSms.cs 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 SendScheduleSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód alább látható.
Hogyan küldjünk ütemezett SMS-t C#-ból (Egyszerű útmutató)
Ütemezett SMS küldése C#-ból:
- Telepítsd az HTTP API felhasználót
- Állítsd be a Visual Studio-t
- Töltsd le a SendScheduledSms.cs.zip fájlt
- Csomagold ki a .zip fájlt a Letöltések mappából
- Nyisd meg a SendScheduledSms.sln fájlt a Visual Studio-ban
- Add hozzá az Ozeki.Libs.Rest dll-t referenciaként
- Szerkeszd a fájlt az ütemezett SMS küldéséhez C#-ból
- Indítsd el az Ozeki SMS Gateway-t
- Futtasd a Program.cs-t a Visual Studio-ban az SMS küldéséhez C#-ból
- Ellenőrizd a naplókat
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudj küldeni C#-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 a C# kódodat. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése az, hogy 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 C# kódodat.
HTTP API URL SMS küldéséhez C#-ból
Ahhoz, hogy SMS-t küldj C#-ból, a C# alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, 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 C# 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 megadnod.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés SMS küldéséhez C#-ból
A C# SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldened 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 ehhez 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ú karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc SMS küldéséhez C#-ból
Az SMS üzenetek küldéséhez a következő sorokat kell fejléc részként tartalmaznia az HTTP kérésnek. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés ütemezett SMS küldéséhez C#-ból
Az SMS beküldéséhez a C# 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ódolású adat karakterlánc. Tartalmazza a címzett számát és az üzenet szövegét.
POST /api?action=sendmsg HTTP/1.1 Connection: Keep-Alive Content-Length: 336 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9511 { "messages": [ { "message_id": "212a019e-a6f5-46f8-80e5-abddb273451b", "to_address": "+36201111111", "text": "Hello, World!", "create_date": "2021-06-11 13:20:09", "valid_until": "2021-06-18 13:20:09", "time_to_send": "2021-06-11 13:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP válasz, amit a C# 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. Egy JSON kódolású 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.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 13:06:37 GMT Server: 10/10.3.116 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": "212a019e-a6f5-46f8-80e5-abddb273451b", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World!", "create_date": "2021-06-11 13:20:09", "valid_until": "2021-06-18 13:20:09", "time_to_send": "2021-06-11 13:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
C# SMS példa: SendSMS.sln
Hogyan töltsd le a projektet (Videó útmutató)
Ebben a videóban bemutatjuk, hogyan nyisd meg a SendSMS.sln projektet és kezdj el dolgozni vele. A videó a tutorial oldallal és a letöltési linkkel kezdődik, és végigvezet a kód megnyitásáig. Megtanulod, hogyan töltsd le a projektet és hogyan nyisd meg. A videó csak 1 percet vesz igénybe, de tartalmazza az összes szükséges információt a SendSMS.sln projekt megnyitásához az ütemezett SMS küldéshez.
Az alábbi példakód a SendScheduledSms.sln Visual Studio Megoldás része. Egy visual studio megoldás több projektet és több fájlt is tartalmazhat. Ebben a megoldásban csak egy projekt található: SendScheduledSms.csproj, és egy fájl: Program.cs.
Hogyan használd a projektet (Videó útmutató)
Ez a videó bemutatja, hogyan használd a SendSMS.sln projektet az ütemezett SMS küldéshez. A megnyitott projekttel kezdődik, és az elküldött üzenetek naplójával ér véget. Megtanulod, hogyan adjuk hozzá az időpontot, amikor az üzenetet el szeretnéd küldeni, és hogyan futtasd a kódot. Ezután ellenőrizheted az Események lapot az SMS küldés naplójával. A videó csak 80 másodpercet vesz igénybe, és tartalmazza az összes fontos lépést. Nem lesz gondod a tutorial követésével.
A C# SMS példa futtatása Windows-on
Amikor Windows-t használsz a C#-ban írt SMS példa futtatásához, észreveheted, hogy kicsit jobb teljesítményt kapsz, mint Linux-on futtatva. Ennek megértéséhez érdemes észben tartani, hogy a C# a .NET keretrendszert használja a kód végrehajtásához. Ez azért van, mert a .NET implementáció Windows-on optimalizált a teljesítményre, míg a mono, a .NET implementáció Linux-on még dolgozik ezen a területen.
Összegzés
A fenti cikk bemutatta az ütemezett SMS küldésének lépéseit C#-ból. Az Ozeki minden szükséges eszközt és útmutatást nyújt, így ennek a guide-nak a befejezése után képesnek kell lenned az üzeneteid ütemezett küldésére C# és Ozeki SMS Gateway segítségével.
Az SMS ütemezés nagyon hasznos, ha információt szeretnél küldeni az ügyfeleidnek, és biztosítani szeretnéd, hogy lesz idejük figyelni az üzenetre. Így biztos lehet benne, hogy az üzenet nem lesz figyelmen kívül hagyva vagy elfelejtve, mert elkerülöd a forgalmas órákat. Fontos megjegyezni, hogy az Ozeki SMS Gateway kiváló naplózási képességeket kínál, így a felmerülő hibák könnyen és gyorsan nyomon követhetők.
Folytasd tanulmányaidat az Ozeki tutorial oldalain, ahol további információkat találhatsz hasonló témákról, mint például törlése C#-ban.
Most már csak annyi a dolgod, hogy letöltöd az Ozeki SMS Gateway-t és megkezdheted a munkát!
More information
- Hogyan küldjünk SMS-t C#-ból
- Hogyan küldjünk több SMS-t C#-ból
- Hogyan küldjünk időzített SMS-t C#-ból
- Hogyan fogadjunk SMS-t C#-ban
- Hogyan töröljünk SMS-t C# használatával
- Github: C# SMS API
- SMS NuGet könyvtár C#-hoz