Awesome
Mailjet is a real-time Cloud Emailing platform: scalable, agile and flexible!
Mailjet unique algorithm boosts your deliverability and the platform provides in-depth insight so you can optimize more than ever.
More info on Mailjet.com
Mailjet Web API
Info on the API can be found here
Install
To install maljet run npm install mailjet
Usage
In order to use mailjet you need to require it and instantiate it first:
var Mailjet = require('mailjet');
var instance = new Mailjet('APIKEY', 'SECRETKEY', {
secure : true, // When true uses https when false it uses http, default is true
output : 'json' // The output type you prefer, default is json, you can choose between php, json, xml, serialize, html, csv
});
The options object can be skiped so you can simply get an instance like this: var instance = new Mailjet('APIKEY', 'SECRETKEY');
of course you replace APIKEY with your API key and SECRETKEY with your Secret key
To call a method from API you use sendRequest
method. This method gets 4 optional parameters:
method
(String) / Required: Is the method you need to call.params
(Object) / Optional: The params you want to send.request
(String) / Optional: The type of request you want to make, it's eitherGET
orPOST
, by default isGET
.cb
(Function) / Optional: This is the callback method that will be triggered when the API request is done. Callback returns 4 params as well:err
: Error object in case of failurestatus
: The request status codedata
: The returned data object (WARNING: In case of API error (like internal errors) this may also be html instead of object)headers
: The returned headers
Examples
Usage with 3 params and a callback
instance.sendRequest('userinfos', {}, 'GET', function (err, status, data, headers) {
console.log('Error: ' + err);
console.log('Status: ' + status);
console.log('Data: '); console.log(data);
console.log('Headers: '); console.log(headers);
});
In this example all the params are used.
Usage with 2 params and a callback
instance.sendRequest('userinfos', {}, function (err, status, data, headers) {
console.log('Error: ' + err);
console.log('Status: ' + status);
console.log('Data: '); console.log(data);
console.log('Headers: '); console.log(headers);
});
In this example the request
param is omited.
Usage with 1 param and a callback
instance.sendRequest('userinfos', function (err, status, data, headers) {
console.log('Error: ' + err);
console.log('Status: ' + status);
console.log('Data: '); console.log(data);
console.log('Headers: '); console.log(headers);
});
In this example the params
and request
params are omited as we don't need them.
Usage without a callback function
In case callback function is not provided then a promise is returned.
var promise = instance.sendRequest('userinfos');
promise.once('complete', function (result) {
if (result.status) {
console.log(result);
} else {
// Handle error
}
});
result
in case of failure is an error object, otherwise it's an object with status
, data
and headers
properties which are same as in callback method.
Deps, Tests & Lint
Simply run make
in mailjet root directory.
# make
* Project Tasks
make deps Install Dependencies
make deps-clean Removes the node_modules directory
make lint Run Code Analysis tool (scans entire project)
* Test Suites
make tests Run All tests
make test-basic Run Basic tests (module specific tests)
make test-api Run API Methods tests (test fixtures required)
make test-user Run User Methods tests (test fixtures required)
make test-contact Run Contact Methods tests (test fixtures required)
make test-lists Run Lists Methods tests (test fixtures required)
make test-message Run Message Methods tests (test fixtures required)
make test-report Run Report Methods tests (test fixtures required)
make test-cleanup Run Cleanup Methods tests (test fixtures required)