1.2.0 • Published 2 years ago
@icapps/tree-house-communication v1.2.0
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: '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