Coder Social home page Coder Social logo

iterable-api's Introduction

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: '[email protected]',
            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

iterable-api's People

Contributors

geoffdutton avatar dependabot-preview[bot] avatar dependabot[bot] avatar julianmclain avatar seanmcgary avatar dpolivy avatar blutter avatar greenkeeper[bot] avatar snyk-bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.