C# (.NET) से SMS भेजना: SMS API सेवाओं के साथ इंटीग्रेशन
आज के डिजिटल युग में, नोटिफिकेशन, टू-फैक्टर ऑथेंटिकेशन और ग्राहकों को अलर्ट भेजने के लिए SMS भेजना एक महत्वपूर्ण जरूरत है। .NET इकोसिस्टम में SMS भेजने के लिए कोई बिल्ट-इन लाइब्रेरी नहीं है - सभी ऑपरेशन तीसरे पक्ष के SMS प्रदाताओं के API के माध्यम से HTTP रिक्वेस्ट के जरिए किए जाते हैं। इस लेख में, हम C# में HttpClient का उपयोग करके SMS भेजने का तरीका समझेंगे और लोकप्रिय सेवाओं के साथ इंटीग्रेशन के उदाहरण देखेंगे।
SMS प्रदाता चुनना और मुख्य पैरामीटर
शुरू करने से पहले, किसी एक SMS सेवा में रजिस्टर करना जरूरी है। सबसे लोकप्रिय प्रदाता हैं: Twilio, Vonage (Nexmo), SMS Aero, सीएमएससेंटर। ये सभी REST API प्रदान करते हैं। SMS भेजने के लिए आपको चाहिए:
- API कुंजी / टोकन - आपके अकाउंट की अनोखी पहचान।
- सीक्रेट / पासवर्ड - ऑथेंटिकेशन के लिए गुप्त कुंजी।
- प्रेषक नंबर (Sender ID) - वह नाम या नंबर जो प्राप्तकर्ता को दिखेगा (जैसे, आपका ब्रांड)।
- प्राप्तकर्ता नंबर - अंतरराष्ट्रीय प्रारूप में (जैसे, +919876543210)।
C# में HttpClient के साथ बेसिक इम्प्लीमेंटेशन
.NET में HTTP रिक्वेस्ट के लिए System.Net.Http.HttpClient क्लास का उपयोग किया जाता है। नीचे Twilio API के माध्यम से SMS भेजने का उदाहरण दिया गया है (यह सबसे लोकप्रिय सेवाओं में से एक है)।
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
public class SmsSender
{
private readonly HttpClient _httpClient;
private readonly string _accountSid;
private readonly string _authToken;
public SmsSender(string accountSid, string authToken)
{
_accountSid = accountSid;
_authToken = authToken;
_httpClient = new HttpClient();
}
public async Task SendSmsAsync(string to, string from, string message)
{
// Twilio API का URL
string url = $"https://api.twilio.com/2010-04-01/Accounts/{_accountSid}/Messages.json";
// फॉर्म डेटा तैयार करें
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("To", to),
new KeyValuePair<string, string>("From", from),
new KeyValuePair<string, string>("Body", message)
});
// बेसिक ऑथेंटिकेशन जोड़ें
string auth = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{_accountSid}:{_authToken}"));
_httpClient.DefaultRequestHeaders.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", auth);
// POST रिक्वेस्ट भेजें
HttpResponseMessage response = await _httpClient.PostAsync(url, content);
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine($"SMS सफलतापूर्वक भेजा गया: {responseBody}");
}
else
{
string error = await response.Content.ReadAsStringAsync();
Console.WriteLine($"त्रुटि: {response.StatusCode} - {error}");
}
}
}
क्लास का उपयोग
class Program
{
static async Task Main(string[] args)
{
// Twilio डैशबोर्ड से अपनी जानकारी डालें
string accountSid = "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string authToken = "your_auth_token_here";
var sender = new SmsSender(accountSid, authToken);
await sender.SendSmsAsync(
to: "+919876543210",
from: "+15017122661", // Twilio द्वारा आवंटित नंबर
message: "नमस्ते! यह C# से एक टेस्ट SMS है।"
);
}
}
अन्य प्रदाता: Vonage (Nexmo) के साथ उदाहरण
Vonage API के लिए रिक्वेस्ट का फॉर्मेट JSON है। उदाहरण:
public async Task SendSmsVonageAsync(string t पुस्तकालय में भी
Swift (iOS/macOS) में Apache Kafka के साथ कार्य: लाइब्रेरीज़ और उदाहरण
Carthage Swift: पूर्ण गाइड उदाहरणों के साथ