@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();
});

/@bandwidth/node-bandwidth-extra/

    Package Sidebar

    Install

    npm i @bandwidth/node-bandwidth-extra

    Weekly Downloads

    6

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

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