Skip to Content
SDKsNode.js / TypeScript

Node.js / TypeScript SDK

Installation

npm install sendafrica # or pnpm add sendafrica

Quick Start

import { SendAfrica } from 'sendafrica'; const client = new SendAfrica({ apiKey: process.env.SENDAFRICA_API_KEY }); const balance = await client.credits.getBalance(); console.log(`Credits available: ${balance.credits}`); const response = await client.sms.send({ to: '+255712345678', message: 'Hello from SendAfrica!', }); console.log(`Message ID: ${response.messageId}`);

API Reference

// Send single SMS const response = await client.sms.send({ to: '+255712345678', message: 'Hello!', }); // Send bulk SMS const response = await client.sms.sendBulk({ recipients: ['+255712345678', '+255787654321'], message: 'Sale announcement!', }); // List contacts const contacts = await client.contacts.list({ listId: '1' }); // Create campaign const campaign = await client.campaigns.create({ name: 'Summer Sale', contactGroupId: '2', message: 'Get 30% off!', });

Error Handling

import { SendAfricaError, AuthenticationError, RateLimitError } from 'sendafrica'; try { const response = await client.sms.send({ to: '+255712345678', message: 'Hello!' }); } catch (error) { if (error instanceof AuthenticationError) { console.error('Invalid API key'); } else if (error instanceof RateLimitError) { console.error('Rate limit exceeded'); } else if (error instanceof SendAfricaError) { console.error(`API error: ${error.message}`); } }

TypeScript Support

Full TypeScript definitions included:

import type { SmsSendResponse, CreditsBalanceResponse, ContactsListResponse } from 'sendafrica';
Last updated on