@icapps/tree-house-communication

Tree House communication module


Keywords
tree House, treehouse, treehouse communication
License
ISC
Install
npm install @icapps/tree-house-communication@1.1.1

Documentation

Treehouse Communication

Communication module written in TypeScript providing communication utilities.

npm version Dependencies Build Status Coverage Status Greenkeeper badge

General

This module is used to send emails with Mandrill and only template requests (for now).

Installation

npm install @icapps/tree-house-communication

Usage examples

Email using the mandrill api:

import * as treeHouse from 'tree-house-communication';

// set Mandrill API key
treeHouse.setMandrillApiKey('secretMandrillKey');

// Create email(s)
const mailInfo: ITemplateRequest = {
  templateName: 'icapps-newsletter-template',
  subject: 'My subject',
  from: { email: 'info@icapps.be', name: 'Info icapps' },
  to: [{
    email: 'testAddress@gmail.com', name: 'Optional',
    content: [{ name: 'greeting', value: 'Hello test!' }]
  }],
  globalContent: [{ name: 'news', value: 'content of big news' }],
};

const extraMandrillOptions = {
  async: true,
  message: { bcc_address: 'test@gmail.com' }
}

// Send email(s)
const result = await treeHouse.sendEmailWithTemplate(mailInfo, extraMandrillOptions);

// example result

[
  {
    "email": "email@mail.com",
    "status": "queued",
    "_id": "e8b9d10ea47e47629d95b22fe200389d"
  },
  {
    "email": "anotherEmail@mail.com",
    "status": "queued",
    "_id": "308274f983f14eb09d266dd9abe51546"
  }
]

See all extraMandrillOptions

Send text message using twilio:

import * as treeHouse from 'tree-house-communication'

// set Mandrill API key
treeHouse.setTwilioAccountSid('twilioAccountSid');
treeHouse.setTwilioAuthToken('twilioAuthToken');

// Send text message
const result = await treeHouse.sendTextMessage(mailInfo, extraMandrillOptions);

// example result

{
  "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "api_version": "2010-04-01",
  "body": "This is the ship that made the Kessel Run in fourteen parsecs?",
  "date_created": "Thu, 30 Jul 2015 20:12:31 +0000",
  "date_sent": "Thu, 30 Jul 2015 20:12:33 +0000",
  "date_updated": "Thu, 30 Jul 2015 20:12:33 +0000",
  "direction": "outbound-api",
  "error_code": null,
  "error_message": null,
  "from": "+15017122661",
  "messaging_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "num_media": "0",
  "num_segments": "1",
  "price": null,
  "price_unit": null,
  "sid": "SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "status": "sent",
  "subresource_uris": {
    "media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Media.json"
  },
  "to": "+15558675310",
  "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
}

Tests

  • You can run npm run test to run all tests
  • You can run npm run test:coverage to run all tests with coverage report

Authors

See the list of contributors who participated in this project.

License

This project is licensed under the ISC License - see the LICENSE.md file for details