1.0.2 • Published 2 years ago

@lonely_dev/termii-js v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

TERMII-JS

Termii-Js is a convenience Typescript/JavaScript library that provides an interface, which developers with an utmost love for everything JavaScript can leverage for a seamless interaction with the Termii platform https://termii.com/.

Setup

To use, first install:

npm install @lonely_dev/termii-js

or

yarn add @lonely_dev/termii-js

The library provides classes you can utilize in consuming some of the various APIs provided by Termii. These APIs are made available by the library as dedicated classes or as part of a root API.

Usage

You can send a simple message like so:

const termii = require("@lonely_dev/termii-js");
const termiiAPIInstance = termii.createTermiiAPIInstance("API_KEY_GOES_HERE"); // You can also use destructuring instead

(async () => {
  await termiiAPIInstance
    .message({
      to: "PHONE_NUMBER",
      from: "SENDER_ID",
      sms: "MESSAGE",
      channel: "generic"
    })
    .send();
})();

or like so:

const { MessageAPI } = require("@lonely_dev/termii-js");

(async () => {
  await MessageAPI
    .createMessagingInstance({
      to: "PHONE_NUMBER",
      from: "SENDER_ID",
      sms: "MESSAGE",
      channel: "generic",
      api_key: "API_KEY_HERE"
    })
    .send();
})();

Other available APIs

The NumbersAPI class provides the interface for the Termii number API. You can access it using the numbers function of the Termii API instance or you can import the class directly.

// Removed for brevity
(async () => {
  await termiiAPIInstance
    .numbers({
      to: "PHONE_NUMBER",
      sms: "MESSAGE"
    })
})()

or

const { NumbersAPI } = require("@lonely_dev/termii-js");

(async () => {
  await NumbersAPI
    .createNumberInstance({
      to: "PHONE_NUMBER",
      sms: "MESSAGE",
      api_key: "API_KEY_HERE"
    })
    .send();
})();

Side note: Notice that you do not need to set the api_key field if you're accessing an API from the root instance, which is where you set the API key (i.e the function argument).

You can access the SendersIDAPI class using the senderID function of the root instance or by using the static createSenderIDInstance function exposed by the class itself. Use the link attached to this section to know how this instance can be configured. Remember that you only need to provide the API key again if you're not accessing from the root API instance. The non-static functions available in this class are fetchSenderID and requestSenderID

You can access the TemplateAPI class using the template function of the root instance or by using the static createTemplateInstance function exposed by the class itself.

Tokens

You can also access the tokens APIs by using the tokens variable of the root instance.

const tokens = termiiAPIInstance.tokens;

Each token API also has a dedicated class. The classes provided include: EmailTokenAPI, SendTokenAPI, VoiceCallAPI and VoiceTokenAPI. They can be accessed like so:

(async () => {
  await tokens.sendToken({ /* See docs for how to configure send token*/}).send();
  await tokens.voiceToken({ /* See docs for how to configure voice token*/}).send();
  await tokens.emailToken({ /* See docs for how to configure email token*/}).send();
  await tokens.voiceCall({ /* See docs for how to configure send call*/}).send();
})()

You can even access them through static functions.

(async () => {
  SendTokenAPI.createSendTokenInstance({/* See docs for how to configure send token*/}).send();
  VoiceTokenAPI.createVoiceTokenInstance({/* See docs for how to configure voice token*/}).send();
  EmailTokenAPI.createEmailTokenInstance({/* See docs for how to configure email token*/}).send();
  VoiceCallAPI.createVoiceCallInstance({/* See docs for how to configure voice call*/}).send();
})()
1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago