1.0.0 • Published 3 years ago

gov-delivery-node v1.0.0

Weekly downloads
1
License
CC0-1.0
Repository
github
Last release
3 years ago

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:
```js
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.