rocketchat-nodejs

0.1.2 • Public • Published

RocketChat REST API library for node.js

For more information about the API, check the official document here.

Available functions:

  • Miscellaneous

    • info
  • Authentication

    • logout
    • me
  • Users

    • create
    • delete
    • getPresence
    • info
    • list
    • setAvatar
    • update
  • Channels

    • addAll
    • addModerator
    • addOwner
    • archive
    • cleanHistory
    • close
    • create
    • getIntegrations
    • history
    • info
    • invite
    • kick
    • leave
    • list.joined
    • list
    • open
    • removeModerator
    • removeOwner
    • rename
    • setDescription
    • setJoinCode
    • setPurpose
    • setReadOnly
    • setTopic
    • setType
    • unarchive
  • Groups

    • addAll
    • addModerator
    • addOwner
    • archive
    • close
    • create
    • getIntegrations
    • history
    • info
    • invite
    • kick
    • leave
    • list
    • open
    • removeModerator
    • removeOwner
    • rename
    • setDescription
    • setPurpose
    • setReadOnly
    • setTopic
    • setType
    • unarchive
  • Im

    • close
    • history
    • list.everyone
    • list
    • messages.others
    • open
    • setTopic
  • Chat

    • delete
    • postMessage
    • update
  • Settings

    • get
    • update
  • Integration

    • create
    • list
    • remove
  • Livechat

    • department
    • sms-incoming
    • users

    ## Installation

    Install with the node package manager npm:

    $ npm install rocketchat-nodejs
    

    or install via git clone:

    $ git clone https://github.com/vitor-nagao/rocketchat-nodejs.git
    $ cd rocketchat-nodejs
    $ npm install
    

    ## Starting

    var RocketChat = require('rocketchat-nodejs).Client;
    
    var Client = new RocketChat({
      host: 'hostname.com',
      port: 80,
      scheme: 'http',
      username: 'rc_user',
      password: 'rc_password'
    });
    
    Client.login().then(() => {
    
      // write your API functions here
      // example
      Authentication.me().then((result) => {
        var me = result;
      });
    
    }).catch((error) => {
      console.log(error);
    });
    

    ### Miscellaneous

    var Miscellaneous = Client.Miscellaneous();
    
    // /api/v1/info
    Miscellaneous.info().then((result) => {
      var info = result;
    }).catch((error) => {
      console.log(error)
    });
    

    ### Authentication

    var Authentication = Client.Authentication();
    
    // /api/v1/logout
    Authentication.logout().then((result) => {
      var info = result;
    });
    
    // /api/v1/me
    Authentication.me().then((result) => {
      var me = result;
    });
    

    ### Users

    var Users = Client.Users();
    
    // /api/v1/users.create
    Users.create({
      email: 'rocket@chat.com',
      name: 'Example Name',
      password: 'testpassword',
      username: 'test_user'
    }).then((result) => {
      var create = result;
    });
    
    // /api/v1/users.delete
    Users.delete({ userId: 'BsNr28znDkG8aeo7W' }).then((result) => {
      var delete = result
    });
    
    // /api/v1/users.getPresence
    Users.getPresence({ userId: 'BsNr28znDkG8aeo7W' }).then((result) => {
      var getPresence = result
    });
    
    
    // /api/v1/users.info
    Users.info({ userId: 'BsNr28znDkG8aeo7W' }).then((result) => {
      var info = result
    });
    
    
    // /api/v1/users.list
    Users.list({ userId: 'BsNr28znDkG8aeo7W' }).then((result) => {
      var list = result
    });
    
    
    // /api/v1/users.setAvatar
    Users.setAvatar({ avatarUrl: 'http://domain.tld/to/my/own/avatar.jpg' }).then((result) => {
      var setAvatar = result
    });
    
    
    // /api/v1/users.update
    Users.update({ userId: 'BsNr28znDkG8aeo7W', data: { name: 'new name', email: 'new@email.com'} }).then((result) => {
      var update = result
    });
    

    ### Channels

    var Channels = Client.Channels();
    
    // /api/v1/channels.addAll
    Channels.addAll({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var addAll = result;
    });
    
    // /api/v1/channels.addModerator
    Channels.addModerator({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var addModerator = result;
    });
    
    // /api/v1/channels.addOwner
    Channels.addOwner({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var addOwner = result;
    });
    
    // /api/v1/channels.archive
    Channels.archive({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var archive = result;
    });
    
    // /api/v1/channels.cleanHistory
    Channels.cleanHistory({ roomId: 'ByehQjC44FwMeiLbX', latest: '2016-12-09T13:42:25.304Z', oldest: '2016-08-30T13:42:25.304Z' }).then((result) => {
      var cleanHistory = result;
    });
    
    // /api/v1/channels.close
    Channels.close({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var close = result;
    });
    
    // /api/v1/channels.create
    Channels.create({ name: 'channelName', members: ['member_one', 'member_two'] }).then((result) => {
      var create = result;
    });
    
    // /api/v1/channels.getIntegrations
    Channels.getIntegrations({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var getIntegrations = result;
    });
    
    // /api/v1/channels.history
    Channels.history({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var history = result;
    });
    
    // /api/v1/channels.info
    Channels.info({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var info = result;
    });
    
    // /api/v1/channels.invite
    Channels.invite({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var invite = result;
    });
    
    // /api/v1/channels.kick
    Channels.kick({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var kick = result;
    });
    
    // /api/v1/channels.leave
    Channels.leave({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var leave = result;
    });
    
    // /api/v1/channels.list.joined
    Channels.listJoined().then((result) => {
      var listJoined = result;
    });
    
    // /api/v1/channels.list
    Channels.list().then((result) => {
      var list = result;
    });
    
    // /api/v1/channels.open
    Channels.open({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var open = result;
    });
    
    // /api/v1/channels.removeModerator
    Channels.removeModerator({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var removeModerator = result;
    });
    
    // /api/v1/channels.removeOwner
    Channels.removeOwner({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var removeOwner = result;
    });
    
    // /api/v1/channels.rename
    Channels.rename({ roomId: 'ByehQjC44FwMeiLbX', name: 'new-name' }).then((result) => {
      var rename = result;
    });
    
    // /api/v1/channels.setDescription
    Channels.setDescription({ roomId: 'ByehQjC44FwMeiLbX', description: 'Some description' }).then((result) => {
      var setDescription = result;
    });
    
    // /api/v1/channels.setJoinCode
    Channels.setJoinCode({ roomId: 'ByehQjC44FwMeiLbX', joinCode: 'my-join-code' }).then((result) => {
      var setJoinCode = result;
    });
    
    // /api/v1/channels.setPurpose
    Channels.setPurpose({ roomId: 'ByehQjC44FwMeiLbX', purpose: 'Some purpose' }).then((result) => {
      var setPurpose = result;
    });
    
    // /api/v1/channels.setReadOnly
    Channels.setReadOnly({ roomId: 'ByehQjC44FwMeiLbX', readOnly: true }).then((result) => {
      var setReadOnly = result;
    });
    
    // /api/v1/channels.setTopic
    Channels.setTopic({ roomId: 'ByehQjC44FwMeiLbX', topic: 'some topic' }).then((result) => {
      var setTopic = result;
    });
    
    // /api/v1/channels.setType
    Channels.setType({ roomId: 'ByehQjC44FwMeiLbX', type: 'p' }).then((result) => {
      var setType = result;
    });
    
    // /api/v1/channels.unarchive
    Channels.unarchive({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var unarchive = result;
    });
    

    ### Groups

    var Groups = Client.Channels();
    
    // /api/v1/groups.addAll
    Groups.addAll({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var addAll = result;
    });
    
    // /api/v1/groups.addModerator
    Groups.addModerator({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var addModerator = result;
    });
    
    // /api/v1/groups.addOwner
    Groups.addOwner({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var addOwner = result;
    });
    
    // /api/v1/groups.archive
    Groups.archive({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var archive = result;
    });
    
    // /api/v1/groups.close
    Groups.close({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var close = result;
    });
    
    // /api/v1/groups.create
    Groups.create({ name: 'channelName', members: ['member_one', 'member_two'] }).then((result) => {
      var create = result;
    });
    
    // /api/v1/groups.getIntegrations
    Groups.getIntegrations({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var getIntegrations = result;
    });
    
    // /api/v1/groups.history
    Groups.history({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var history = result;
    });
    
    // /api/v1/groups.info
    Groups.info({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var info = result;
    });
    
    // /api/v1/groups.invite
    Groups.invite({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var invite = result;
    });
    
    // /api/v1/groups.kick
    Groups.kick({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var kick = result;
    });
    
    // /api/v1/groups.leave
    Groups.leave({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var leave = result;
    });
    
    // /api/v1/groups.list
    Groups.list().then((result) => {
      var list = result;
    });
    
    // /api/v1/groups.open
    Groups.open({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var open = result;
    });
    
    // /api/v1/groups.removeModerator
    Groups.removeModerator({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var removeModerator = result;
    });
    
    // /api/v1/groups.removeOwner
    Groups.removeOwner({ roomId: 'ByehQjC44FwMeiLbX', userId: 'nSYqWzZ4GsKTX4dyK' }).then((result) => {
      var removeOwner = result;
    });
    
    // /api/v1/groups.rename
    Groups.rename({ roomId: 'ByehQjC44FwMeiLbX', name: 'new-name' }).then((result) => {
      var rename = result;
    });
    
    // /api/v1/groups.setDescription
    Groups.setDescription({ roomId: 'ByehQjC44FwMeiLbX', description: 'Some description' }).then((result) => {
      var setDescription = result;
    });
    
    // /api/v1/groups.setPurpose
    Groups.setPurpose({ roomId: 'ByehQjC44FwMeiLbX', purpose: 'Some purpose' }).then((result) => {
      var setPurpose = result;
    });
    
    // /api/v1/groups.setReadOnly
    Groups.setReadOnly({ roomId: 'ByehQjC44FwMeiLbX', readOnly: true }).then((result) => {
      var setReadOnly = result;
    });
    
    // /api/v1/groups.setTopic
    Groups.setTopic({ roomId: 'ByehQjC44FwMeiLbX', topic: 'some topic' }).then((result) => {
      var setTopic = result;
    });
    
    // /api/v1/groups.setType
    Groups.setType({ roomId: 'ByehQjC44FwMeiLbX', type: 'p' }).then((result) => {
      var setType = result;
    });
    
    // /api/v1/groups.unarchive
    Channels.unarchive({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var unarchive = result;
    });
    

    ### Im

    var Im = Client.Im();
    
    // /api/v1/im.close
    Im.close({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var close = result;
    });
    
    // /api/v1/im.history
    Im.history({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var history = result;
    });
    
    // /api/v1/im.list.everyone
    Im.listEveryone().then((result) => {
      var listEveryone = result;
    });
    
    // /api/v1/im.list
    Im.list().then((result) => {
      var me = result;
    });
    
    // /api/v1/im.messages.others
    Im.messagesOthers({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var messagesOthers = result;
    });
    
    // /api/v1/im.open
    Im.open({ roomId: 'ByehQjC44FwMeiLbX' }).then((result) => {
      var open = result;
    });
    
    // /api/v1/im.setTopic
    Im.setTopic({ roomId: 'ByehQjC44FwMeiLbX', topic: 'some random topic' }).then((result) => {
      var setTopic = result;
    });
    

    ### Chat

    var Chat = Client.Chat();
    
    // /api/v1/chat.delete
    Chat.delete({ roomId: 'ByehQjC44FwMeiLbX', msgId: '7aDSXtjMA3KPLxLjt' }).then((result) => {
      var delete = result;
    });
    
    // /api/v1/chat.postMessage
    Chat.postMessage({ roomId: 'ByehQjC44FwMeiLbX', text: 'some message' }).then((result) => {
      var postMessage = result;
    });
    
    // /api/v1/chat.update
    Chat.update({ roomId: 'ByehQjC44FwMeiLbX', msgId: '7aDSXtjMA3KPLxLjt', text: 'some updated message' }).then((result) => {
      var update = result;
    });
    

    ### Settings

    var Settings = Client.Settings();
    
    // /api/v1/settings/:_id
    Settings.get('Livechat_enabled').then((result) => {
      var get = result;
    });
    
    // /api/v1/settings/:_id
    Settings.update('Livechat_enabled', { value: true }).then((result) => {
      var update = result;
    });
    

    ### Integration

    var Integration = Client.Integration();
    
    // /api/v1/integrations.create
    Integration.create({ type: 'webhook-outgoing', name: 'Testing via REST API', enabled: false, username: 'rocket.cat', urls: ['http://text2gif.guggy.com/guggify'], scriptEnabled: false}).then((result) => {
      var create = result;
    });
    
    // /api/v1/integrations.list
    Integration.list().then((result) => {
      var list = result;
    });
    
    // /api/v1/integrations.remove
    Integration.remove({  type: 'webhook-outgoing', integrationId: 'oNLthAt9RwMw39N2B'  }).then((result) => {
      var remove = result;
    });
    

    ### Livechat

    var Livechat = Client.Livechat();
    
    // /api/v1/livechat/department
    Livechat.getDepartment().then((result) => {
      var department = result;
    });
    
    // /api/v1/livechat/deparment/:_id
    Livechat.getDepartment('SQafHvoFPuB57NmBD').then((result) => {
      var department = result;
    });
    
    // /api/v1/livechat/department
    Livechat.registerDepartment().then((result) => {
      var department = result;
    });
    
    // /api/v1/livechat/deparment/:_id
    Livechat.updateDepartment('SQafHvoFPuB57NmBD', { deparment: { enabled: true, showOnRegistration: true, name: 'test department' } }).then((result) => {
      var department = result;
    });
    
    // /api/v1/livechat/deparment/:_id
    Livechat.deleteDepartment('SQafHvoFPuB57NmBD').then((result) => {
      var department = result;
    });
    
    // /api/v1/livechat/sms-incoming/:service
    Livechat.smsIncoming('twilio', { From: '5551123456789', To: '5551987654321', Body: 'SMS message', ToCountry: 'Brazil', ToState: 'RS', ToCity: 'Porto Alegre', ToZip: '', FromCountry: 'Brazil', FromState: 'RS', FromCity: 'Porto Alegre', FromZip': '' }).then((result) => {
      var smsIncoming = result;
    });
    
    // /api/v1/livechat/users
    Livechat.getUsers('agent').then((result) => {
      var user = result;
    });
    
    // /api/v1/livechat/users/:type
    Livechat.getUsers('agent' ,'SQafHvoFPuB57NmBD').then((result) => {
      var user = result;
    });
    
    // /api/v1/livechat/users/:type
    Livechat.registerUser('agent').then((result) => {
      var user = result;
    });
    
    // /api/v1/livechat/deparment/:_id
    Livechat.deleteUser('agent' ,'SQafHvoFPuB57NmBD').then((result) => {
      var user = result;
    });
    

Readme

Keywords

none

Package Sidebar

Install

npm i rocketchat-nodejs

Weekly Downloads

1

Version

0.1.2

License

MIT

Last publish

Collaborators

  • vitor_nagao