1. Go to this page and download the library: Download kambasms/php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kambasms / php-sdk example snippets
KambaSMS\KambaSMS;
use KambaSMS\Exceptions\KambaAPIException;
use KambaSMS\Exceptions\KambaValidationException;
$client = new KambaSMS(
apiKey: 'kamba_sua_chave_aqui', // A tua chave (ex: kamba_xxxxx...)
// baseUrl: 'http://localhost:3001' // Opcional: para testes locais
);
try {
$response = $client->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();
}
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'
]
]);
echo "✅ Job de envio em massa criado!\n";
echo "ID do Job: " . $response['job_id'] . "\n";
echo "Total de destinatários: " . $response['total'] . "\n";
} catch (Exception $e) {
echo "Falha no envio em massa: " . $e->getMessage() . "\n";
}
try {
// Agendar para daqui a 2 horas
$dataFutura = new DateTime('+2 hours');
$response = $client->sms->schedule([
'to' => '+244923456789',
'text' => 'Lembrete: A sua consulta está marcada para amanhã.',
'sender_id' => 'CLINICA',
'scheduled_at' => $dataFutura
]);
echo "✅ SMS agendado com sucesso!\n";
echo "ID da Mensagem: " . $response['message_id'] . "\n";
} catch (Exception $e) {
echo "Falha ao agendar o SMS: " . $e->getMessage() . "\n";
}
// Verificar saldo
$balance = $client->account->getBalance();
echo "Saldo atual: " . $balance['balance'] . " SMS\n";
// Ver histórico de envios
// Retorna os últimos 100 registos por padrão
$history = $client->account->getHistory(limit: 10);
print_r($history);
use KambaSMS\KambaSMS;
use KambaSMS\Exceptions\KambaValidationException;
use KambaSMS\Exceptions\KambaAPIException;
$client = new KambaSMS('kamba_...');
try {
$client->sms->send([
'to' => '923456789', // Erro: Falta o +244
'text' => 'Acesse www.kambasms.ao 🚀', // Erro: Tem URL e Emoji
'sender_id' => 'KAMBA'
]);
} catch (KambaValidationException $e) {
// Erro de validação do SDK (o desenvolvedor precisa corrigir os dados)
echo "🚫 Dados inválidos: " . $e->getMessage() . "\n";
} catch (KambaAPIException $e) {
// Erro retornado pelo servidor da KambaSMS (ex: saldo insuficiente, rate limit)
echo "🔌 Erro da API (" . $e->getStatusCode() . "): " . $e->getMessage() . "\n";
// echo "Detalhes: " . print_r($e->getDetails(), true) . "\n";
} catch (Exception $e) {
// Erro de rede (cURL) ou inesperado do PHP
echo "💥 Erro inesperado: " . $e->getMessage() . "\n";
}
// app/Providers/AppServiceProvider.php
public function register()
{
$this->app->singleton(\KambaSMS\KambaSMS::class, function () {
return new \KambaSMS\KambaSMS(
config('services.kambasms.api_key')
);
});
}
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.