Node Iterable API

Credit: seanmcgary/iterable
Install
npm install node-iterable-api
Example
const Iterable = require('node-iterable-api')
const client = new Iterable('<iterable api key>')
return client.lists().get()
.then(lists => {
console.log(lists.lists)
})
.catch(err => {
console.log(err)
})
Resources
All resources are taken from those available in the Iterable API documentation.
Note: Not all resources are implemented yet. You can see which ones in lib/api.js
.
Resources are addressable by calling:
iterableInstance[<resource name>]()[<resource action>](param[, payload])
// e.g. to get lists:
iterableInstace.lists().get()
.then(data => {
// data response
})
// e.g. bulk update users
iterableInstace.users().bulkUpdate({
users: {
email: 'foo@bar.com',
dataFields: {
// some data fields
},
userId: "someUserId"
}
})
Actions and resources are as follows:
lists
GET - /
POST - /lists/subscribe
POST - /lists/unsubscribe
events
GET - /events/{email}
POST - /events/trackConversion
POST - /events/trackPushOpen
POST - /events/track
users
POST - /users/delete
POST - /users/get/{email}
POST - /users/updateEmail
POST - /users/bulkUpdate
POST - /users/registerDeviceToken
POST - /users/updateSubscriptions
GET - /users/getByEmail/{email}
GET - /users/byUserId/{userId}
GET - /users/getFields
POST - /users/update
GET - /users/getSentMessages
POST - /users/disableDevice
push
POST - /push/target
campaigns
GET - /
POST - /campaigns/create
POST - /campaigns/create
commerce
POST - /commerce/trackPurchase
POST - /commerce/updateCart
email
GET - /email/viewInBrowser
POST - /email/target
workflows
POST - /workflows/triggerWorkflow
sms
POST - /sms/target
Development
To run the full tests with coverage:
npm test
To run test driven development:
npm run tdd