/gov-delivery-node

A Node.js client library for the GovDelivery API

Primary LanguageJavaScriptOtherNOASSERTION

gov-delivery-node

An unofficial Node.js client library for GovDelivery's APIs

  • Communications Cloud
  • Script Service API
  • Targeted Messaging
  • Interactive Text

Quick start

Install

npm install --save gov-delivery-node

Usage

⚠️ While obvious to some, it is strongly recommended to store usernames, passwords and tokens in environment variables, e.g. const username = process.env.USERNAME

const { CommunicationsCloud } = require('gov-delivery-node')

const baseUrl = process.env.BASE_URL // https://stage-api.govdelivery.com
const accountCode = process.env.ACCOUNT_CODE // 'CODE'
const username = process.env.USERNAME
const password = process.env.PASSWORD

// `new` is optional; returns a new client object regardless
const client = new CommunicationsCloud({ baseUrl, accountCode, username, password })

If your prefer explicitly linking objects over using JavaScript classes:

const { CommunicationsCloud } = require('gov-delivery-node/communications-cloud')

/* ... */

const client = Object.create(CommunicationsCloud)
client.initialize({ baseUrl, accountCode, username, password })

This library is promise-based:

client.subscriptions
  .add(/* ... */)
  .then(data => {
    /* handle formatted response data... */
  })
  .catch(error => {
    /* handle error... */
  )

Or using async/await:

try {
  const data = await client.subscriptions.add(/* ... */)
} catch (error) {
  /* handle errors ... */
}

API Documentation

See the official API documentation from GovDelivery.