Skip to content

geoffdutton/iterable-api

Repository files navigation

Node Iterable API

JavaScript Style Guide Node CI Coverage Status npm version Known Vulnerabilities

Credit: seanmcgary/iterable

Install

npm install node-iterable-api 

Example

const client = require('node-iterable-api').create('<iterable api key>') return client.lists.get() .then(res => { console.log(res.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:

// If param is a string, it'll append it to the resource path // Otherwise you can just past an object that will either be // passed to the body on a POST/PUT request, or as query // string params in the case of a GET request 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" } ] })

Currently implemented resources are as follows:

lists GET - /lists POST - /lists DELETE - /lists GET - /lists/getUsers POST - /lists/subscribe POST - /lists/unsubscribe events GET - /events POST - /events/track POST - /events/trackBulk POST - /events/trackInAppOpen POST - /events/trackInAppClick POST - /events/trackWebPushClick POST - /events/trackPushOpen users GET - /users DELETE - /users POST - /users/update POST - /users/updateEmail POST - /users/bulkUpdate POST - /users/registerDeviceToken POST - /users/updateSubscriptions POST - /users/bulkUpdateSubscriptions GET - /users/getFields GET - /users/getSentMessages POST - /users/disableDevice inApp GET - /inApp/getMessages push POST - /push/target campaigns POST - /campaigns/create channels GET - /channels commerce POST - /commerce/trackPurchase POST - /commerce/updateCart email GET - /email/viewInBrowser POST - /email/target workflows POST - /workflows/triggerWorkflow sms POST - /sms/target webPush POST - /webPush/target messageTypes GET - /messageTypes experiments GET - /experiments/metrics catalogs GET - /catalogs POST - /catalogs DELETE - /catalogs catalogs.fieldMappings GET - /catalogs/{catalogName}/fieldMappings PUT - /catalogs/{catalogName}/fieldMappings catalogs.items GET - /catalogs/{catalogName}/items PUT - /catalogs/{catalogName}/items POST - /catalogs/{catalogName}/items PATCH - /catalogs/{catalogName}/items DELETE - /catalogs/{catalogName}/items subscriptions PUT - /subscriptions subscriptions.user PATCH - /subscriptions/{subscriptionGroup}/{subscriptionGroupId}/user DELETE - /subscriptions/{subscriptionGroup}/{subscriptionGroupId}/user 

Development

To run the full tests with coverage:

npm test 

To run test driven development:

npm run tdd 

To list the implemented resources:

node index.js 

Contributors

About

NodeJS library to interact with the iterable.com API.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 9