Enviando Texto Com API do WhatsApp com PHP

API do WhatsApp com Guzzle: guia rápido para PHP

API do WhatsApp com Guzzle permite disparar mensagens diretamente do seu código PHP.
Primeiramente, você verá um exemplo funcional; logo depois, explicarei como obter credenciais,
em seguida, apresentarei os limites gratuitos e, por fim, indicarei boas práticas de segurança.

O que veremos neste tutorial

  1. Vantagens de usar a API do WhatsApp
  2. Pré‑requisitos e instalação
  3. Criando sms.php
  4. Credenciais na plataforma APIBrasil
  5. Código PHP passo a passo
  6. Teste rápido via terminal
  7. Limites do plano gratuito
  8. Boas práticas para produção
  9. Segurança e links úteis
  10. Perguntas frequentes

1. Por que integrar o WhatsApp pelo Guzzle?

Em primeiro lugar, o WhatsApp possui altíssima taxa de leitura; do mesmo modo,
o endpoint JSON facilita automações em Laravel ou Symfony.
Além disso, a APIBrasil mantém documentação clara — consulte em
docs.apibrasil.com.br.
por tanto, você reduz tempo de desenvolvimento e entrega valor mais rápido.

2. Pré‑requisitos e instalação do Guzzle

  • PHP 8.1 ou superior;
  • Composer (download);
  • Conta ativa na APIBrasil;
  • Tokens DeviceToken e BearerToken.

Depois disso, execute o comando abaixo para instalar o Guzzle:

composer require guzzlehttp/guzzle

3. Criando o arquivo whatsapp.php

A partir deste ponto, basta abrir seu editor favorito e colar o snippet mostrado na próxima seção.

4. Obtendo credenciais na APIBrasil

Para começar, faça login no painel, abra Minhas APIs → API do WhatsApp e copie os tokens.
Logo em seguida, exporte‑os em variáveis de ambiente; dessa maneira, você evita vazamentos.

5. Código PHP passo a passo

<?php
require_once __DIR__.'/vendor/autoload.php';

use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;

// Instância do cliente HTTP
$client = new Client(['base_uri' => 'https://gateway.apibrasil.io', 'timeout' => 10]);

// Cabeçalhos com credenciais
$headers = [
    'Content-Type' => 'application/json',
    'DeviceToken'  => getenv('DEVICE_TOKEN'),
    'Authorization'=> 'Bearer '.getenv('BEARER_TOKEN'),
];

// Corpo da requisição
$body = json_encode([
    'number'      => '5531994359434',
    'text'        => 'Olá, APIBrasil!',
    'time_typing' => 1
]);

// Envio do POST
$request  = new Request('POST', '/api/v2/whatsapp/sendText', $headers, $body);
$response = $client->send($request);

// Exibe resposta
echo $response->getBody();

6. Testando via terminal

Assim que salvar o arquivo, execute php whatsapp.php.
Se tudo ocorrer conforme o esperado, a mensagem chegará ao seu WhatsApp em poucos segundos.

7. Limites do plano gratuito

Atualmente, o plano free libera 100 requisições diárias;
por esse motivo, você consegue validar MVPs sem gastar nada.
lembre-se de consultar se o plano gratuito ainda está disponível

8. Boas práticas de produção

  • Use filas em grandes volumes. Dessa forma, absorve picos de tráfego.
  • Implemente retry exponencial em erros HTTP 5xx. Além disso, registre falhas para auditoria.
  • Rotacione tokens a cada 90 dias. Consequentemente, eventuais vazamentos terão impacto reduzido.

9. Segurança e links úteis

Contudo, nunca faça commit do BearerToken.
Portanto, utilize um cofre de segredos, como
HashiCorp Vault.
Além disso, confira nosso
guia interno de segurança.

10. Perguntas frequentes

Quantas mensagens por minuto?

Até 5 envios/minuto no plano gratuito.

Posso mandar imagens?

Sim, use o endpoint sendImage.

Conclusão

Por fim, integrar a API do WhatsApp via Guzzle em PHP é simples e seguro.
Agora que você tem o código pronto e conhece as melhores práticas,
implemente a solução e melhore a comunicação com seus usuários.