node-bandwidth
A Node.js client library for Bandwidth's Communications Platform
API Documentation
The API documentation is located at dev.bandwidth.com/ap-docs/
Full SDK Reference
The Full API Reference is available either as an interactive site or as a single Markdown file:
Installing the SDK
node-bandwidth
is available on NPM:
npm install --save node-bandwidth
Supported Versions
node-bandwidth
should work on all versions of node newer than 6.0.0
. However, due to the rapid development in the Node and npm environment, we can only provide support on LTS versions of Node
Version | Support Level |
---|---|
< 6 | Unsupported |
6-12 | Supported |
> 12 | N/A |
Release Notes
Version | Notes |
---|---|
3.0.0 | Dropped support for node versions less than 6 |
3.0.2 | Updated the URL used for Bandwidth's V2 Messaging |
Client initialization
All interaction with the API is done through a client
Object. The client constructor takes an Object containing configuration options. The following options are supported:
Field name | Description | Default value | Required |
---|---|---|---|
userId |
Your Bandwidth user ID | undefined |
Yes |
apiToken |
Your API token | undefined |
Yes |
apiSecret |
Your API secret | undefined |
Yes |
baseUrl |
The Bandwidth API URL | https://api.catapult.inetwork.com |
No |
To initialize the client object, provide your API credentials which can be found on your account page in the portal.
var Bandwidth = ; var client = userId : "YOUR_USER_ID" // <-- note, this is not the same as the username you used to login to the portal apiToken : "YOUR_API_TOKEN" apiSecret : "YOUR_API_SECRET";
Your client
object is now ready to use the API.
Callbacks or Promises
All functions of the client object take an optional Node.js style (err, result)
callback, and also return a Promise. That way if you want to use Promises in your application, you don't have to wrap the SDK with a Promise library. You can simply do things like this:
Promise style
clientMessage;
If you're not into that kind of thing you can also do things the "old fashioned" callback way:
Callback style
clientMessage;
Using Messaging V2 API
Both callback and promise styles are supported
// First you should create and application on Bandwidth Dashboardvar dashboardAuth = accountId : "accountId" userName : "userName" password : "password" subaccountId : "subaccountId"; clientv2Message;
Providing feedback
For current discussions on 2.0 please see the 2.0 issues section on GitHub. To start a new topic on 2.0, please open an issue and use the 2.0
tag. Your feedback is greatly appreciated!