Enviar Mensagens Para Grupos do WhatsApp Usando PHP

24 de julho de 2024

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

Get Started Free