Tutorial PHP per inviare messaggi WhatsApp da CSV

10 luglio 2024

Vuoi rendere la comunicazione aziendale su WhatsApp più efficace? Questo tutorial ti mostrerà come inviare messaggi ai numeri di telefono memorizzati in un file CSV / Excel usando PHP, l'estensione PECL HTTP e le Wassenger API. Imparerai a leggere i numeri di telefono e i messaggi dal file CSV e inviarli automaticamente tramite il tuo numero WhatsApp connesso a Wassenger.

🫣 Non vuoi usare la programmazione? Nessun problema! Esplora la nostra nuova funzionalità no-code WhatsApp Campaigns. Importa i tuoi contatti, definisci un messaggio, imposta una data di invio e rilassati! 🥳 🥳

Questo articolo offre una panoramica rapida delle funzionalità delle Wassenger API.

Consulta altri casi d'uso ed esempi di codice pronti all'uso per vedere come puoi migliorare la tua comunicazione e strategia di marketing su WhatsApp.

Prerequisiti

  • Conoscenze di base di PHP
  • PHP 7.4 o superiore installato sul tuo computer
  • Un editor di testo per scrivere codice (es.: Visual Studio Code, Atom, Vim)
  • Un token API Wassenger (puoi ottenerlo registrandoti gratuitamente qui)
  • Estensione pecl_http installata per il networking HTTP in PHP

🤩 🤖 Wassenger è una piattaforma di comunicazione completa e una soluzione API per WhatsApp. Esplora oltre 100+ casi d'uso API e automatizza qualsiasi cosa su WhatsApp registrandoti per una prova gratuita e iniziare in pochi minuti**!**

Installa i pacchetti richiesti

Per prima cosa, crea una nuova cartella per il tuo progetto e spostati al suo interno nel terminale. Poi esegui i seguenti comandi per installare le librerie necessarie:

pecl install pecl_http

Crea il file CSV

Crea un nuovo file chiamato numbers.csv nella directory del progetto con due colonne:

  1. Prima colonna: numero di telefono in formato E164 con prefisso internazionale.
  2. Seconda colonna: messaggio di testo da inviare al numero di destinazione.

Il foglio di calcolo dovrebbe apparire così:

Il documento del foglio di calcolo equivalente esportato come CSV dovrebbe apparire così:

(+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! 🤗");

Puoi esportare qualsiasi documento Office Excel o Google Sheets come file CSV seguendo queste istruzioni:

🤩 🤖 Wassenger è una piattaforma di comunicazione completa e una soluzione API per WhatsApp. Esplora oltre 100+ casi d'uso API e automatizza qualsiasi cosa su WhatsApp registrandoti per una prova gratuita e iniziare in pochi minuti**!**

Crea un file con il codice

Crea un nuovo file chiamato send_messages.php nella directory del progetto e aggiungi il seguente codice:

<?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);
?>

Esegui e prova il codice nel cloud senza installare nulla sul tuo computer. Crea un account gratuito su Replit e inizia in pochi minuti.

Sostituisci il token API

Nel file send_messages.php assicurati di aver definito il token API del tuo account Wassenger reale:

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

Opzionalmente, se hai più numeri WhatsApp collegati al tuo account Wassenger, puoi specificare quale numero WhatsApp vuoi usare per l'invio dei messaggi specificando l'ID univoco del dispositivo Wassenger (valore esadecimale di 24 caratteri) nella seguente riga:

// 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 è una soluzione API completa per WhatsApp. Registrati per una prova gratuita di 7 giorni e inizia in pochi minuti!

Esegui il programma

Prima di eseguire il programma, se prevedi di inviare centinaia di messaggi di seguito, consigliamo di impostare una velocità di consegna dei messaggi più bassa, non più di 2–3 messaggi al minuto, per prevenire problemi di blocco dovuti alle politiche anti-spam di WhatsApp. Scopri di più sulle best practice e su come ridurre il rischio qui.

Apri un terminale nella directory del progetto ed esegui il seguente comando per avviare lo script send_messages.php:

php send_messages.php

Se tutto è configurato correttamente, dovresti vedere un output che indica che i messaggi sono stati creati correttamente:

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

Nota: i messaggi verranno aggiunti alla coda di invio del tuo numero e consegnati in modo asincrono in background nel tempo, basandosi sul limite di velocità di consegna messaggi al minuto del tuo numero o sulla velocità di consegna configurata manualmente nelle impostazioni del numero.

I messaggi potrebbero impiegare diversi minuti o ore, a seconda di quanti ne hai creati, per essere effettivamente recapitati ai numeri di telefono di destinazione tramite WhatsApp. Puoi monitorare l'avanzamento della consegna dei messaggi nel pannello web o automaticamente utilizzando gli eventi webhook.

Conclusione

In questo tutorial hai imparato come inviare messaggi ai numeri di telefono memorizzati in un file CSV usando PHP, l'estensione PECL HTTP e le Wassenger API.

Puoi aggiornare il file numbers.csv ed eseguire di nuovo il programma ogni volta che desideri inviare nuovi messaggi tramite il tuo numero WhatsApp connesso a Wassenger.

Puoi personalizzare ulteriormente lo script per gestire colonne aggiuntive, creare diversi tipi di messaggi o integrarlo con il tuo software secondo necessità.

🤩 🤖 Wassenger è una soluzione API completa per WhatsApp. Registrati per una prova gratuita di 7 giorni e inizia in pochi minuti!

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free