Envio de SMS em PHP: Bibliotecas de API para Integração Rápida
O envio de mensagens SMS continua sendo uma das formas mais confiáveis de notificar usuários: confirmação de pedido, autenticação de dois fatores, lembretes de eventos. Para PHP, existem várias bibliotecas prontas que simplificam o trabalho com provedores de SMS através de suas APIs. Neste artigo, veremos soluções populares, formas de instalá-las e exemplos de código para envio de mensagens.
Por que usar uma biblioteca para enviar SMS?
Trabalhar manualmente com requisições HTTP para a API do gateway SMS exige escrever uma grande quantidade de código padrão: criação de cabeçalhos, tratamento de erros, manipulação de JSON/XML, verificação de status. Uma biblioteca pronta assume essas tarefas, fornecendo uma interface limpa e orientada a objetos. Isso acelera o desenvolvimento e reduz a probabilidade de erros.
Bibliotecas populares para envio de SMS em PHP
A escolha da biblioteca depende do provedor de SMS utilizado. Vejamos duas opções populares:
- Twilio PHP SDK – biblioteca oficial para trabalhar com Twilio. Suporta envio de SMS, chamadas de voz, verificação de número.
- SMS Aero PHP SDK – biblioteca para o serviço russo SMS Aero. Permite enviar mensagens, verificar saldo, obter estatísticas.
Instalação via Composer
A maioria das bibliotecas PHP modernas é instalada via Composer. Execute no terminal:
composer require twilio/sdkPara SMS Aero:
composer require sms-aero/sms-aero-phpApós a instalação, inclua o autoloader no seu script:
require_once 'vendor/autoload.php';Exemplo de envio de SMS via Twilio
Para trabalhar com Twilio, você precisará do Account SID e do Auth Token (disponíveis no console do Twilio). Exemplo de código:
<?phprequire_once 'vendor/autoload.php';
use Twilio\\Rest\\Client;
$sid = "seu_account_sid";$token = "seu_auth_token";$twilio = new Client($sid, $token);
$message = $twilio->messages ->create( "+71234567890", // número do destinatário [ "from" => "+12345678901", // número do remetente (comprado na Twilio) "body" => "Olá! Este é um SMS de teste do PHP." ] );
echo "Mensagem enviada. ID: " . $message->sid;?>Em caso de sucesso, o método create() retorna um objeto com informações sobre a mensagem. Em caso de erro, uma exceção TwilioException é lançada.
Exemplo de envio de SMS via SMS Aero
Para o serviço russo SMS Aero, serão necessários email e chave de API. Exemplo:
<?phprequire_once 'vendor/autoload.php';
use SmsAero\\SmsAeroClient;
$client = new SmsAeroClient('seu_email@example.com', 'sua_chave_api');
try { $response = $client->sendSms( '71234567890', 'Texto da mensagem', 'SENDER_NAME' // nome do remetente registrado no serviço ); echo "SMS enviado. ID: " . $response->id;} catch (Exception $e) { echo "Erro: " . $e->getMessage();}?>O método sendSms() retorna um objeto de resposta contendo o status de entrega, o ID da mensagem e o saldo.
Principais recursos das bibliotecas
- Envio de SMS individuais e em massa – é possível enviar uma única mensagem ou uma lista de números.
- Verificação de status de entrega – consulta de status pelo ID da mensagem.
- Gerenciamento de remetentes – registro e seleção do nome do remetente.
- Trabalho com modelos – para alguns provedores, é possível usar modelos de mensagens predefinidos.
- Saldo e estatísticas – obtenção do saldo atual e relatórios