@davidbolaji/termii-node
Version:
Node.js SDK for Termii API – send SMS, voice, OTP, and manage messaging with ease.
148 lines • 7.59 kB
TypeScript
import { SendMessageRequest, SendMessageResponse, SendBulkMessageRequest, SendBulkMessageResponse } from "../../types/messageService.type";
import { SendTemplateRequest, SendTemplateResponse } from "../../types/templateService.type";
import { SendCampaignRequest, SendCampaignResponse } from "../../types/campaignService.type";
import { SenderIdReqParam, SenderIdRequestResponse } from "../../types/senderService.type";
import { SendTokenRequest, SendTokenResponse } from "../../types/tokenService.type";
import { GetBalanceResponse as BalanceResponse } from "../../types/balanceService.types";
import { FetchPlansRequest as EsimPlanRequest, FetchPlansResponse as EsimPlanResponse, AuthenticateRequest, AuthenticateResponse, CreateEsimRequest, CreateEsimResponse, FetchEsimsResponse, QrCodeResponse, UsageResponse } from "../../types/eSimService.type";
import { InAppTokenRequest, InAppTokenResponse, SendEmailTokenRequest, SendEmailTokenResponse, VerifyTokenRequest, VerifyTokenResponse } from "../../types";
/**
* Utility type that forces TypeScript to expand an interface
* so IntelliSense shows its full shape instead of just the alias.
*/
type Expand<T> = {
[K in keyof T]: T[K];
} & {};
/**
* Initialize the SDK with API key and optional baseUrl.
* Must be called before using any direct functions.
* @param apiKey API key string
* @param baseUrl Optional base URL string
*/
export declare function initialize(apiKey: string, baseUrl?: string): void;
/**
* Send a single SMS or WhatsApp message directly without instantiating MessageService.
* @param payload SendMessageRequest payload
* @returns Promise resolving to SendMessageResponse
*/
export declare function sendMessage(payload: Expand<SendMessageRequest>): Promise<SendMessageResponse>;
/**
* Send bulk messages directly without instantiating MessageService.
* @param payload SendBulkMessageRequest payload
* @returns Promise resolving to SendBulkMessageResponse
*/
export declare function sendBulkMessage(payload: Expand<SendBulkMessageRequest>): Promise<SendBulkMessageResponse>;
/**
* Send a template message directly without instantiating TemplatesService.
* @param payload SendTemplateRequest payload
* @returns Promise resolving to SendTemplateResponse
*/
export declare function sendTemplate(payload: Expand<SendTemplateRequest>): Promise<SendTemplateResponse>;
/**
* Send a campaign message directly without instantiating CampaignService.
* @param payload SendCampaignRequest payload
* @returns Promise resolving to SendCampaignResponse
*/
export declare function sendCampaign(payload: Expand<SendCampaignRequest>): Promise<SendCampaignResponse>;
export declare function fetchCampaignHistory(campaignId: string): Promise<any>;
export declare function retryCampaign(campaignId: string): Promise<any>;
export declare function fetchContacts(phonebookId: string): Promise<any>;
export declare function addContact(phonebookId: string, contact: any): Promise<any>;
export declare function uploadContacts(request: any): Promise<any>;
export declare function deleteContact(contactId: string): Promise<any>;
export declare function fetchPhonebooks(): Promise<any>;
export declare function createPhonebook(payload: any): Promise<any>;
export declare function updatePhonebook(phonebookId: string, payload: any): Promise<any>;
export declare function deletePhonebook(phonebookId: string): Promise<any>;
/**
* Fetch sender IDs directly without instantiating SenderIdService.
* @param page Page number
* @returns Promise resolving to sender IDs response
*/
export declare function fetchSenderIds(page: number): Promise<SenderIdRequestResponse>;
/**
* Request new sender ID directly without instantiating SenderIdService.
* @param payload SenderIdReqParam
* @returns Promise resolving to sender ID request response
*/
export declare function requestSenderId(payload: Expand<SenderIdReqParam>): Promise<SenderIdRequestResponse>;
/**
* Send OTP token directly without instantiating TokenService.
* @param payload SendTokenRequest
* @returns Promise resolving to SendTokenResponse
*/
export declare function sendToken(payload: Expand<SendTokenRequest>): Promise<SendTokenResponse>;
/**
* Send OTP token directly without instantiating TokenService.
* @param payload SendEmailTokenRequest
* @returns Promise resolving to SendEmailTokenResponse
*/
export declare function sendEmailToken(payload: Expand<SendEmailTokenRequest>): Promise<SendEmailTokenResponse>;
/**
* Verify token directly without instantiating TokenService.
* @param payload VerifyTokenRequest
* @returns Promise resolving to VerifyTokenResponse
*/
export declare function verifyToken(payload: Expand<VerifyTokenRequest>): Promise<Expand<VerifyTokenResponse>>;
/**
* Generate inApp token directly without instantiating TokenService.
* @param payload InAppTokenRequest
* @returns Promise resolving to InAppTokenResponse
*/
export declare function generateToken(payload: Expand<InAppTokenRequest>): Promise<Expand<InAppTokenResponse>>;
/**
* Send voice OTP token directly without instantiating TokenService.
* @param payload VoiceTokenRequest
* @returns Promise resolving to VoiceTokenResponse
*/
export declare function sendVoiceToken(payload: Expand<import("../../types/tokenService.type").VoiceTokenRequest>): Promise<import("../../types/tokenService.type").VoiceTokenResponse>;
/**
* Send voice call OTP token directly without instantiating TokenService.
* @param payload VoiceCallRequest
* @returns Promise resolving to VoiceCallResponse
*/
export declare function sendVoiceCall(payload: Expand<import("../../types/tokenService.type").VoiceCallRequest>): Promise<import("../../types/tokenService.type").VoiceCallResponse>;
/**
* Fetch account balance directly without instantiating InsightService.
* @returns Promise resolving to BalanceResponse
*/
export declare function getBalance(): Promise<BalanceResponse>;
/**
* Authenticate with API key to get a bearer token directly without instantiating EsimService.
* @param payload AuthenticateRequest
* @returns Promise resolving to AuthenticateResponse
*/
export declare function authenticateEsim(payload: Expand<AuthenticateRequest>): Promise<AuthenticateResponse>;
/**
* Fetch eSIM plans directly without instantiating EsimService.
* @param payload FetchPlansRequest
* @returns Promise resolving to FetchPlansResponse
*/
export declare function fetchEsimPlans(payload: Expand<EsimPlanRequest>): Promise<EsimPlanResponse>;
/**
* Create (provision) a new eSIM directly without instantiating EsimService.
* @param payload CreateEsimRequest
* @returns Promise resolving to CreateEsimResponse
*/
export declare function createEsim(payload: Expand<CreateEsimRequest>): Promise<CreateEsimResponse>;
/**
* Get QR code for activating an eSIM directly without instantiating EsimService.
* @param iccid eSIM ICCID string
* @returns Promise resolving to QrCodeResponse
*/
export declare function getEsimQrCode(iccid: string): Promise<QrCodeResponse>;
/**
* Get usage details of an eSIM directly without instantiating EsimService.
* @param iccid eSIM ICCID string
* @returns Promise resolving to UsageResponse
*/
export declare function getEsimUsage(iccid: string): Promise<UsageResponse>;
/**
* Fetch list of provisioned eSIMs directly without instantiating EsimService.
* @param page Page number (default 0)
* @param size Page size (default 15)
* @returns Promise resolving to FetchEsimsResponse
*/
export declare function fetchEsims(page?: number, size?: number): Promise<FetchEsimsResponse>;
export {};
//# sourceMappingURL=direct.d.ts.map