Neurotoxin Powered Marketing

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

    Install

    npm i @bandwidth/node-bandwidth-extra

    DownloadsWeekly Downloads

    7

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

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