Tutoriel PHP pour envoyer des messages WhatsApp depuis un CSV

10 juillet 2024

Vous souhaitez rendre la communication de votre entreprise sur WhatsApp plus efficace ? Ce tutoriel vous montrera comment envoyer des messages vers des numéros de téléphone stockés dans un fichier CSV / Excel en utilisant PHP, l’extension PECL HTTP et l’API Wassenger. Vous apprendrez à lire les numéros de téléphone et les messages depuis le fichier CSV et à les envoyer automatiquement via votre numéro WhatsApp connecté à Wassenger.

🫣 Vous ne voulez pas programmer ? Aucun problème ! Découvrez notre nouvelle fonctionnalité sans code WhatsApp Campaigns. Importez vos contacts, définissez un message, choisissez une date de livraison et détendez-vous ! 🥳 🥳

Cet article vous donne un aperçu rapide des fonctionnalités de l’API Wassenger.

Consultez davantage de cas d’utilisation et des exemples de code prêts à l’emploi pour voir comment améliorer votre communication et votre stratégie marketing sur WhatsApp.

Prérequis

  • Connaissances de base en PHP
  • PHP 7.4 ou supérieur installé sur votre machine
  • Un éditeur de texte pour écrire le code (ex : Visual Studio Code, Atom, Vim)
  • Un token API Wassenger API token (vous pouvez l’obtenir en créant un compte gratuit ici)
  • L’extension pecl_http installée pour les requêtes HTTP en PHP

🤩 🤖 Wassenger est une plateforme de communication complète et une solution API pour WhatsApp. Explorez plus de 100 cas d’utilisation API et automatisez tout sur WhatsApp en vous inscrivant pour un essai gratuit et démarrez en quelques minutes**!**

Installer les packages requis

Tout d’abord, créez un nouveau répertoire pour votre projet et placez-vous dedans dans votre terminal. Ensuite, exécutez la commande suivante pour installer la bibliothèque nécessaire :

pecl install pecl_http

Créer le fichier CSV

Créez un nouveau fichier nommé numbers.csv dans le répertoire de votre projet avec deux colonnes :

  1. Première colonne : numéro de téléphone au format E164 format avec le préfixe pays.
  2. Deuxième colonne : message texte à envoyer au numéro cible.

Le document tableur devrait ressembler à ceci :

Le document tableur équivalent exporté en CSV devrait ressembler à ceci :

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

Vous pouvez exporter n’importe quel document Office Excel ou Google Sheets en fichier CSV en suivant ces instructions :

🤩 🤖 Wassenger est une plateforme de communication complète et une solution API pour WhatsApp. Explorez plus de 100 cas d’utilisation API et automatisez tout sur WhatsApp en vous inscrivant pour un essai gratuit et démarrez en quelques minutes**!**

Créer un fichier avec le code

Créez un nouveau fichier nommé send_messages.php dans le répertoire de votre projet et ajoutez le code suivant :

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

Exécutez le code dans le cloud sans installer de logiciel sur votre ordinateur. Créez un compte gratuit sur Replit et démarrez en quelques minutes.

Remplacer le token API

Dans le fichier send_messages.php, assurez-vous d’avoir défini le token API de votre compte Wassenger réel :

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

Optionnellement, si vous avez plusieurs numéros WhatsApp connectés à votre compte Wassenger, vous pouvez spécifier lequel vous souhaitez utiliser pour la livraison des messages en indiquant l’identifiant unique du périphérique Wassenger (valeur hexadécimale de 24 caractères) dans la ligne suivante :

// 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 est une solution API complète pour WhatsApp. Inscrivez-vous pour un essai gratuit de 7 jours et démarrez en quelques minutes !

Exécuter le programme

Avant d’exécuter le programme, si vous prévoyez d’envoyer des centaines de messages d’affilée, nous recommandons de définir une vitesse de livraison plus faible, pas plus de 2–3 messages par minute, afin d’éviter tout risque de blocage dû aux politiques anti-spam de WhatsApp. En savoir plus sur les bonnes pratiques et comment réduire les risques ici.

Ouvrez un terminal dans le répertoire de votre projet et exécutez la commande suivante pour lancer le script send_messages.php :

php send_messages.php

Si tout est correctement configuré, vous devriez voir une sortie indiquant que les messages ont été créés avec succès :

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

Notez que les messages seront ajoutés à la file d’attente de livraison de votre numéro et seront envoyés de manière asynchrone en arrière-plan au fil du temps, en fonction de la limite de vitesse de livraison de messages par minute de votre abonnement ou de la vitesse de livraison manuelle que vous avez configurée dans les paramètres de votre numéro.

Les messages peuvent mettre plusieurs minutes ou heures, selon le volume créé, pour être effectivement délivrés aux numéros cibles via WhatsApp. Vous pouvez suivre la progression de la livraison des messages dans le panneau web ou automatiquement en utilisant les webhook events.

Conclusion

Dans ce tutoriel, vous avez appris comment envoyer des messages vers des numéros de téléphone stockés dans un fichier CSV en utilisant PHP, l’extension PECL HTTP et l’API Wassenger.

Vous pouvez mettre à jour le fichier numbers.csv et relancer le programme à tout moment pour envoyer de nouveaux messages via votre numéro WhatsApp connecté à Wassenger.

Vous pouvez également personnaliser le script pour gérer des colonnes supplémentaires, créer différents types de messages ou l’intégrer à votre logiciel selon vos besoins.

🤩 🤖 Wassenger est une solution API complète pour WhatsApp. Inscrivez-vous pour un essai gratuit de 7 jours et démarrez en quelques minutes !

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free