मैं एक प्रोग्राम लिख रहा हूं जो एडब्ल्यूएस एसएनएस सेवा का उपयोग कर एसएमएस भेजता है। मैं इस विषय के लिए नया हूँ। इसलिए मैंने ऑनलाइन उपलब्ध कोडों में से एक को आजमाया है।

और कोड नीचे जैसा है।

var AWS = require('aws-sdk');

AWS.config.region = 'your aws region';
AWS.config.update({
    accessKeyId: "your access id",
    secretAccessKey: "your secret access key",
});

var sns = new AWS.SNS();
var params = {
    Message: "your message",
    MessageStructure: 'string',
    PhoneNumber: 'phone_number_without_+',
    Subject: 'your subject'
};

sns.publish(params, function (err, data) {
    if (err) console.log(err, err.stack); // an error occurred
    else console.log(data);           // successful response
});

यहाँ मैंने अपने AWS कंसोल जैसे Region, accessKey और secretAccessKey, my mobile number, Subject और message से संपूर्ण डेटा भरा है। इसे भरने के बाद जब मैं इसे चलाने का प्रयास करता हूं, तो मुझे नीचे प्रतिक्रिया मिलती है।

{ ResponseMetadata: { RequestId: '30d54840-1aa8-5ad4-8de7-19cad1ed033f' },
  MessageId: '7cc1d99e-b835-5015-b84e-88147370a9fe' }

लेकिन मेरे मोबाइल पर कोई एसएमएस नहीं आया।

मैंने सोचा कि यह सेवा मेरे देश में उपलब्ध नहीं है और फिर नीचे दिखाए गए एसएमएस कंसोल से संदेश भेजने का प्रयास किया। मुझे अपने मोबाइल पर एक टेक्स्ट संदेश प्राप्त हुआ।

enter image description here

यहां मैं किसी भी topic का उपयोग नहीं कर रहा हूं और मुझे अलग-अलग संदेश भेजने की जरूरत है, भेजने के लिए कोई बल्क संदेश नहीं है।

कृपया मुझे मार्गदर्शन करें कि मैं कहां गलत हो रहा हूं और मैं इसे कैसे ठीक कर सकता हूं।

धन्यवाद

अपडेट करें

त्वरित परीक्षण के लिए धन्यवाद balent

यह बात काम कर रही है, सबसे दुखद बात यह है कि मैसेज 9 घंटे के बाद डिलीवर हो जाता है। मैं भारत में हूं और हमारा कोड कुछ इस तरह से शुरू होता है +91XXXXXXXXXX और मैंने भी ऐसा ही किया। लेकिन जब कंसोल (एसएमएस स्क्रीनशॉट) के माध्यम से कोशिश की गई, तो संदेश तत्काल था, क्या कोई इस पर कुछ प्रकाश डाल सकता है कि इसे कैसे ठीक किया जा सकता है। यानी एसएमएस तुरंत भेजा जाना है।

4
user3872094 8 मई 2017, 22:54
1
बस इस कोड को आजमाया और मेरे फोन पर एसएमएस पहुंच गया। हो सकता है कि आपने फ़ोन नंबर की गलत वर्तनी की हो? क्या आप इसे "+" के साथ भी आज़मा सकते हैं? वैसे भी काम करना चाहिए।
 – 
Robert Balent
9 मई 2017, 04:07
लड़का। क्या आपने इस मुद्दे को हल किया? मुझे भी वही मिल रहा है। क्या आप इसमें मेरी मदद कर सकते हैं
 – 
Krishna Mohan
5 पद 2017, 10:43

1 उत्तर

सबसे बढ़िया उत्तर

आपके प्रश्न और अद्यतन उत्तर के लिए धन्यवाद, भारत में डिलीवरी के समय को कम करने के लिए, DefaultSMSType विशेषता को "लेन-देन" पर सेट करके इसे तुरंत वितरित किया।

sns.setSMSAttributes( { attributes : { DefaultSMSType : "Transactional" } }, function(error){ if(error){ console.log(error); } } );

स्पष्टीकरण- दो प्रकार के होते हैं एक प्रचार है जो डिफ़ॉल्ट है, और समय महत्वपूर्ण नहीं है और एक लेन-देन है, ओटीपी के लिए उपयोग किया जाने वाला समय महत्वपूर्ण है। मुझे लगता है कि किसी भी विकल्प का उपयोग करने में मूल्य अंतर है। आपके उत्तर को पढ़ने पर मैंने आपके द्वारा किए गए तरीके की कोशिश की और एसएमएस में देरी हो रही थी, इसलिए मैंने यहां दिए गए एपीआई का उपयोग लेनदेन में बदलने के लिए किया और इसने तत्काल संदेश दिया।

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html#publish-property

5
Piyush Dhore 22 मई 2017, 18:35
क्या यह वास्तव में काम करने वाला समाधान है? मैंने विधि की कोशिश की, लेकिन यह कहता है कि setSMSAttributes एक फ़ंक्शन नहीं है।
 – 
supergentle
26 जुलाई 2017, 21:41
पिछली बार मैंने जाँच की कि यह काम कर गया। आज फिर से जांच करेंगे और पुष्टि करेंगे।
 – 
Piyush Dhore
27 जुलाई 2017, 15:26
धन्यवाद। क्या आपको लगता है कि फ़ंक्शन का उपयोग करने के लिए मुझे एडब्ल्यूएस एसडीके को एक विशिष्ट संस्करण प्रदान करने की आवश्यकता है?
 – 
supergentle
27 जुलाई 2017, 17:00
ऐसा लगता है कि यह मेरे लिए काम करता है क्योंकि यह मेरे एसएनएस पैनल पर लेनदेन के रूप में आ रहा है, लेकिन इस समय मेरे पास खाता सीमा के मुद्दे हैं। :(
 – 
applecrusher
28 जुलाई 2017, 00:53