@icapps/tree-house-communication
v1.2.0
Published
Tree House communication module
Downloads
9
Readme
Treehouse Communication
Communication module written in TypeScript providing communication utilities.
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: '[email protected]', name: 'Info icapps' },
to: [{
email: '[email protected]', name: 'Optional',
content: [{ name: 'greeting', value: 'Hello test!' }]
}],
globalContent: [{ name: 'news', value: 'content of big news' }],
};
const extraMandrillOptions = {
async: true,
message: { bcc_address: '[email protected]' }
}
// Send email(s)
const result = await treeHouse.sendEmailWithTemplate(mailInfo, extraMandrillOptions);
// example result
[
{
"email": "[email protected]",
"status": "queued",
"_id": "e8b9d10ea47e47629d95b22fe200389d"
},
{
"email": "[email protected]",
"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