@vonage/messages
Advanced tools
Comparing version 1.0.0 to 1.0.1
{ | ||
"name": "@vonage/messages", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "Multi-channel messaging that integrates WhatsApp, Facebook, Viber, SMS, and MMS", | ||
@@ -46,3 +46,3 @@ "keywords": [ | ||
"dependencies": { | ||
"@vonage/server-client": "^1.0.0" | ||
"@vonage/server-client": "^1.0.1" | ||
}, | ||
@@ -49,0 +49,0 @@ "devDependencies": { |
128
README.md
@@ -1,11 +0,129 @@ | ||
# `messages` | ||
# Vonage Messages SDK for Node.js | ||
> TODO: description | ||
 [](https://codecov.io/gh/Vonage/vonage-server-sdk)  | ||
## Usage | ||
[](../../CODE_OF_CONDUCT.md) [][../../LICENSE.TXT] | ||
<img src="https://developer.nexmo.com/images/logos/vbc-logo.svg" height="48px" alt="Vonage" /> | ||
This is the Vonage Messages SDK for Node.js for use with [Vonage APIs](https://www.vonage.com/). To use it you will need a Vonage account. Sign up [for free at vonage.com][signup]. | ||
We recommend using this package as part of the overall [`@vonage/server-sdk` package](https://github.com/vonage/vonage-node-sdk). | ||
For full API documentation refer to [developer.nexmo.com](https://developer.nexmo.com/). | ||
* [Installation](#installation) | ||
* [Constructor](#constructor) | ||
* [Callbacks](#callbacks) | ||
* [Testing](#testing) | ||
* [Examples](#examples) | ||
* [Supported APIs](#supported-apis) | ||
## Installation | ||
We recommend using this SDK as part of the overall [`@vonage/server-sdk` package](https://github.com/vonage/vonage-node-sdk). 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 | ||
```bash | ||
npm install @vonage/messages | ||
``` | ||
const messages = require('messages'); | ||
// TODO: DEMONSTRATE API | ||
### With Yarn | ||
```bash | ||
yarn add @vonage/messages | ||
``` | ||
## Using the Vonage Messages 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 `messages` property off of the client that you instantiate. | ||
```js | ||
const { Vonage } = require('@vonage/server-sdk'); | ||
const vonage = new Vonage({ | ||
apiKey: API_KEY, | ||
apiSecret: API_SECRET, | ||
applicationId: APP_ID, | ||
privateKey: PRIVATE_KEY_PATH, | ||
signatureSecret: SIGNATURE_SECRET, | ||
signatureMethod: SIGNATURE_METHOD | ||
}, options); | ||
vonage.messages.send({to: TO_NUMBER, from: FROM_NUMBER: channel: 'sms', text: MESSAGE}); | ||
``` | ||
### Standalone | ||
The SDK can be used standalone from the main [Vonage Server SDK for Node.js](https://github.com/vonage/vonage-node-sdk) 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. | ||
```js | ||
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); | ||
``` | ||
* `apiKey` - API Key from Vonage API. If `applicationId` and `privateKey` are present, `apiKey` is optional. | ||
* `apiSecret` - API Secret from Vonage API. If `applicationId` and `privateKey` are present, `apiSecret` is optional. | ||
* `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](https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_string_encoding) 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: | ||
```js | ||
{ | ||
// If true, log information to the console | ||
debug: true|false, | ||
// append info the the User-Agent sent to Nexmo | ||
// e.g. pass 'my-app' for /nexmo-node/1.0.0/4.2.7/my-app | ||
appendToUserAgent: string, | ||
// Set a custom logger | ||
logger: { | ||
log: function() {level, args...} | ||
info: function() {args...}, | ||
warn: function() {args...} | ||
}, | ||
// Set a custom timeout for requests to Nexmo in milliseconds. Defaults to the standard for Node http requests, which is 120,000 ms. | ||
timeout: integer, | ||
// Set a custom host for requests instead of api.nexmo.com | ||
apiHost: string, | ||
// Set a custom host for requests instead of rest.nexmo.com | ||
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. | ||
```js | ||
const resp = await messagesClient.send({to: TO_NUMBER, from: FROM_NUMBER: channel: 'sms', text: MESSAGE}); | ||
messagesClient.send({to: TO_NUMBER, from: FROM_NUMBER: channel: 'sms', text: MESSAGE}) | ||
.then(resp => console.log(resp)) | ||
.catch(err => console.error(err)); | ||
``` | ||
## Testing | ||
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 |
38801
130
Updated@vonage/server-client@^1.0.1