UNPKG

@davidbolaji/termii-node

Version:

Node.js SDK for Termii API – send SMS, voice, OTP, and manage messaging with ease.

148 lines 7.59 kB
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