Adding clockwork SMS to the API mix

This commit is contained in:
Matt Roberts
2014-02-24 11:25:51 +00:00
parent 045f6d46df
commit babcdd3afe
5 changed files with 70 additions and 1 deletions

4
app.js
View File

@ -10,6 +10,8 @@ var mongoose = require('mongoose');
var passport = require('passport');
var expressValidator = require('express-validator');
/**
* Load controllers.
*/
@ -117,6 +119,8 @@ app.get('/api/paypal/cancel', apiController.getPayPalCancel);
app.get('/api/steam', apiController.getSteam);
app.get('/api/scraping', apiController.getScraping);
app.get('/api/twilio', apiController.getTwilio);
app.get('/api/clockwork', apiController.getClockwork);
app.post('/api/clockwork', apiController.postClockwork);
app.post('/api/twilio', apiController.postTwilio);
app.get('/api/foursquare', passportConf.isAuthenticated, passportConf.isAuthorized, apiController.getFoursquare);
app.get('/api/tumblr', passportConf.isAuthenticated, passportConf.isAuthorized, apiController.getTumblr);

View File

@ -14,6 +14,7 @@ var Github = require('github-api');
var Twit = require('twit');
var paypal = require('paypal-rest-sdk');
var twilio = require('twilio')(secrets.twilio.sid, secrets.twilio.token);
var clockwork = require('clockwork')({key: secrets.clockwork.apiKey});
/**
* GET /api
@ -415,6 +416,38 @@ exports.postTwilio = function(req, res, next) {
});
};
/**
* GET /api/Clockwork
* Clockwork SMS API example.
*/
exports.getClockwork = function(req, res, next) {
res.render('api/clockwork', {
title: 'Clockwork SMS API'
});
};
/**
* POST /api/clockwork
* Clockwork SMS API example.
* @param telephone
*/
exports.postClockwork = function(req, res, next) {
var message = {
To: req.body.telephone,
From: 'Hackathon',
Content: 'Hello from the Hackathon Starter'
};
clockwork.sendSms(message, function(err, responseData) {
if (err) return next(err.message);
req.flash('success', { msg: 'Text sent to ' + responseData.SMS_Resp.To});
res.redirect('/api/clockwork');
});
};
exports.getVenmo = function(req, res, next) {
var token = _.findWhere(req.user.tokens, { kind: 'venmo' });
var query = querystring.stringify({ access_token: token.accessToken });

View File

@ -34,6 +34,7 @@
"paypal-rest-sdk": "~0.6.4",
"connect-mongo": "~0.4.0",
"twilio": "~1.5.0",
"validator": "~3.2.1"
"validator": "~3.2.1",
"clockwork": "0.1.0"
}
}

29
views/api/clockwork.jade Normal file
View File

@ -0,0 +1,29 @@
extends ../layout
block content
.page-header
h2
i.fa.fa-phone
| Clockwork SMS API
.btn-group.btn-group-justified
a.btn.btn-primary(href='http://github.com/mediaburst/node-clockwork', target='_blank')
i.fa.fa-check-square-o
| Clockwork Node
//- a.btn.btn-primary(href='https://apigee.com/console/twilio', target='_blank')
//- i.fa.fa-laptop
//- | API Console
a.btn.btn-primary(href='http://www.clockworksms.com/doc/clever-stuff/xml-interface/send-sms/', target='_blank')
i.fa.fa-code-fork
| XML API
h4 Send a text message
.row
.col-sm-6
form(role='form', method='POST')
input(type='hidden', name='_csrf', value=token)
.form-group
.input-group
input.form-control(type='text', name='telephone', placeholder='Phone Number')
span.input-group-btn
button.btn.btn-success(type='submit') Send

View File

@ -26,6 +26,8 @@ block content
a(href='/api/steam') Steam
li
a(href='/api/twilio') Twilio
li
a(href='/api/clockwork') Clockwork SMS
li
a(href='/api/tumblr') Tumblr
small ⇢ Login Required