@icapps/tree-house-communication
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

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

Dependents (0)

Package Sidebar

Install

npm i @icapps/tree-house-communication

Weekly Downloads

4

Version

1.2.0

License

ISC

Unpacked Size

15.8 kB

Total Files

17

Last publish

Collaborators

  • benjijanssens
  • samvanhoey
  • jaspervercammen
  • codeinineo
  • ethanfoust
  • jensicapps
  • willemhorsten
  • dgyesbreghs