Vonage Messages SDK for Node.js
This is the Vonage Messages 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.
For full API documentation refer to developer.nexmo.com.
If you are updating from V2 to V3, please check the migration guide found here
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 Messages API.
With NPM
npm install @vonage/messages
With Yarn
yarn add @vonage/messages
Usage
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 messages
property off of the client that you instantiate.
const {Vonage} = require('@vonage/server-sdk');
const { Auth, AlgorithmTypes } = require('@vonage/auth');
const { SMS } = require('@vonage/messages');
const vonage = new Vonage(new Auth({
apiKey: API_KEY,
apiSecret: API_SECRET,
applicationId: APP_ID,
privateKey: PRIVATE_KEY_PATH,
signature: {
secret: 'ABCDE',
algorithm: AlgorithmTypes.md5hash,
},
}), options);
vonage.messages.send(new SMS({
to: TO_NUMBER,
from: FROM_NUMBER,
text: MESSAGE
}));
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/messages')
, and use the returned object to create your own
client.
const {Auth} = require('@vonage/auth');
const {Messages} = require('@vonage/messages');
const messagesClient = new Messages(new Auth({
apiKey: API_KEY,
apiSecret: API_SECRET,
applicationId: APP_ID,
privateKey: PRIVATE_KEY_PATH,
}), options);
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 messagesClient.send(new SMS({
to: TO_NUMBER,
from: FROM_NUMBER,
text: MESSAGE
}));
messagesClient.send(new SMS({
to: TO_NUMBER,
from: FROM_NUMBER:
text: MESSAGE
}))
.then(resp => console.log(resp))
.catch(err => console.error(err));
Testing
Run:
npm run test