Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Sailthru Node.js client
CoffeeScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
src
test
.gitignore
.npmignore
Cakefile
MIT-LICENSE
README.md
package.json

README.md

sailthru-node-client

A simple client library to remotely access the Sailthru REST API as per http://docs.sailthru.com/api

By default, it will make request in JSON format.

Installation

npm install sailthru-client

Examples

Initialization

var apiKey = '******',
    apiSecret = '*****',
    sailthru = require('sailthru-client').createSailthruClient(apiKey, apiSecret);

Getting version

var version = require('sailthru-client').VERSION;

Enable / Disable LOgging

sailthru.enableLogging();
sailthru.disableLogging();

Making POST Request

var data = {
    email: 'praj@infynyxx.com',
    lists: {
        'list-a': 1
    }
};
sailthru.apiPost('email', data, function(response, err) {
    if (!err) {
        console.log(response);        
    } else {
        console.log('Error!');
        console.log(err);'
    }
});

Making POST Request with multipart (Eg: Job API call with import type)

// Making import /job API POST call
// MUltipart call
var data = {
    job: 'import',
    list: 'test-list',
    file: './emails.txt'
};
var multipart_params = ['file']; // this is required to mark file as a multipart upload item'
sailthru.apiPost('job', data, function(response, err) {
   console.log(response);
}, multipart_params);

Making GET Request

// Making /send API GET call
var send_id = 'TE8EZ3-LmosnAgAA';
sailthru.apiGet('send', {send_id: send_id}, function(response, err) {
    console.log(response);        
});

Making DELETE Request

// /send API DELETE call
var send_id = 'TE8EZ3-LmosnAgAA';
sailthru.apiDelete('send', {send_id: send_id}, function(response, err) {
    console.log(response);
});

send

//send
var template = 'my-template',
    email = 'praj@sailthru.com',
    options = {
        'vars': {
            'name': 'Prajwal Tuladhar',
            'address': 'Queens, NY'
        },
        'options': {
            'test': 1,
            'replyto': 'praj@infynyxx.com'
        }
    };
sailthru.send(template, email, function(response, err) {
    if (err) {
        console.log("Status Code: " + err.statusCode);
        console.log("Error Code: " + err.error);
        console.log("Error Message: " + err.errormsg);
    } else {
        //process output
    }
}, options);

//multi-send
var emails = ['praj@sailthru.com', 'ian@sailthru.com', 'will@sailthru.com'],
    template = 'multi-template',
    options = {
        'options': {
            'test': 1
        }
    };
sailthru.multiSend(template, emails, function(response, err) {
    if (err) {
        //Process error
    } else {
        //process JSON output
    }
}, options);
Something went wrong with that request. Please try again.