Skip to content

Instantly share code, notes, and snippets.

@divarvel
Created March 13, 2015 16:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save divarvel/19f9787e3b20ea6e2426 to your computer and use it in GitHub Desktop.
Save divarvel/19f9787e3b20ea6e2426 to your computer and use it in GitHub Desktop.
Mailjet API
var mailjet = require('mailjet');
var Promise = require('bluebird');
var _ = require('lodash');
var request = require('request');
var Mailjet = function(key, secret) {
return {
makeRequest: function(endPoint, args, method, creds) {
return new Promise(function(resolve, reject) {
var baseUrl = 'http://api.mailjet.com/0.1/';
var opts = {
auth: {
user: key,
pass: secret
},
qs: _.merge({ output: "json" }, args)
};
request(baseUrl + endPoint, opts, function(err, r, b) {
if(err) reject(err);
else resolve([r, b]);
});
})
.then(function(r) {
return JSON.parse(r[1]);
});
}
};
};
var client = Mailjet('<key>', '<secret>');
client.makeRequest('reportEmailsent', {}, 'GET')
.then(function(r) { return _.pluck(r.emails, 'to_email'); })
.then(console.log);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment