Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@vonage/messages

Package Overview
Dependencies
Maintainers
37
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vonage/messages

Multi-channel messaging that integrates WhatsApp, Facebook, Viber, SMS, and MMS

  • 1.0.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
44K
decreased by-9.85%
Maintainers
37
Weekly downloads
 
Created
Source

Vonage Messages SDK for Node.js

GitHub Workflow Status (branch) Codecov Latest Release

Contributor Covenant [License][../../LICENSE.TXT]

Vonage

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.

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 Messages API.

With NPM

npm install @vonage/messages

With Yarn

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.

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 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);
  • 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 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:
{
  // 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.

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:

npm run test

Keywords

FAQs

Package last updated on 22 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc