# 🇦🇴 KambaSMS PHP SDK
SDK oficial e leve da **KambaSMS** para integração de envio de mensagens SMS em Angola. Desenvolvido com tipagem forte (PHP 8.0+) e **zero dependências externas** (utiliza cURL nativo), garantindo máxima compatibilidade e performance.
## ✨ Funcionalidades
- 🚀 **Zero Dependências**: Não obriga a instalar pacotes pesados como Guzzle. Usa o cURL nativo do PHP.
- 🛡️ **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 PHP 8.0+ com retorno de arrays estruturados.
- 📦 **MVP Completo**: Envio único, envio em massa, agendamento e gestão de saldo/histórico.
## 📦 Instalação
Instala o pacote via Composer:
```bash
composer require kambasms/php-sdk
```
**Nota:** Requer PHP **8.0** ou superior e a extensão `curl` ativada (ativada por padrão na maioria dos servidores).
## ⚡ Início Rápido
### 1. Inicialização
Obtém a tua chave API no Dashboard da KambaSMS e inicializa o cliente:
```php
sms->send([
'to' => '+244923456789',
'text' => 'O seu código de verificação é 1234. Não partilhe com ninguém.',
'sender_id' => 'KAMBA' // Opcional: se omitido, usa o Sender ID da tua API Key
]);
echo "✅ SMS Enviado com sucesso!\n";
echo "ID da Mensagem: " . $response['message_id'] . "\n";
echo "Saldo Restante: " . $response['remaining_balance'] . "\n";
} catch (KambaValidationException $e) {
echo "Dados inválidos: " . $e->getMessage();
} catch (KambaAPIException $e) {
echo "Erro da API (" . $e->getStatusCode() . "): " . $e->getMessage();
}
```
### 3. Envio em Massa (Bulk)
Ideal para campanhas de marketing ou notificações para múltiplos contactos (máximo de 1000 destinatários por pedido).
```php
try {
$response = $client->sms->sendBulk([
'name' => 'Campanha Natal 2024',
'sender_id' => 'PROMO',
'text' => 'Feliz Natal! Aproveite 20% de desconto na sua próxima compra.',
'recipients' => [
'+244923456789',
'+244933123456',
'+244943987654'
]
]);
ec …