# 🇦🇴 KambaSMS Node.js SDK
SDK oficial e leve da **KambaSMS** para integração de envio de mensagens SMS em Angola. Desenvolvido em TypeScript, com validações nativas para garantir a conformidade com as regras das operadoras angolanas (Unitel, Africell, Movicel).
## ✨ Funcionalidades
- 🚀 **Leve e Rápido**: Utiliza a API `fetch` nativa do Node.js (sem dependências pesadas como `axios`).
- 🛡️ **Validação no Cliente**: Deteta números inválidos, URLs ou emojis *antes* de fazer a chamada à API, poupando tempo e créditos.
- 💎 **Totalmente Tipado**: Suporte nativo a TypeScript para melhor experiência de desenvolvimento (DX).
- 📦 **MVP Completo**: Envio único, envio em massa, agendamento e gestão de saldo/histórico.
## 📦 Instalação
Instala o pacote via npm ou yarn:
```bash
npm install kambasms
# ou
yarn add kambasms
```
Nota: Requer Node.js v18.0.0 ou superior.
## ⚡ Início Rápido
### 1. Inicialização
Obtém a tua chave API no Dashboard da KambaSMS e inicializa o cliente.
#### CommonJS (Node.js tradicional)
```javascript
const { KambaSMS } = require('kambasms');
const client = new KambaSMS({
apiKey: process.env.KAMBA_API_KEY, // A tua chave (ex: kamba_xxxxx...)
// baseUrl: '
localhost' // Opcional: para testes locais
});
```
#### ES Modules / TypeScript
```typescript
import { KambaSMS } from 'kambasms';
const client = new KambaSMS({
apiKey: process.env.KAMBA_API_KEY, // A tua chave (ex: kamba_xxxxx...)
// baseUrl: '
localhost' // Opcional: para testes locais
});
```
### 2. Enviar um SMS Único
```javascript
async function enviarSMS() {
try {
const response = await client.sms.send({
to: '+244923456789',
text: 'O seu código de verificação é 1234. Não partilhe com ninguém.',
senderId: 'KAMBA' // Opcional: usa o Sender ID da tua API Key se omitido
});
console.log('✅ SMS enviado com sucesso!');
console.log('ID da mensagem:', response.message_id);
console.log('Saldo restante:', response.remaining_balance);
} catch (error) {
console.error('F …