Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. var AWS = require('aws-sdk');
  2.  
  3. exports.sendSMS = (to_number, message, callback) => {
  4.  
  5. AWS.config.update({
  6. accessKeyId: 'YOUR_KEY',
  7. secretAccessKey: 'YOUR_SECRET',
  8. // Select a location that has SMS support
  9. region: 'us-east-1'
  10. });
  11.  
  12. var sns = new AWS.SNS();
  13. var sns_topic_arn = 'arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_HERE';
  14.  
  15. sns.subscribe({
  16. Protocol: 'sms',
  17. TopicArn: sns_topic_arn,
  18. Endpoint: to_number
  19. }, function(error, data) {
  20. if (error) {
  21. console.log("Error When Subscribed", error);
  22. return callback(false);
  23. }
  24.  
  25. console.log("subscribe data", data);
  26. var SubscriptionArn = data.SubscriptionArn;
  27.  
  28. var params = {
  29. attributes: {
  30. 'DefaultSMSType': 'Transactional',
  31. }
  32. };
  33. sns.setSMSAttributes(params, function(err, data) {
  34. if (err) console.log(err, err.stack);
  35. else console.log(data);
  36. });
  37.  
  38. var params = {
  39. TargetArn: sns_topic_arn,
  40. Message: message,
  41. Subject: 'Subject Goes Here'
  42. };
  43. sns.publish(params, function(err_publish, data) {
  44. if (err_publish) console.log('Error Sending Message', err_publish);
  45. else console.log('Sent Message:', data.MessageId);
  46.  
  47. var params = {
  48. SubscriptionArn: SubscriptionArn
  49. };
  50.  
  51. sns.unsubscribe(params, function(err, data) {
  52. if (err) {
  53. console.log("err when unsubscribe", err);
  54. }
  55. return callback(err_publish != null);
  56. });
  57. });
  58.  
  59. });
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement