autopilot-sdk

    1.0.1 • Public • Published

    Intro

    This is an un-official Node SDK for interfacing the Autopilot API. You can view the REST api documentation here. Some cool features include:

    • Pass a normal JSON object and it would figure out which ones are custom fields and which ones are not
    • Automatically reformat keys to contain Autopilot data types along with all neccessary hyphens. E.g.{'Foo Bar': true} will re-format to {'boolean--Foo--Bar': true}
    • Add/Update/Delete Contact
    • Unsubscribe Contact from a list
    • Create lists
    • Add Contacts to lists
    • Get all Segments
    • Register/Unregister hooks etc...

    NB: Still under development so some APIs may not be available yet.

    Installation

    > npm i -S autopilot-sdk
    

    Usage

    import Autopilot from 'autopilot-sdk';
     
    const autopilot = new Autopilot('<API_KEY>');
    //=> autopilot instance

    API

    The Autopilot instance has instance members that access the scopes of the API. Namely: contacts, lists, journeys, segments, etc... Below is the list of the methods for all the scopes.

    NB: All calls on the contact/contacts scope must have a contact_id or email member parameter. Find more in the Autopilot documentation.

    contacts#save()

    Parameters:

    • data - An Object containing new/existing user details

    Example:

    const contactData = {
      'email': 'johndoe@example.com',
      'Full Name': 'John Doe',
      'Gender': 'male',
      'age': 35,
    };
     
    await autopilot.contacts.save(contactData);
    //=> { contact_id: 'person_32941749279223008202071' }
     
    // saving multiple contacts at once
    const multipleContactsData = [
      {
        email: 'test@example.com',
        FirstName: 'Seeker',
        LastName: 'Drew',
        'Full Name': 'Seeker Drew',
        foo: true,
        age: 21,
      },
      {
        email: 'test1@example.com',
        FirstName: 'Bill',
        LastName: 'Gates',
        'Full Name': 'Bill Gates',
        foo: false,
        age: 25,
      },
    ];
    await autopilot.contacts.save(multipleContactsData);

    contacts#get()

    Parameters:

    • args - This must be a email/contact_id string or an array of email/contact_ids to retrieve

    Example:

    // get contact data by email
    const contactByEmail = await autopilot.contacts.get('chris@autopilothq.com');
     
    // get contact data by id
    const contactById = await autopilot.contacts.get('person_9EAF39E4-9AEC-4134-964A-D9D8D54162E7');
     
    // get list of contact data by either email or id
    const contacts = await autopilot.contacts.get(['chris@autopilothq.com', 'person_9EAF39E4-9AEC-4134-964A-D9D8D54162E7']);

    contacts#delete()

    Parameters:

    • emailOrId - As the name suggest, it must be an email or contact_id

    Example:

    // NB: the delete API doesn't return any object. You'll know it failed when the promise fails.
    await autopilot.contacts.delete('person_9EAF39E4-9AEC-4134-964A-D9D8D54162E7');
    //=> undefined
     
    await autopilot.contacts.delete('test@example.com');
    //=> undefined

    contacts#unsubscribe()

    Parameters:

    • emailOrId - As the name suggest, it must be an email or contact_id to unsubscribe

    Example:

    await autopilot.contacts.unsubscribe('test@example.com');
    //=> undefined

    Install

    npm i autopilot-sdk

    DownloadsWeekly Downloads

    16

    Version

    1.0.1

    License

    none

    Unpacked Size

    12.3 kB

    Total Files

    9

    Last publish

    Collaborators

    • snamoah