Nondeterministic Programming Methodology

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

    1.1.1 • 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

    Install

    npm i @icapps/tree-house-communication

    DownloadsWeekly Downloads

    19

    Version

    1.1.1

    License

    ISC

    Unpacked Size

    18.7 kB

    Total Files

    20

    Last publish

    Collaborators

    • ethanfoust
    • jensicapps
    • willemhorsten
    • dgyesbreghs