https://a.storyblok.com/f/270183/55261/c4337ce145/sms-messages_php.png

Envio de mensagens SMS com PHP

Publicado em January 29, 2024

Tempo de leitura: 3 minutos

Este artigo foi atualizado em agosto de 2025

Neste tutorial, vamos enviar mensagens SMS usando o mínimo possível de linhas de código PHP. Primeiro, com um script simples, e depois usando uma estrutura mínima de aplicativo web.

Pré-requisitos

  • PHP 8.1 ou superior

  • Composer, para gerenciamento de pacotes

  • Um Account da API da Vonage

Para concluir este tutorial, você precisará de um Account da API da Vonage.

Como enviar texto usando PHP puro

Vamos começar criando um novo projeto no Composer e incluindo o SDK PHP da Vonage. Na linha de comando, digite o seguinte:

mkdir vonage-sms
cd vonage-sms
composer init

O Composer fará uma série de perguntas — você pode deixar todas as opções nos padrões, já que estamos fazendo apenas o mínimo necessário. O processo deve criar seu composer.json arquivo. Assim, podemos adicionar o SDK PHP da Vonage agora:

composer require vonage/client

Agora, vamos criar nosso script.

touch send-sms.php

Abra o novo arquivo PHP e certifique-se de que o autoload do Composer esteja incluído:

<?php

require_once './vendor/autoload.php';

Para enviar um SMS, precisamos de três coisas:

  • Um conjunto de credenciais obtidas no Painel de Controle da Vonage

  • Um objeto Client

  • Uma mensagem para enviar

Diante disso, eis as linhas finais de código:

$credentials = new \Vonage\Client\Credentials\Basic(YOUR_API_KEY, YOUR_API_SECRET);
$client = new Vonage\Client($credentials);
$message = new Vonage\Messages\Channel\SMS\SMSText(
  YOUR_NUMBER,
  'Vonage',
  'Hello from Vonage!'
);

$client->messages()->send($message);

Insira os dados necessários nos espaços reservados das variáveis constantes e clique em “Enviar”:

Screenshot of a phone device showing the recieved SMSOur SMS has been sent!

Quatro linhas de código é muito bom! A próxima etapa é integrar isso a um framework web básico para que você possa enviar uma mensagem via POST, em vez de codificá-la diretamente, como fizemos acima.

Como enviar SMS usando o Slim Framework

Para o segundo exemplo, vamos usar o Slim Framework, portanto, instale-o com o Composer:

composer require slim/slim:"4".*
composer require slim/psr7

O segundo comando aqui instala a implementação do PSR-7 (Request Interface) do Slim. Vamos criar uma rota que receba uma solicitação POST com um corpo em JSON contendo algum texto.

Aqui está o send-sms.php arquivo:

<?php

use Slim\Psr7\Request;
use Slim\Psr7\Response;

require_once '../vendor/autoload.php';

$app = \Slim\Factory\AppFactory::create();

$app->post('/send', function (Request $request, Response $response) {
   $rawBody = $request->getBody()->getContents();
   $requestData = json_decode($rawBody);
   $text = $requestData->text;

   $credentials = new \Vonage\Client\Credentials\Basic('232130c9', 's09IJad98fa0t9j09ad8fa90s');
   $client = new Vonage\Client($credentials);
   $message = new Vonage\Messages\Channel\SMS\SMSText(
     YOUR_NUMBER,
     'Vonage',
     $text
);

   $client->messages()->send($message);

   $response->getBody()->write("Vonage sent this text!");
   return $response;
});

$app->run();

Em vez de executar esse código, vamos simular o funcionamento usando uma plataforma web; por isso, vamos utilizar o servidor web embutido do PHP para iniciar um ambiente de desenvolvimento a partir da linha de comando:

php -S localhost:8888 -t send-php.php

Para enviar a mensagem, você vai precisar de um cliente de ferramentas HTTP que facilite o envio de solicitações POST — optei pelo Insomnia , mas você também pode usar o o Postman ou até mesmo uma solicitação cURL direta.

Screenshot of Insomnia sending a POST requestAPI Tooling is super helpful

Conclusão

Agora temos uma rota na qual você pode enviar o texto da mensagem a um servidor para que ele conclua o processo. É claro que você pode adicionar chaves adicionais à carga JSON para incluir os números de celular do remetente e do destinatário. Quer criar algo com isso? Confira nossa integração com o Laravel ou leia mais sobre como enviar mensagens com a Messages API no Symfony.

Tem alguma dúvida ou quer compartilhar o que está criando?

Fique conectado e acompanhe as últimas notícias, dicas e eventos para desenvolvedores.

Recursos adicionais

Envio de SMS a partir do PHP com failover: A Padaria Cupcake

Segurança de tipos bem feita — Hacking de arrays em PHP

Mãos à obra! Como limpar seu aplicativo PHP com o PHPStan

SDK do Vonage para PHP

Compartilhar:

https://a.storyblok.com/f/270183/400x385/12b3020c69/james-seconde.png
James SecondePromotor Sênior de Desenvolvimento em PHP

Sou ator formado, com uma dissertação sobre stand-up comedy, e comecei a me dedicar ao desenvolvimento em PHP por meio dos encontros da comunidade. Você pode me encontrar dando palestras e escrevendo sobre tecnologia, ou ouvindo e comprando discos curiosos da minha coleção de vinil.