@cmpsr/signalwire
TypeScript icon, indicating that this package has built-in type declarations

2.0.11 • Public • Published

@cmpsr/signalwire

npm version

npm license

npm downloads

Wrapper over Signalwire API

Features

  • Send sms using the Signalwire API

Installing

Using npm:

$ npm install @cmpsr/signalwire

Using yarn:

$ yarn add @cmpsr/signalwire

Examples

CommonJS usage

const { useSignalwireSms } = require("@cmpsr/signalwire");

ES usage

import { useSignalwireSms } from "@cmpsr/signalwire";

Sending a sms with ExpressJS

const express = require("express");
const { useSignalwireSms } = require("@cmpsr/signalwire");

const app = express();
app.use(express.json());

const signalwireSms = useSignalwireSms();

app.post("/send-sms", async (req, res) => {
  const { message, from, to } = req.body;
  const response = await signalwireSms.send(message, from, to);
  res.json(response);
});

API

useSignalwireSms([, project[, token[, contexts]]])
const project = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const contexts = ["1", "2"];

const useSignalwireSms = useSignalwireSms(project, token, contexts);
NOTE

If you don't pass the optional parameters it will take those values from your environment variables, so you may want to create a .env file or set global variables into your OS.

# in your .env file
SIGNALWIRE_PROJECT = ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SIGNALWIRE_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SIGNALWIRE_CONTEXTS = 1,2

Now, load your variables using the dotenv package

require("dotenv").config();
const { useSignalwireSms } = require("@cmpsr/signalwire");
const signalwireSms = useSignalwireSms();

SMS Instance methods

The available instance methods are listed below.

signalwireSms#send(message: string, from: string, to: string)

Resources

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @cmpsr/signalwire

Weekly Downloads

722

Version

2.0.11

License

MIT

Unpacked Size

151 kB

Total Files

89

Last publish

Collaborators

  • stevejcox
  • tkanzakic
  • ryanhefner