node package manager

sendwithus

SendWithUs.com Node.js client

sendwithus node-client

npm install sendwithus

Usage

All callbacks accept err and response:

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

NOTE - If a customer does not exist by the specified email (recipient address), the send call will create a customer.

  • email_id -- Template ID to send
  • recipient
    • address -- The recipient's email address
    • name (optional) -- The recipient's name
  • email_data -- Object containing email template data
  • sender (optional)
    • address -- The sender's email address
    • reply_to (optional) -- The sender's reply-to address
    • name (optional) -- The sender's name
  • cc (optional) -- An array of CC recipients, of the format {"address":"cc@email.com"}
  • bcc (optional) -- An array of BCC recipients, of the format {"address":"bcc@email.com"}

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',
    name: 'RECIPIENT_NAME'
  },
  email_data: {
    country: 'Latveria'
  }
}
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
var api = require('sendwithus')('API_KEY');
var data = { name: 'name', subject: 'subject', html: '<html><head></head><body></body></html>', text: 'some text' };
api.createTemplate(data, callback);
var api = require('sendwithus')('API_KEY');
var data = { name: 'name', subject: 'subject', html: '<html><head></head><body></body></html>', text: 'some text' };
api.createTemplateVersion(TEMPLATE_ID, data, callback);

Install requirements

npm install

Run Unit Tests

npm test