Nomad Packaging Mechanism

    chattycrow

    0.0.3 • Public • Published

    ChattyCrow

    ChattyCrow - Node JS library

    Build Status

    This library makes easier to call ChattyCrow API (http://chattycrow.com/).

    Installation

    npm install chattycrow

    Usage

    var chattycrow = require('chattycrow').createClient('token', 'default_channel');

    Optional parameters

    Every sender and contacts methods header:

    send<Service>(payload, [contacts, options], callback);

    INFO: payload and calback is required, but callback can be null.

    Example callback

    function chattyCrowResponse(err, body, res) {
      if (err) {
        console.log(err.message);
      } else {
        // It depends on request
      }
    }

    Notification response

    ChattyCrow always try to send message to all contacts from contact list or contacts specified in request.

    {
      "status": "OK",
      "msg": "15 of 15 notifications created.",
      "success" : 15,
      "total" : 15,
      "contacts" : []
    }
    {
      "status": "PERROR",
      "msg": "12 of 15 notifications created.",
      "success" : 12,
      "total" : 15,
      "contacts" : [
          "test1", "test2", "test3"
      ]
    }

    Contact response

    {
      "status": "OK|ERROR|PERROR",
      "msg": "Status message",
      "stats" : {
          "success" : 15,
          "exists" : 28,
          "failed" : 12
      },
      "contacts" : {
          "exists" : [ "franta5", "franta6" ],
          "failed" : [ "franta1", "franta4" ]
      }
    }

    Email notification - TODO

    Not yet implemented!

    IOS Push notification

    chattycrow.sendIos({ payload: { 'hello' }}, [ 'contacts', 'contact2' ], {channel: 'other', token: 'not_default'}, chattyCrowResponse);

    Android Push notification

    chattycrow.sendAndroid({ payload: { data : { key1 : 'hello' }}, chattyCrowResponse);

    Skype notification

    chattycrow.sendSkype('Skype message', null);

    Jabber notification

    chattycrow.sendJabber('Jabber message', null);

    SMS notification (only Czech Republic yet)

    chattycrow.sendJabber('SMS message', chattyCrowResponse);

    Working with contacts via API

    It's actually very usable, you can automatically add or remove contacts in your application after user was registered, it's great for example email notification subscription.

    Add contact

    function contactAddResult(err, body, response) {
      if (err) {
        console.log(err.message);
      } elsif (body) {
        console.log('Status: ' + body.status);
        console.log('Message: ' + body.msg);
        console.log('Stats: ' + body.stats.success + '/' + body.stats.exists + '/' + body.stats.failed);
      }
    }
     
    chattycrow.addContacts(['test1', 'test2'], contactAddResult);

    Remove contact

    function contactRemoveResult(err, body, response) {
      if (err) {
        console.log(err.message);
      } else if (body) {
        console.log('Status: ' + body.status);
        console.log('Message: ' + body.msg);
        console.log('Stats: ' + body.stats.success + '/' + body.stats.failed);
      }
    }
     
    // Add contacts
    chattycrow.removeContacts(['test1', 'test2'], { channel: 'other than default' }, contactRemoveResult);

    Install

    npm i chattycrow

    DownloadsWeekly Downloads

    3

    Version

    0.0.3

    License

    MIT

    Last publish

    Collaborators

    • strnadj