npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

expert-sender

v0.1.1

Published

API for Expert Sender

Downloads

19

Readme

node-expert-sender

Install

npm install expert-sender

Usage

var ExpertSender = require('expert-sender');
var expertSender = new ExpertSender({
	url: 'https://api.esv2.com/',
	key: 'yourKey'
});

expertSender.addUserToList({
	email: '[email protected]',
	listId: 1,
}).then(function (res) {
	console.log('success');
}).catch(function (err){
	console.log(err);
});

Methods

addUserToList(options)

Add subscriber to list

Parameters

options may contain next properties:

  • email - subscriber's email (required)
  • listId - id of list (required)
  • id - user id (if you want to change subscriber's email)
  • firstName - subscriber's first name
  • lastName - subscriber's last name
  • name - subscriber's full name (first name + last name)
  • trackingCode - id of source (form, web-site, etc.)
  • vendor - id/name of traffic type
  • ip - subscriber's IP
  • properties - array of extra properties (see example below)

Example

expertSender.addUserToList({
	email: '[email protected]',
	listId: 1,
	name: 'User',
	ip: '127.0.0.1',
	properties: [
		{ id: 1, value: 'qwerty' },
		{ id: 100, value: 123 }
	]
});

getLists(options)

Parameters

options contains:

  • seedLists - boolean, if true - test subscriber lists will be returned, defaults to false

Example

expertSender.getLists({
	seedLists: true
});

getUser(options)

Receive short, long, fully information about user or event history

Parameters

options contains:

  • email - subscriber's email (required)
  • options - one of Short, Long, Full, EventHistory

Example

expertSender.getUser({
	email: '[email protected]',
	options: 'Full'
});

createNewsletter(options)

Send email to specified recipients

Parameters

options contains:

  • recipients - object with lists for sending mailings. Must contain at least one of seedLists, subscriberLists or subscriberSegments (required, see example below)
  • content - object with next properties
    • fromName - string displaying in from email field (required)
    • fromEmail - email displaying in from email field (required)
    • subject - subject of email (required)
    • html - html body (required html or plain)
    • plain - plain text body (required html or plain)
    • replyToName - string displaying in reply-to email field
    • replyToEmail - email displaying in reply-to email field
    • header - header template id
    • footer - footer template id

Example

expertSender.createNewsletter({
	recipients: {
		seedLists: [39, 25],
		subscriberLists: [2, 3, 5, 8]
	},
	content: {
		fromName: 'Test',
		fromEmail: '[email protected]',
		subject: 'Hello',
		html: '<h1 style="color:#ff0000;">Hello world!</h1>'
	}
});

sendTransactional(options)

Send email to specified recipients

Parameters

options contains:

  • transactionId - integer, (required)
  • receiver - object, must contain at least one of id and email. May contain listId. (required)
  • returnGuid - boolean. Default value is false.
  • snippets - array of {name: 'snippetName', value: 'snippetValue'} pairs.
  • attachments - array of {fileName: 'name', mimeType: 'type', content: 'base64-encoded string'} tuples.

Example

expertSender.sendTransactional({
    transactionId: 1,
	receiver: {
		email: '[email protected]' // should be in one of your lists
	},
	snippets: [
	  {name: 'mySnippet', value: 42}
	]
});

Note

ExpertSender API documentation is here.