termii-api-client
v1.0.2
Published
A TypeScript client for interacting with the Termii API.
Downloads
20
Maintainers
Readme
Termii API Client
This is a TypeScript/JavaScript client library for interacting with the Termii API. It provides various methods for sending messages, managing tokens, handling sender IDs, and working with phonebooks and campaigns.
Installation
You can install this package using npm:
npm install termii-api-client
Or with yarn:
yarn add termii-api-client
Usage
Importing and Initializing the Client
import TermiiClient from 'termii-api-client';
const client = new TermiiClient({
baseUrl: 'https://api.termii.com',
apiKey: 'your-api-key',
});
Messaging
Send a Message
await client.Messaging.send({
to: "2347880234567",
from: "YourSenderID",
sms: "Hi there, testing Termii",
type: "plain",
channel: "generic",
});
Send Bulk Messages
await client.Messaging.sendBulk({
to: ["23490555546", "23423490126999", "23490555546"],
from: "YourSenderID",
sms: "Hi there, testing Termii",
type: "plain",
channel: "generic",
});
Token Management
Send a Token
await client.Token.send({
message_type: "NUMERIC",
to: "2348109077743",
from: "YourSenderID",
channel: "dnd",
pin_attempts: 10,
pin_time_to_live: 5,
pin_length: 6,
pin_placeholder: "< 1234 >",
message_text: "Your pin is < 1234 >",
pin_type: "NUMERIC"
});
Verify a Token
await client.Token.verify("pin_id", "195558");
Sender ID Management
Fetch Available Sender IDs
await client.SenderID.fetch();
Request a New Sender ID
await client.SenderID.request({
sender_id: "Acme",
usecase: "Your OTP code is zxsds",
company: "Acme Corp"
});
Phonebook Management
Fetch Phonebooks
await client.PhoneBooks.fetch();
Create a Phonebook
await client.PhoneBooks.create({
phonebook_name: "Phonebook Test",
description: "Phonebook for testing"
});
Fetch Contacts from a Phonebook
await client.PhoneBooks.contacts("04c3ebcc-3a7e-485a-88c1-68e731386f77");
Add a Contact to a Phonebook
await client.PhoneBooks.addContact("04c3ebcc-3a7e-485a-88c1-68e731386f77", {
phone_number: "2348109477743",
country_code: "NG",
email_address: "[email protected]",
first_name: "John",
last_name: "Doe"
});
Campaign Management
Fetch Campaigns
await client.Campaign.fetch();
Insights
Getting Account Balance
await client.getBalance();
Check Number Status
await client.checkNumberStatus("2348753243651", "NG");
Search for a Number
await client.searchNumber("2348753243651");
Get message reports
await client.messageReports();
Types
This library also exports various TypeScript types to help with type checking in your projects:
Config
Message
BulkMessage
SenderIDRequest
PhoneBookCreateInput
ContactCreateInput
SendTokenInput
VoiceTokenInput
VoiceCallInput
EmailTokenInput
InAppTokenInput