Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var AWS = require('aws-sdk');
- exports.sendSMS = (to_number, message, callback) => {
- AWS.config.update({
- accessKeyId: 'YOUR_KEY',
- secretAccessKey: 'YOUR_SECRET',
- // Select a location that has SMS support
- region: 'us-east-1'
- });
- var sns = new AWS.SNS();
- var sns_topic_arn = 'arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_HERE';
- sns.subscribe({
- Protocol: 'sms',
- TopicArn: sns_topic_arn,
- Endpoint: to_number
- }, function(error, data) {
- if (error) {
- console.log("Error When Subscribed", error);
- return callback(false);
- }
- console.log("subscribe data", data);
- var SubscriptionArn = data.SubscriptionArn;
- var params = {
- attributes: {
- 'DefaultSMSType': 'Transactional',
- }
- };
- sns.setSMSAttributes(params, function(err, data) {
- if (err) console.log(err, err.stack);
- else console.log(data);
- });
- var params = {
- TargetArn: sns_topic_arn,
- Message: message,
- Subject: 'Subject Goes Here'
- };
- sns.publish(params, function(err_publish, data) {
- if (err_publish) console.log('Error Sending Message', err_publish);
- else console.log('Sent Message:', data.MessageId);
- var params = {
- SubscriptionArn: SubscriptionArn
- };
- sns.unsubscribe(params, function(err, data) {
- if (err) {
- console.log("err when unsubscribe", err);
- }
- return callback(err_publish != null);
- });
- });
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement