sms-node-client लाइब्रेरी: Node.js से SMS भेजना
आधुनिक वेब एप्लिकेशन को अक्सर सूचनाएं, पंजीकरण पुष्टिकरण या मार्केटिंग अभियान भेजने के लिए SMS सेवाओं के साथ एकीकरण की आवश्यकता होती है। sms-node-client लाइब्रेरी Node.js से सीधे लोकप्रिय SMS गेटवे के साथ काम करने के लिए एक सरल और सुविधाजनक इंटरफ़ेस प्रदान करती है। यह HTTP अनुरोधों और प्रमाणीकरण की जटिलता को दूर करती है, जिससे डेवलपर व्यावसायिक तर्क पर ध्यान केंद्रित कर सकता है।
इस लेख में, हम लाइब्रेरी की मुख्य क्षमताओं पर चर्चा करेंगे: इंस्टॉलेशन, API से कनेक्शन कॉन्फ़िगरेशन, एकल और सामूहिक संदेश भेजना, और सामान्य त्रुटियों का प्रबंधन।
इंस्टॉलेशन और कनेक्शन
लाइब्रेरी npm के माध्यम से वितरित की जाती है। इंस्टॉल करने के लिए, अपने प्रोजेक्ट की रूट डायरेक्टरी में निम्न कमांड चलाएं:
npm install sms-node-clientइंस्टॉलेशन के बाद, लाइब्रेरी को अपनी JavaScript फ़ाइल में आयात करें:
const SMSClient = require('sms-node-client');
// या ES6 मॉड्यूल का उपयोग करके (यदि कॉन्फ़िगर किया गया हो)// import SMSClient from 'sms-node-client';क्लाइंट कॉन्फ़िगरेशन
API के साथ काम करने के लिए, क्लाइंट ऑब्जेक्ट को कनेक्शन पैरामीटर देकर इनिशियलाइज़ करना आवश्यक है: apiKey (एक्सेस की) और apiSecret (गुप्त कुंजी)। ये डेटा आमतौर पर आपके SMS प्रदाता द्वारा प्रदान किए जाते हैं।
const client = new SMSClient({ apiKey: 'आपकी_api_कुंजी', apiSecret: 'आपका_api_गुप्त_कुंजी', // वैकल्पिक: यदि प्रदाता गैर-मानक एंडपॉइंट का उपयोग करता है तो बेस URL निर्दिष्ट किया जा सकता है // baseUrl: 'https://custom-sms-gateway.com/api/v1'});लाइब्रेरी की मुख्य विधियाँ
लाइब्रेरी संदेश भेजने के लिए तीन मुख्य विधियाँ प्रदान करती है:
sendSMS(phone, message, options?)— एक नंबर पर एक SMS भेजना।sendBulkSMS(messages, options?)— कई नंबरों पर सामूहिक भेजना।getStatus(messageId)— संदेश ID द्वारा डिलीवरी स्थिति की जाँच करना।
उदाहरण: एक SMS भेजना
सबसे सरल परिदृश्य एक नंबर पर संदेश भेजना है। यह विधि एक Promise लौटाती है, इसलिए async/await का उपयोग करना सुविधाजनक है।
async function sendSingleSMS() { try { const result = await client.sendSMS( '+71234567890', // अंतर्राष्ट्रीय प्रारूप में प्राप्तकर्ता का नंबर 'नमस्ते! यह Node.js से एक परीक्षण संदेश है।', // संदेश का टेक्स्ट { sender: 'MyApp' } // वैकल्पिक: प्रेषक का नाम (प्रदाता के पास पंजीकृत होना चाहिए) );
console.log('SMS सफलतापूर्वक भेजा गया:', result); // result.messageId - स्थिति ट्रैक करने के लिए अद्वितीय संदेश ID } catch (error) { console.error('SMS भेजने में त्रुटि:', error.message); }}
sendSingleSMS();उदाहरण: सामूहिक अभियान
कई नंबरों पर एक ही टेक्स्ट भेजने के लिए sendBulkSMS विधि का उपयोग करें। यह नंबरों वाली ऑब्जेक्ट्स की एक सरणी स्वीकार करती है।
async function sendBulk() { const recipients = [ { phone: '+71234567890' }, { phone: '+70987654321' }, { phone: '+70123456789' } ];
try { const result = await client.sendBulkSMS(recipients, { message: 'प्रिय ग्राहक! आपका ऑर्डर वितरण के लिए तैयार है।', sender: 'ShopBot' });
console.log(`${result.sentCount} संदेश भेजे गए`); // result.messages - प्रत्येक नंबर के विवरण वाली सरणी } catch (error) { console.error('सामूहिक अभियान में त्रुटि:', error); }}
sendBulk();डिलीवरी स्थिति की जाँच
भेजने के बाद, आप जाँच सकते हैं कि संदेश प्राप्तकर्ता तक पहुंचा या नहीं। इसके लिए भेजते समय प्राप्त messageId का उपयोग करें।
async function checkStatus(messageId) { try { const status = await client.getStatus(messageId); console.log('संदेश की स्थिति:', status); // status.s