Vonage Voice SDK for Node.js
![Latest Release](https://img.shields.io/github/v/release/vonage/vonage-node-sdk?logo=npm&style=flat-square)
[
][../../LICENSE.TXT]
This is the Vonage Voice SDK for Node.js for use with Vonage APIs. To use it you will need a Vonage account. Sign up for free at vonage.com.
We recommend using this package as part of the overall @vonage/server-sdk
package.
For full API documentation refer to developer.nexmo.com.
Installation
We recommend using this SDK as part of the overall @vonage/server-sdk
package. Please see the main package for installation.
You can also use this SDK standalone if you only need access to just the Voice API.
With NPM
npm install @vonage/voice
With Yarn
yarn add @vonage/voice
Using the Vonage Voice SDK
As part of the Vonage Server SDK
If you are using this SDK as part of the Vonage Server SDK, you can access it as the voice
property off of the client that you instantiate.
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
applicationId: APP_ID,
privateKey: PRIVATE_KEY_PATH,
}, options);
vonage.voice.getCall(CALL_UUID)
.then(resp => console.log(resp))
.catch(err => console.error(err));
Standalone
The SDK can be used standalone from the main Vonage Server SDK for Node.js if you only need to use the Messages API. All you need to do is require('@vonage/voice')
, and use the returned object to create your own client.
const { Auth } = require('@vonage/auth');
const { Voice } = require('@vonage/voice');
const voiceClient = new Voice(new Auth({
applicationId: APP_ID,
privateKey: PRIVATE_KEY_PATH,
}), options);
applicationId
- (optional) The Vonage API Application ID to be used when creating JWTs.privateKey
- (optional) The Private Key to be used when creating JWTs. You can specify the key as any of the following:
- A Buffer containing the file contents.
- A String containing the path to the key file on disk.
- A String containing the key itself.
options
is an object that can contain:
{
debug: true|false,
appendToUserAgent: string,
logger: {
log: function() {level, args...}
info: function() {args...},
warn: function() {args...}
},
timeout: integer,
apiHost: string,
restHost: string
}
Promises
Most methods that interact with the Vonage API uses Promises. You can either resolve these yourself, or use await
to
wait for a response.
const resp = await vonage.voice.getCall(CALL_UUID)
vonage.voice.getCall(CALL_UUID)
.then(resp => console.log(resp))
.catch(err => console.error(err));
Testing
Run:
npm run test