Tutorial PHP para Enviar Mensagens do WhatsApp a Partir de CSV

10 de julho de 2024

Quer tornar a comunicação do seu negócio no WhatsApp mais eficaz? Este tutorial mostrará como enviar mensagens para números de telefone armazenados em um arquivo CSV / Excel usando PHP, a extensão PECL HTTP e a Wassenger API. Você aprenderá a ler números de telefone e mensagens do arquivo CSV e enviá-las automaticamente através do seu número do WhatsApp conectado ao Wassenger.

🫣 Não quer usar programação? Sem problema! Explore nosso novo recurso sem código WhatsApp Campaigns. Importe seus contatos, defina uma mensagem, agende uma data de envio e relaxe! 🥳 🥳

Este artigo oferece uma visão rápida dos recursos da Wassenger API.

Confira mais casos de uso e exemplos de código prontos para ver como você pode melhorar sua comunicação e estratégia de marketing no WhatsApp.

Pré-requisitos

  • Entendimento básico de PHP
  • PHP 7.4 ou superior instalado no seu computador
  • Um editor de texto para escrever código (ex: Visual Studio Code, Atom, Vim)
  • Um token de API do Wassenger API token (você pode obtê-lo inscrevendo-se gratuitamente aqui)
  • Extensão pecl_http instalada para networking HTTP no PHP

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

Instalar pacotes necessários

Primeiro, crie um novo diretório para seu projeto e navegue até ele no terminal. Em seguida, execute os seguintes comandos para instalar as bibliotecas necessárias:

pecl install pecl_http

Crie o arquivo CSV

Crie um novo arquivo chamado numbers.csv no diretório do projeto com duas colunas:

  1. Primeira coluna: número de telefone no formato E164 com o prefixo do país.
  2. Segunda coluna: mensagem de texto a ser enviada para o número de destino.

A planilha deve ficar assim:

O documento de planilha equivalente exportado como CSV deve ficar assim:

(+1234567890,
  '👋 Welcome to {{your-business-name}}! Thanks for signing up.We are just a message away!' +
    1234567890,
  "💐 Your order has been shipped.Tracking number is {{tracking-number}}.Don't hesitate to reach out to if you need help! 🤗");

Você pode exportar qualquer documento do Office Excel ou Google Sheets como um arquivo CSV seguindo estas instruções:

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

Crie um arquivo com o código

Crie um novo arquivo chamado send_messages.php no diretório do projeto e adicione o seguinte código:

<?php
$csvFile = 'numbers.csv';
// Replace this with your Wassenger API token
// Get your API token here: https://app.wassenger.com/apikeys
$token = 'ENTER API KEY HERE';
// Specify the target WhatsApp device ID connected to Wassenger
// you want to use for messages delivery(24 characters hexadecimal value)
// Obtain it here: https://app.wassenger.com/number/info
$device = 'DEVICE ID GOES HERE';
// Define the headers for the API request
$headers = [
  'Content-Type' => 'application/json',
  'Authorization' => $token,
];
// Define the URL for the Wassenger API
$url = 'https://api.wassenger.com/v1/messages';
function sendMessage($phone, $message, $url, $headers, $device)
{
  $body = [
    'phone' => $phone,
    'message' => $message,
    'device' => $device,
  ];
  $client = new http\Client();
  $request = new http\Client\Request();
  $request->setRequestUrl($url);
  $request->setRequestMethod('POST');
  $request->setBody(json_encode($body));
  $request->setHeaders($headers);
  try {
    $response = $client->send($request);
    if ($response->getResponseCode() == 200) {
      echo "=> Message created: {$phone}\n";
    } else {
      echo "Failed to create message to {$phone}: {$response->getBody()}\n";
    }
  } catch (Exception $error) {
    echo "Error: {$error->getMessage()}\n";
  }
}
function main($csvFile, $url, $headers, $device)
{
  try {
    $file = fopen($csvFile, 'r');
    while (($row = fgetcsv($file)) !== false) {
      list($phone, $message) = $row;
      sendMessage($phone, $message, $url, $headers, $device);
    }
    fclose($file);
  } catch (Exception $err) {
    echo "Error: {$err->getMessage()}\n";
  }
}
main($csvFile, $url, $headers, $device);
?>

Execute e rode código na nuvem sem instalar nenhum software no seu computador. Crie uma conta gratuita no Replit e comece em minutos.

Substitua o token da API

No arquivo send_messages.php, certifique-se de ter definido o token da API da sua conta Wassenger real:

// Replace this with your Wassenger API token
$token = 'ENTER API KEY HERE';

Opcionalmente, se você tiver vários números do WhatsApp conectados na sua conta Wassenger, você pode especificar qual número do WhatsApp deseja usar para a entrega das mensagens especificando o ID único do dispositivo Wassenger (valor hexadecimal de 24 caracteres) na linha a seguir:

// Optionally specify the target WhatsApp device ID connected to Wassenger
// you want to use for messages delivery(24 characters hexadecimal value)
$device = 'DEVICE ID GOES HERE';

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

Execute o programa

Antes de executar o programa, se você pretende enviar centenas de mensagens em sequência, recomendamos definir uma velocidade de envio menor, de no máximo 2–3 mensagens por minuto, para evitar problemas de bloqueio devido às políticas anti-spam do WhatsApp. Saiba mais sobre as melhores práticas e como reduzir o risco aqui.

Abra um terminal no diretório do projeto e execute o seguinte comando para rodar o script send_messages.php:

php send_messages.php

Se tudo estiver configurado corretamente, você verá uma saída indicando que as mensagens foram criadas com sucesso:

=> Message created: +1234567890
=> Message created: +1234567890
=> Message created: +1234567890

Observe que as mensagens serão adicionadas à fila de entrega do seu número e entregues assíncronamente em segundo plano ao longo do tempo, com base no limite de velocidade de entrega de mensagens por minuto da sua assinatura do número ou na velocidade de entrega configurada manualmente nas configurações do seu número.

As mensagens podem levar vários minutos ou horas, dependendo de quantas você criou, para serem efetivamente entregues aos números de telefone de destino via WhatsApp. Você pode monitorar o progresso da entrega das mensagens no painel web ou automaticamente usando eventos de webhook.

Conclusão

Neste tutorial, você aprendeu como enviar mensagens para números de telefone armazenados em um arquivo CSV usando PHP, a extensão PECL HTTP e a Wassenger API.

Você pode atualizar o arquivo numbers.csv e executar o programa novamente sempre que quiser enviar novas mensagens através do seu número do WhatsApp conectado ao Wassenger.

Você também pode personalizar o script para lidar com colunas adicionais, criar diferentes tipos de mensagens ou integrá-lo ao seu software conforme necessário.

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

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free