twilio-webhook-dispatch

0.0.1 • Public • Published

twilio-webhook-dispatch

Node packege to be used in Twilio Serverless to dispatch Twilio webhooks to multiple endpoints. It can be used as well to modify the payload before sending it to a Twilio webhook handler. The webhook will be dispatched with a valid x-twilio-signature header.

Install

  • Add twilio-webhook-dispatch to your Twilio serverless environment

Usage

Dispatch your webhook to single destination

const TwilioWebhookDispatch = require('twilio-webhook-dispatch');

exports.handler = function (context, event, callback) {
  TwilioWebhookDispatch(context, event, 'https://my.endpoi.nt')
    .then(() => callback(null, response))
    .catch(err, callback(500, null));
};

Dispatch your webhook to multiple destinations

const TwilioWebhookDispatch = require('twilio-webhook-dispatch');

exports.handler = function (context, event, callback) {
  TwilioWebhookDispatch(context, event, ['https://my.endpoi.nt/route1', 'https://my.endpoi.nt/route2'])
    .then(() => callback(null, response))
    .catch(err, callback(500, null));
};

Modify your resource before sending it to a Twilio webhook handler

Let's say you want to modify an incoming message before sending it to Twilio Proxy handler (i.e. https://webhooks.twilio.com/v1/Accounts/ACXXX/Proxy/KSXXX/Webhooks/Message):

const TwilioWebhookDispatch = require('twilio-webhook-dispatch');

exports.handler = function (context, event, callback) {
  event.body = 'Body has been redacted'
  TwilioWebhookDispatch(context, event, 'https://webhooks.twilio.com/v1/Accounts/ACXXX/Proxy/KSXXX/Webhooks/Message')
    .then(() => callback(null, response))
    .catch(err, callback(500, null));
};

Readme

Keywords

Package Sidebar

Install

npm i twilio-webhook-dispatch

Weekly Downloads

37

Version

0.0.1

License

ISC

Unpacked Size

4.75 kB

Total Files

3

Last publish

Collaborators

  • gverni