TypeScript पर SMS भेजना: API और लाइब्रेरीज़ का अवलोकन
आधुनिक वेब एप्लिकेशन और सेवाओं को अक्सर सूचनाएं, पुष्टिकरण या मार्केटिंग संदेश भेजने के लिए SMS गेटवे के साथ एकीकरण की आवश्यकता होती है। TypeScript, JavaScript पर एक ओवरले के रूप में, सख्त टाइपिंग प्रदान करता है, जो बाहरी API के साथ काम करते समय विशेष रूप से उपयोगी है। इस लेख में, हम लोकप्रिय लाइब्रेरीज़ और सेवाओं का उपयोग करके TypeScript एप्लिकेशन से SMS भेजने का तरीका देखेंगे।
SMS API के साथ काम करने के लिए TypeScript क्यों?
TypeScript स्थैतिक टाइपिंग जोड़ता है, जो रनटाइम में त्रुटियों की संख्या को कम करता है। SMS प्रदाताओं के साथ काम करते समय यह महत्वपूर्ण है, क्योंकि API अनुरोधों में अक्सर जटिल डेटा संरचनाएं (फ़ोन नंबर, टेक्स्ट, भेजने के पैरामीटर) होती हैं। टाइप फ़ील्ड नामों में टाइपो से बचने और डेटा के सही स्थानांतरण को सुनिश्चित करने में मदद करते हैं।
SMS भेजने के लिए मुख्य लाइब्रेरीज़
बाजार में कई लोकप्रिय सेवाएं हैं जो SMS भेजने के लिए HTTP API प्रदान करती हैं। TypeScript के लिए दो सबसे सामान्य विकल्पों पर विचार करें।
1. Twilio (आधिकारिक SDK)
Twilio क्लाउड संचार बाजार में अग्रणी है। Node.js के लिए आधिकारिक SDK TypeScript के साथ पूरी तरह से संगत है और तैयार टाइप के साथ आता है।
स्थापना:
npm install twilionpm install @types/twilio --save-dev // टाइप पहले से शामिल हैं, लेकिन पुराने संस्करणों के लिएSMS भेजने का उदाहरण:
import { Twilio } from 'twilio';
const accountSid = 'आपका_ACCOUNT_SID';const authToken = 'आपका_AUTH_TOKEN';const client = new Twilio(accountSid, authToken);
interface SmsParams { to: string; // प्राप्तकर्ता का नंबर +71234567890 प्रारूप में from: string; // प्रेषक का नंबर (Twilio में खरीदा गया) body: string; // संदेश का टेक्स्ट}
async function sendSms(params: SmsParams): Promise<void> { try { const message = await client.messages.create({ body: params.body, from: params.from, to: params.to, }); console.log(`SMS भेजा गया। SID: ${message.sid}`); } catch (error) { console.error('भेजने में त्रुटि:', error); }}
// उपयोगsendSms({ to: '+79001234567', from: '+15005550006', body: 'नमस्ते! यह TypeScript से एक परीक्षण संदेश है।',});2. SMS Aero (fetch/axios के माध्यम से REST API)
SMS Aero एक रूसी सेवा है, जो स्थानीय परियोजनाओं के लिए लोकप्रिय है। TypeScript के लिए कोई आधिकारिक SDK नहीं है, लेकिन fetch या axios पर टाइप किए गए रैपर का उपयोग किया जा सकता है।
स्थापना:
npm install axiosटाइप किए गए अनुरोध के साथ उदाहरण:
import axios, { AxiosResponse } from 'axios';
interface SmsAeroResponse { status: 'success' | 'error'; id?: number; message?: string;}
interface SmsAeroParams { to: string; from?: string; text: string; sign?: string; // प्रेषक का हस्ताक्षर}
const API_URL = 'https://gate.smsaero.ru/v2/sms/send';const EMAIL = 'आपका_email@example.com';const API_KEY = 'आपकी_कुंजी';
async function sendSmsAero(params: SmsAeroParams): Promise<SmsAeroResponse> { const auth = Buffer.from(`${EMAIL}:${API_KEY}`).toString('base64'); const response: AxiosResponse<SmsAeroResponse> = await axios.post( API_URL, { number: params.to, text: params.text, sign: params.sign || 'SMS Aero', }, { headers: { 'Authorization': `Basic ${auth}`, 'Content-Type': 'application/json', }, } ); return response.data;}
// उपयोगsendSmsAero({ to: '79001234567', text: 'आपका पुष्टिकरण कोड: 1234', sign: 'MyApp',}).then(res => console.log(res));सार्वभौमिक TypeScript रैपर बनाना
उन परियोजनाओं के लिए जहां प्रदाता बदलने की आवश्यकता हो सकती है, एक सार