sendwithus

SendWithUs.com Node.js client

sendwithus node-client

npm install sendwithus

Usage

All callbacks accept err and data:

var callback = function(errdata) {
    if (err) {
        console.log(err, err.statusCode);
    } else {
        console.log(data);
    }
};
var api = require('sendwithus')('API_KEY');
api.emails(callback);

The email_data field is optional, but highly recommended!

var api = require('sendwithus')('API_KEY');
api.send({
    email_id: 'EMAIL_ID',
    recipient: { address: 'us@sendwithus.com'}
}, callback);
var api = require('sendwithus')('API_KEY');
api.send({
    email_id: 'EMAIL_ID',
    recipient: {
        address: 'us@sendwithus.com', // required 
        name: 'Matt and Brad'
    },
    email_data: { first_name: 'Matt' }
}, callback);

sender['address'] is a required sender field

var api = require('sendwithus')('API_KEY');
api.send({
    email_id: 'EMAIL_ID',
    recipient: { address: 'us@sendwithus.com'},
    email_data: { first_name: 'Matt' },
    sender: {
        address: 'company@company.com', // required 
        name: 'Company'
    }
}, callback);

sender['name'] and sender['reply_to'] are both optional

var api = require('sendwithus')('API_KEY');
api.send({
    email_id: 'EMAIL_ID',
    recipient: { address: 'us@sendwithus.com'},
    email_data: { first_name: 'Matt' },
    sender: {
        address: 'company@company.com', // required 
        name: 'Company',
        reply_to: 'info@company.com'
    }
}, callback);
var api = require('sendwithus')('API_KEY');
api.send({
    email_id: EMAIL_ID,
    recipient: { address: 'us@sendwithus.com'},
    bcc: [{ address: 'bcc@sendwithus.com' }],
    cc: [
        { address: 'cc1@sendwithus.com' },
        { address: 'cc2@sendwithus.com' }
    ]
}, callback);
var api = require('sendwithus')('API_KEY');
api.customersUpdateOrCreate({ email: 'foo@bar.com', data: { name: 'Bob' } }, callback);
var api = require('sendwithus')('API_KEY');
api.customersDelete('foo@bar.com', callback);

You can use the Conversion API to track conversion and revenue data events against your sent emails

NOTE: Revenue is in cents (eg. $100.50 = 10050)

var api = require('sendwithus')('API_KEY');
var conversionData = { 'revenue': 10050 };
api.conversionEvent('foo@bar.com', conversionData, callback);
var api = require('sendwithus')('API_KEY');
api.segments(callback);
var api = require('sendwithus')('API_KEY');
api.segmentsRun('SEGMENT_ID', callback);
var api = require('sendwithus')('API_KEY');
var data = { email_id: 'EMAIL_ID', email_data: { subject: 'Hello World' } };
api.segmentsSend(SEGMENT_ID, data, callback);
var api = require('sendwithus')('API_KEY');
api.dripCampaignList(callback);
var api = require('sendwithus')('API_KEY');
api.dripCampaignDetails('DRIP_CAMPAIGN_ID', callback);
var api = require('sendwithus')('API_KEY');
var data = { recipient_address: 'RECIPIENT_ADDRESS' };
api.dripCampaignActivate('DRIP_CAMPAIGN_ID', data, callback);
var api = require('sendwithus')('API_KEY');
var data = { recipient_address: 'RECIPIENT_ADDRESS' };
api.dripCampaignDeactivate('DRIP_CAMPAIGN_ID', data, callback);
var api = require('sendwithus')('API_KEY');
var data = { recipient_address: 'RECIPIENT_ADDRESS' };
api.dripCampaignDeactivateAll(data, callback);
    > err.statusCode;
    400
    > err.statusCode;
    403
  • request: function(method, url, headers, body) - emitted when a request has been sent to sendwithus
  • response: function(statusCode, body, response) - emitted when a response has been received back from sendwithus

Install requirements

npm install

Run Unit Tests

npm test