@bandwidth/node-bandwidth-extra

1.0.1 • Public • Published

node-bandwidth-extras

npm version Build Status dependencies Known Vulnerabilities

Helper functions and middlewares for node-bandwidth. Read more documentation here.

Install

Run

npm install @bandwidth/node-bandwidth-extra

Examples

Helpers

const {application, phoneNumber} = require("@bandwidth/node-bandwidth-extra");

const appId = await application.getOrCreateApplication(api, 'My app', 'my.domain.com'); // It will return exisitng application Id or create it otherwise

const number = await phoneNumber.getOrCreatePhoneNumber(api, appId, {name: 'Support', areaCode: '910'}); // It will reserve a linked to this app phone number and assign name to it. If number with such name already exists it returns it.

Middlewares

Koa

const {middlewares} = require("@bandwidth/node-bandwidth-extra");

const app = new Koa();
app.use(middlewares.koa({
	name: 'My app', // application name on Bandwidth server
	auth: {userId: 'bandwidthUserId', apiToken: 'bandwidthApiToken', apiSecret: 'bandwidthSecret'}, // Bandwidth auth data
	phoneNumber: { // Options to reserve phone number
		phoneType: 'local',
		areaCode: '910'
	},
	callCallback: async (data, ctx) => {
		// Handle calls events here
		if(data.eventType === 'answer' && ctx.phoneNumber === data.to){
			console.log('Answered');
		}
	}
}));

app.use(async (ctx, next) => {
	console.log(ctx.phoneNumber); // calls and messages to this phone number will be handled by this web app
	await next();
});

Express

const {middlewares} = require("@bandwidth/node-bandwidth-extra");

const app = express();
app.use(middlewares.express({
	name: 'My app', // application name on Bandwidth server
	auth: {userId: 'bandwidthUserId', apiToken: 'bandwidthApiToken', apiSecret: 'bandwidthSecret'}, // Bandwidth auth data
	phoneNumber: { // Options to reserve phone number
		phoneType: 'local',
		areaCode: '910'
	},
	callCallback: async (data, req) => {
		// Handle calls events here
		if(data.eventType === 'answer' && req.phoneNumber === data.to){
			console.log('Answered');
		}
	}
}));

app.use((req, res, next) => {
	console.log(req.phoneNumber); // calls and messages to this phone number will be handled by this web app
	next();
});

Readme

Keywords

Package Sidebar

Install

npm i @bandwidth/node-bandwidth-extra

Weekly Downloads

3

Version

1.0.1

License

MIT

Last publish

Collaborators

  • mhamer-bw
  • jmulford-bandwidth
  • tbowen
  • zelitzsi
  • themikez
  • nguyer
  • developerhelp-bandwidth
  • cejohnson-bw