Coder Social home page Coder Social logo

autopilot-api's Introduction

autopilot-api

A third-party Node.js wrapper for Autopilot's REST API.

Example:

let Autopilot = require('autopilot-api');
let autopilot = new Autopilot('c5359558cf764d17bc49f13a87e8a56e');

let contact = { FirstName: 'Bob', LastName: 'Barker', Email: '[email protected]' };

autopilot.contacts.upsert(contact)
	.then(console.log)
	.catch(console.error);

Quick links:

Installation

npm install autopilot-api --save

Usage

Begin by initializing with your API key:

let Autopilot = require('autopilot-api');
let autopilot = new Autopilot('c5359558cf764d17bc49f13a87e8a56e');

Now you will be able to interact with Autopilot resources as described below.

Optionally you can pass an endpoint to use. This can be useful in testing if you want to call the sandbox api.

let Autopilot = require('autopilot-api');
let autopilot = new Autopilot('c5359558cf764d17bc49f13a87e8a56e', 'https://private-anon-5efcbf2622-autopilot.apiary-mock.com/v1');

Contacts

Upsert Contact

  • Method: autopilot.contacts.upsert(data[, callback])

  • Parameters:

    Name Type Required Description
    data object or array Yes The contact data to be upserted. If an array is provided, a bulk upsert is performed.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      let contact = { FirstName: 'Bob', LastName: 'Barker', Email: '[email protected]' };
    
      autopilot.contacts.upsert(contact)
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      let contact = { FirstName: 'Bob', LastName: 'Barker', Email: '[email protected]' };
    
      autopilot.contacts.upsert(contact, (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Get Contact

  • Method: autopilot.contacts.get(id[, callback])

  • Parameters:

    Name Type Required Description
    id string Yes Either the Autopilot contact_id or the contact's email address
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.contacts.get('[email protected]')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.contacts.get('[email protected]', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Delete Contact

  • Method: autopilot.contacts.delete(id[, callback])

  • Parameters:

    Name Type Required Description
    id string Yes Either the Autopilot contact_id or the contact's email address
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.contacts.delete('[email protected]')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.contacts.delete('[email protected]', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Unsubscribe Contact

  • Method: autopilot.contacts.unsubscribe(id[, callback])

  • Parameters:

    Name Type Required Description
    id string Yes Either the Autopilot contact_id or the contact's email address
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.contacts.unsubscribe('[email protected]')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.contacts.unsubscribe('[email protected]', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

List Custom Contact Fields

  • Method: autopilot.contacts.fields([callback])

  • Parameters:

    Name Type Required Description
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.contacts.fields()
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.contacts.fields((err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Lists

List Lists

  • Method: autopilot.lists.list([callback])

  • Parameters:

    Name Type Required Description
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.lists.list()
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.lists.list((err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Insert List

  • Method: autopilot.lists.insert(name[, callback])

  • Parameters:

    Name Type Required Description
    name string Yes The name for a new list.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.lists.insert('Animal Rights Supporters')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.lists.insert('Animal Rights Supporters', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

List Contacts in List

  • Method: autopilot.lists.roster(id[, bookmark, callback])

  • Parameters:

    Name Type Required Description
    id string Yes The id of the list to query.
    bookmark string No If there are more contacts on the list than have been returned, the bookmark will allow you to access the next group of contacts.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.lists.roster('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.lists.roster('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', () => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Check if Contact is in List

  • Method: autopilot.lists.has(listId, contactId[, callback])

  • Parameters:

    Name Type Required Description
    listId string Yes The id of the list to query.
    contactId string Yes Either the Autopilot contact_id or the contact's email address.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.lists.has('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', '[email protected]')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.lists.has('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', '[email protected]', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Add Contact to List

  • Method: autopilot.lists.add(listId, contactId[, callback])

  • Parameters:

    Name Type Required Description
    listId string Yes The id of the list to query.
    contactId string Yes Either the Autopilot contact_id or the contact's email address.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.lists.add('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', '[email protected]')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.lists.add('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', '[email protected]', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Remove Contact from List

  • Method: autopilot.lists.remove(listId, contactId[, callback])

  • Parameters:

    Name Type Required Description
    listId string Yes The id of the list to query.
    contactId string Yes Either the Autopilot contact_id or the contact's email address.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.lists.remove('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', '[email protected]')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.lists.remove('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', '[email protected]', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Smart Segments

List Smart Segments

  • Method: autopilot.smartSegments.list([callback])

  • Parameters:

    Name Type Required Description
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.smartSegments.list()
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.smartSegments.list((err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

List Contacts in Smart Segment

  • Method: autopilot.smartSegments.roster(id[, bookmark, callback])

  • Parameters:

    Name Type Required Description
    id string Yes The id of the smart segment to query.
    bookmark string No If there are more contacts on the smart segment than have been returned, the bookmark will allow you to access the next group of contacts.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.smartSegments.roster('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.smartSegments.roster('contactlist_06444749-9C0F-4894-9A23-D6872F9B6EF8', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Journeys (via triggers)

Add Contact to Journey

  • Method: autopilot.journeys.add(triggerId, contactId[, callback])

  • Parameters:

    Name Type Required Description
    triggerId string Yes The id of the trigger associated with the Journey we're adding to.
    contactId string Yes Either the Autopilot contact_id or the contact's email address.
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.lists.add('0001', '[email protected]')
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.lists.add('0001', '[email protected]', (err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

List Journeys with Triggers

  • Method: autopilot.journeys.list([callback])

  • Parameters:

    Name Type Required Description
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.journeys.list()
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.journeys.list((err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

Account

Get Account

  • Method: autopilot.account.get([callback])

  • Parameters:

    Name Type Required Description
    callback function No A callback function to be executed upon completion.
  • Promise example:

      autopilot.account.get()
      	.then(console.log)
      	.catch(console.error);
    
  • Callback example:

      autopilot.account.get((err, response) => {
      	if (err) {
      		return console.error(err, response);
      	}
    
      	console.log(response);
      });
    

License

Released under MIT.

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.