UNPKG

@icapps/tree-house-communication

Version:
126 lines (96 loc) 3.83 kB
# Treehouse Communication Communication module written in TypeScript providing communication utilities. [![npm version](https://badge.fury.io/js/%40icapps%2Ftree-house-communication.svg)](https://badge.fury.io/js/%40icapps%2Ftree-house-communication) [![Dependencies](https://david-dm.org/icapps/tree-house-communication.svg)](https://david-dm.org/icapps/tree-house-communication.svg) [![Build Status](https://travis-ci.com/icapps/tree-house-communication.svg?branch=master)](https://travis-ci.com/icapps/tree-house-communication) [![Coverage Status](https://coveralls.io/repos/github/icapps/tree-house-communication/badge.svg)](https://coveralls.io/github/icapps/tree-house-communication) [![Greenkeeper badge](https://badges.greenkeeper.io/icapps/tree-house-communication.svg)](https://greenkeeper.io/) ## General This module is used to send emails with Mandrill and only template requests (for now). ## Installation ```shell npm install @icapps/tree-house-communication ``` ## Usage examples ### Email using the mandrill api: ```typescript 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 ```json [ { "email": "email@mail.com", "status": "queued", "_id": "e8b9d10ea47e47629d95b22fe200389d" }, { "email": "anotherEmail@mail.com", "status": "queued", "_id": "308274f983f14eb09d266dd9abe51546" } ] ``` See all [extraMandrillOptions](https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template) ### Send text message using twilio: ```typescript 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 ```json { "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](https://github.com/icapps/tree-house-communication/contributors) who participated in this project. ## License This project is licensed under the ISC License - see the [LICENSE.md](LICENSE.md) file for details