The Vonage Server Client provides core functionalities for interacting with Vonage APIs, ensuring a standardized response regardless of the underlying HTTP adapter.
npm install @vonage/server-client!GitHub Workflow Status  !Latest Release  ![License][license]
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][signup].
For full API documentation refer to developer.vonage.com.
* Installation
* Usage
* Options
* File Downloads
* Testing
``bash`
npm install @vonage/server-client
`bash`
yarn add @vonage/server-client
To create a client, you will need to pass in a @vonage/auth object.
`js
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:
`js`
const response = await vonageClient.sendGetRequest('https://rest.nexmo.com/account/numbers')
The constructor for the client takes in two parameters credentials andoptions. credentials is either an Authobject
or an containing the settings from AuthInterface.
options allows adjusting api endpoints and the request timeout.
* restHost: string (optional) - Allows overwriting the default https://rest.nexmo.com.apiHost: string
* (optional) - Allows overwriting the default https://api.nexmo.com.videoHost: string
* (optional) - Allows overwriting the default https://video.api.vonage.com.timeout: int
* (optional) - Set a custom timeout for requests to Vonage inappendUserAgent: string
milliseconds. Defaults to the standard for Node http requests, which is
120,000 ms.
* (optional) - Set a custom string to be added to theuser-agent
header for the request
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.
`js
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');
`
Run:
`bash``
npm run test
[signup]: https://dashboard.nexmo.com/sign-up?utm_source=DEV_REL&utm_medium=github&utm_campaign=node-server-sdk
[license]: ../../LICENSE.txt