@vonage/server-client
v1.16.1
Published
The Vonage Server Client provides core functionalities for interacting with Vonage APIs, ensuring a standardized response regardless of the underlying HTTP adapter.
Downloads
207,786
Maintainers
Keywords
Readme
Vonage Server Client SDK for Node.js
This is the Vonage Server Client SDK for Node.js used to wrap the authentication headers/signatures 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.vonage.com.
Installation
With NPM
npm install @vonage/server-client
With Yarn
yarn add @vonage/server-client
Usage
To create a client, you will need to pass in a @vonage/auth
object.
const { Auth } = require('@vonage/auth');
const { Client } = require('@vonage/server-client');
const vonageClient = new Client (new Auth({
apiKey: API_KEY,
apiSecret: API_SECRET,
applicationId: APP_ID,
privateKey: PRIVATE_KEY_PATH,
}),
options,
);
You will now be able to send requests using the client:
const response = await vonageClient.sendGetRequest('https://rest.nexmo.com/account/numbers')
Options
The constructor for the client takes in two parameters credentials
and
options
. credentials
is either an Auth
or an object
containing the settings from AuthInterface
.
options
allows adjusting api endpoints and the request timeout.
restHost: string
(optional) - Allows overwriting the defaulthttps://rest.nexmo.com
.apiHost: string
(optional) - Allows overwriting the defaulthttps://api.nexmo.com
.videoHost: string
(optional) - Allows overwriting the defaulthttps://video.api.vonage.com
.timeout: int
(optional) - Set a custom timeout for requests to Vonage in milliseconds. Defaults to the standard for Node http requests, which is 120,000 ms.appendUserAgent: string
(optional) - Set a custom string to be added to theuser-agent
header for the request
File Downloads
When downloading files, the request needs to be built with proper security
headers set. Inside this package is the FileClient
which will handle the
request. You can download a file using the File Id or the FQURL.
const { Auth } = require('@vonage/auth');
const { FileClient } = require('@vonage/server-client');
const fileClient = new FileClient(new Auth({
apiKey: API_KEY,
apiSecret: API_SECRET,
applicationId: APP_ID,
privateKey: PRIVATE_KEY_PATH,
}),
options,
);
await fileClient.downloadFile('the-file-id-or-url', '/paht/to/save');
Testing
Run:
npm run test