Skip to content
Back to Blog

Enviar Mensagens Para Grupos do WhatsApp Usando PHP

Este tutorial vai ensinar como enviar mensagens para grupos do WhatsApp usando a API.

Se você está coordenando um projeto, construindo uma comunidade ou gerenciando o suporte ao cliente, Wassenger facilita reunir pessoas em torno de interesses e objetivos em comum. Com Wassenger, você pode gerenciar e engajar seus grupos do WhatsApp, mantendo todos conectados e informados.

A poderosa API do Wassenger e suas ferramentas de automação aumentam a conveniência e a acessibilidade dos grupos do WhatsApp, garantindo a melhor comunicação e colaboração. Compartilhe mensagens de texto, vídeos, imagens e notas de voz em um ambiente dinâmico para troca de ideias e atualizações em tempo real. Com Wassenger, manter-se conectado com sua comunidade nunca foi tão eficiente ou eficaz.

Ensinaremos você em alguns passos simples:

🤩 🤖 Wassenger é uma plataforma completa de comunicação e solução de API para o WhatsApp. Explore mais de 100 casos de uso da API e automatize qualquer coisa no WhatsApp inscrevendo-se para um teste gratuito e começando em minutos!

Se você precisa enviar mensagens a partir de código, pode usar qualquer linguagem de programação para realizar requisições HTTPS à API. Abaixo está o testador de API ao vivo com exemplos de código prontos para uso em várias linguagens de programação.

Requisitos

  • Ter um número do WhatsApp já vinculado à plataforma e online.
  • ID do grupo do WhatsApp (WID) que você pode encontrar de duas maneiras:

Como obter o ID do grupo do WhatsApp

Você pode obter o ID do grupo do WhatsApp usando um destes métodos:

  1. Web: vá para configurações do número > Grupos > Copie o WID do grupo.
  2. API: consulte os grupos disponíveis no seu número usando este endpoint.

Endpoint da API

Usaremos o seguinte endpoint da API para enviar mensagens a um grupo:

🖥️ Procurando um exemplo de código? Acesse o testador ao vivo da API e obtenha exemplos de código prontos para uso em mais de 15 linguagens de programação, incluindo Python, JavaScript, PHP, C#, Java, Ruby, Go, Powershell, cURL e mais.

Enviar mensagens automatizadas com PHP

  • 🔑 Configuração: A chave da API, o ID do grupo e a mensagem são armazenados em variáveis.
  • 🛠️ Cliente e Requisição: Um http\Client e um http\Client\Request.
  • 📝 Corpo: O corpo da mensagem é criado como um objeto JSON e anexado ao body da requisição.
  • 🔒 Cabeçalhos: Cabeçalhos para Content-Type e Token são adicionados à requisição.
  • 📤 Enviando a Requisição: A requisição é enfileirada e enviada. A resposta é verificada quanto ao sucesso, e mensagens apropriadas são impressas com base no status da resposta.
// Examples requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://pecl.php.net/package/pecl_http/3.2.0
<?php
$client = new http\Client();
$request = new http\Client\Request();
$body = new http\Message\Body();
$body->append(
  json_encode([
    'group' => '1203630298136324@g.us',
    'message' => 'Sample group message',
  ])
);
$request->setRequestUrl('https://api.wassenger.com/v1/messages');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
  'Content-Type' => 'application/json',
  'Token' => 'API_TOKEN_GOES_HERE',
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();

🤩 🤖 Wassenger é uma solução completa de API para o WhatsApp. Inscreva-se para um teste gratuito de 7 dias e comece em minutos!

Enviar mensagens automatizadas com PHP (cURL)

  • 📲 Variáveis dinâmicas: A chave da API, o ID do grupo e a mensagem são armazenados em variáveis.
  • ⚙️ Configuração do cURL: curl_setopt_array é usado para configurar as opções do cURL, incluindo a URL, cabeçalhos, método da requisição e o corpo da requisição.
  • 💻 Codificação JSON: O payload é criado usando json_encode para incorporar variáveis dinâmicas.
  • ⚠️ Execução e tratamento de erros: curl_exec executa a requisição, e quaisquer erros são capturados com curl_error. A resposta ou o erro é então exibido.
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'message' => 'Sample group message',
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Enviar imagens para um chat de grupo com PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'message' => 'This is a caption for an image message',
    'media' => [
      'url' => 'https://picsum.photos/seed/picsum/600/400',
      'viewOnce' => null,
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Enviar vídeos para um chat de grupo com PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'message' => 'This is a caption for a video message',
    'media' => [
      'url' => 'https://download.samplelib.com/mp4/sample-5s.mp4',
      'viewOnce' => null,
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Enviar áudio para um chat de grupo com PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'media' => [
      'url' => 'https://download.samplelib.com/mp3/sample-9s.mp3',
      'format' => 'ptt',
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

Enviar um documento para um chat de grupo com PHP (cURL)

<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => json_encode([
    'group' => '120363029813632@g.us',
    'media' => [
      'url' => 'https://www.africau.edu/images/default/sample.pdf',
      'expiration' => '30d',
    ],
  ]),
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: API_TOKEN_GOES_HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}

🤩 🤖 Wassenger é uma solução completa de API para o WhatsApp. Inscreva-se para um teste gratuito de 7 dias e comece em minutos!

Teste de API ao vivo

Você pode testar ao vivo e brincar com a API diretamente do seu navegador.

Quando terminar de testar, obtenha o exemplo de código gerado automaticamente na sua linguagem de programação preferida e você estará pronto para usar.

Experimente agora o nosso testador API-Live

🤩 🤖 Wassenger é uma plataforma completa de comunicação e solução de API para o WhatsApp. Explore mais de 100 casos de uso da API e automatize qualquer coisa no WhatsApp inscrevendo-se para um teste gratuito e começando em minutos!

FAQ

Posso usar o Wassenger para enviar mensagens de marketing?

Como você deve saber, o WhatsApp tem políticas rígidas sobre o envio de mensagens de marketing não solicitadas, conteúdo ilícito ou spam.

Enviar mensagens de marketing ou qualquer mensagem não solicitada para usuários não é permitido e colocaria seu número do WhatsApp em alto risco de ser banido.

A comunicação pelo WhatsApp não é adequada para todos os casos de negócios, portanto recomendamos projetar uma estratégia de comunicação legítima e aprovada pelo usuário para evitar problemas.

Por favor, leia nossas diretrizes com melhores práticas de comunicação e como prevenir o banimento.

Como enviar mensagens para vários números de telefone 📲

Você precisa enviar várias requisições à API, uma por número de telefone alvo.

Por exemplo, para enviar uma mensagem para 10 números de telefone, você deve enviar 10 requisições HTTPS independentes para a API.

Não existe opção para enviar múltiplas mensagens em uma única requisição da API.

Como validar se um número de telefone pode receber mensagens do WhatsApp 📳

Você pode validar se um determinado número de telefone está vinculado a uma conta do WhatsApp e pode receber mensagens.

A API fornece um endpoint que pode validar se um determinado número de telefone existe no WhatsApp ou não.

O único requisito é ter pelo menos um número do WhatsApp conectado à plataforma na sua conta atual.

Para mais detalhes, por favor consulte a documentação do endpoint da API aqui.

Antes de verificar se um número de telefone existe no WhatsApp, você também pode validar e normalizar o formato de uma lista de números de telefone usando o endpoint de validação de números da API. Este endpoint apenas valida o formato correto E.164, mas não verifica se o número de telefone efetivamente existe no WhatsApp.

Nota: O número de verificações de existência no WhatsApp é limitado por mês com base no seu plano de assinatura. Por favor, consulte a tabela de preços para mais detalhes sobre os limites.

Procurando mais respostas? Consulte as FAQs estendidas.

Recursos úteis adicionais

Documentação da API 🖥️

Para mais detalhes sobre o endpoint da API, por favor consulte a documentação onde você encontrará todos os detalhes sobre os parâmetros aceitos na requisição, possíveis respostas de sucesso ou erro e exemplos de código prontos para uso em múltiplas linguagens de programação:

https://app.wassenger.com/docs/#tag/Messages/operation/createMessage

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger.

Browse more

Tutorials, guides and case studies on running WhatsApp at team scale.

Ready for the official WhatsApp Business API?See what Meta charges — and keep your current number.
WhatsApp API pricing