Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@rexfng/send

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rexfng/send

send email with restful api

  • 1.14.0
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-96.15%
Maintainers
1
Weekly downloads
 
Created
Source

Description

wrapper of sendgrid and various messaging methods to send email, text messages, and make phone calls

Initialize

  1. define enviornment variable EMAIL_PASS by sendgrid api_key
  2. define enviornment variable TWILIO_SID and TWILIO_API_KEY by Twilio credentials
const Send = require('@rexfng/send')
const email = Send.helpers.email

Helper Methods

//returns helpers which can be used for sending emails. Method returns a promise.

const Send = require('@rexfng/send')
const email = Send.helpers.email
email({
    from: "John<john@example.com>", // sender address
    to: "Paul<paul@example.com>", // list of receivers
    subject: "Welcome Message", // Subject line
    text: "Welcome to our service.", // plain text body
    html: "<h1>Welcome to our service.</h1>" // html body
})
	

Router Methods

//returns routes which can be used with express ex.
const express = require('express')
app = express();
app.listen(3000);
const Send = require('@rexfng/send')
app.use('/email', Send.routes.email) //POST
app.use('/sms/send', Send.routes.sms.send) //POST
app.use('/sms/webhook', Send.routes.sms.webhook) 
app.use('/twixml', Send.routes.twixml) 
app.use('/voice', Send.routes.voice) 
	

SMS Send Endpoint

The endpoint takes in JSON Body in the following format http://localhost:3000/sms/send POST

{
	body: 'This is the ship that made the Kessel Run in fourteen parsecs?',
	from: '+16468635472',
	to: ['+16047123445', '+16041234456']
}

Response Code

CODEMESSAGEDetails
200SUCCESSOK
500INTERNAL_ERRORServer side error

Response LINK

{
  "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": null,
  "num_media": "0",
  "num_segments": "1",
  "price": null,
  "price_unit": null,
  "sid": "MMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "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"
}

SMS Webhook Endpoint

Provide Twilio this endpoint as a webhook and have responses logged in DB {"type": "twilio-webhook"} http://localhost:3000/sms/webhook POST

Voice Endpoint

Provide Twilio this endpoint as a webhook and have responses logged in DB http://localhost:3000/voice POST

{
	url: 'http://demo.twilio.com/docs/voice.xml',
	to: '+123456789',
	from: '+987654321'
}

Response TWIML

{
  "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "annotation": null,
  "answered_by": null,
  "api_version": "2010-04-01",
  "caller_name": null,
  "date_created": "Tue, 31 Aug 2010 20:36:28 +0000",
  "date_updated": "Tue, 31 Aug 2010 20:36:44 +0000",
  "direction": "inbound",
  "duration": "15",
  "end_time": "Tue, 31 Aug 2010 20:36:44 +0000",
  "forwarded_from": "+141586753093",
  "from": "+987654321",
  "from_formatted": "+987654321",
  "group_sid": null,
  "parent_call_sid": null,
  "phone_number_sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "price": "-0.03000",
  "price_unit": "USD",
  "sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "start_time": "Tue, 31 Aug 2010 20:36:29 +0000",
  "status": "completed",
  "subresource_uris": {
    "notifications": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Notifications.json",
    "recordings": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings.json",
    "feedback": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Feedback.json",
    "feedback_summaries": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/FeedbackSummary.json",
    "payments": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Payments.json"
  },
  "to": "+123456789",
  "to_formatted": "+123456789",
  "uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
}

Twixml Template Endpoint

Generate Twixml Endpoint with Mustache engine. If template is empty, it renders no content.

GET Query

?template={template_id}&key1=value1&key2=value2

FAQs

Package last updated on 27 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc