Kotlin पर SMS भेजना: तेज़ एकीकरण के लिए API लाइब्रेरी
आधुनिक वेब डेवलपमेंट में, प्रोग्रामेटिक रूप से SMS संदेश भेजने की क्षमता एक आवश्यक सुविधा बनी हुई है - दो-कारक प्रमाणीकरण से लेकर ऑर्डर स्थिति सूचनाओं तक। यदि आप सर्वर-साइड (Ktor, Spring Boot) या मोबाइल एप्लिकेशन (Android) के लिए Kotlin का उपयोग कर रहे हैं, तो आपको SMS प्रदाताओं के साथ काम करने के लिए एक विश्वसनीय उपकरण की आवश्यकता होगी। इस लेख में, हम Kotlin पर SMS भेजने के लिए API लाइब्रेरी, इसकी क्षमताओं, एकीकरण उदाहरणों और सर्वोत्तम प्रथाओं पर चर्चा करेंगे।
SMS भेजने के लिए API लाइब्रेरी क्या है?
API लाइब्रेरी कक्षाओं और फ़ंक्शनों का एक सेट है जो SMS प्रदाता के सर्वर पर HTTP अनुरोधों के साथ काम करने को सारगर्भित करता है। मैन्युअल रूप से URL, हेडर बनाने और JSON को पार्स करने के बजाय, आप सरल Kotlin विधियों को कॉल करते हैं: sendSms(phone, message)। लाइब्रेरी प्रमाणीकरण, क्रमांकन, नेटवर्क त्रुटियों पर पुनः प्रयास और प्रतिक्रियाओं के प्रबंधन का ध्यान रखती है।
लाइब्रेरी की मुख्य विशेषताएं
- सरल SMS भेजना — प्राप्तकर्ता का नंबर, टेक्स्ट और वैकल्पिक रूप से प्रेषक का नाम (अल्फा-नाम) निर्दिष्ट करना।
- सामूहिक प्रेषण — नंबरों की सूची पर एक संदेश भेजना।
- स्थिति जांच — वितरण के बारे में जानकारी प्राप्त करना (वितरित, कतार में, त्रुटि)।
- विभिन्न प्रदाताओं का समर्थन — Twilio, Vonage (Nexmo), SMSC.ru, Smsc.ua और अन्य।
- अतुल्यकालिकता — सभी विधियां कोरूटीन के लिए
suspendफ़ंक्शन याDeferredलौटाती हैं। - लॉगिंग और त्रुटि प्रबंधन — डिबगिंग के लिए अंतर्निहित तंत्र।
स्थापना और कनेक्शन
लाइब्रेरी Maven Central या JitPack के माध्यम से वितरित की जाती है। build.gradle.kts में निर्भरता जोड़ें:
// build.gradle.kts (Gradle Kotlin DSL के लिए)dependencies { implementation("com.example:sms-api:1.0.0") // यदि आप Ktor Client का उपयोग कर रहे हैं implementation("io.ktor:ktor-client-core:2.3.0") implementation("io.ktor:ktor-client-okhttp:2.3.0")}Android के लिए, AndroidManifest.xml में इंटरनेट अनुमति भी जोड़ें।
SMS भेजने का मूल उदाहरण
SMSC.ru प्रदाता के माध्यम से एक संदेश भेजने का न्यूनतम उदाहरण देखें (अन्य के लिए समान)।
import com.example.smsapi.SmsClientimport com.example.smsapi.model.SmsRequestimport com.example.smsapi.model.SmsResponse
suspend fun sendSingleSms() { // क्रेडेंशियल के साथ क्लाइंट बनाएं val client = SmsClient.create( login = "your_login", password = "your_password", provider = SmsProvider.SMSC )
// अनुरोध तैयार करें val request = SmsRequest( phone = "+71234567890", message = "आपका पुष्टिकरण कोड: 1234", sender = "MyApp" // अल्फा-नाम, यदि समर्थित हो )
// भेजें और प्रतिक्रिया प्राप्त करें val response: SmsResponse = client.send(request)
when (response.status) { SmsStatus.SUCCESS -> println("SMS भेजा गया, ID: ${response.id}") SmsStatus.ERROR -> println("त्रुटि: ${response.errorMessage}") else -> println("अज्ञात स्थिति") }}सामूहिक प्रेषण
एकाधिक नंबरों पर एक संदेश भेजने के लिए sendBatch विधि का उपयोग करें:
val phones = listOf("+71234567890", "+70987654321", "+71112223344")val batchRequest = BatchSmsRequest( phones = phones, message = "प्रिय ग्राहकों, ऑफ़र शुक्रवार तक बढ़ा दिया गया है!", sender = "ShopBot")
val batchResponse = client.sendBatch(batchRequest)batchResponse.results.forEach { result -> println("फ़ोन: ${result.phone}, स्थिति: ${result.status}")}कोरूटीन के साथ अतुल्यकालिक प्रसंस्करण
लाइब्रेरी पूरी तरह से