PHP-Tutorial zum Senden von WhatsApp-Nachrichten aus CSV

10. Juli 2024

Möchten Sie Ihre Geschäftskommunikation auf WhatsApp effektiver gestalten? Dieses Tutorial zeigt Ihnen, wie Sie Nachrichten an in einer CSV/Excel-Datei gespeicherte Telefonnummern mit PHP, der PECL HTTP-Erweiterung und der Wassenger API senden. Sie lernen, Telefonnummern und Nachrichten aus der CSV-Datei auszulesen und sie automatisch über Ihre mit Wassenger verbundene WhatsApp-Nummer zu versenden.

🫣 Keine Lust zu programmieren? Kein Problem! Entdecken Sie unser neues No-Code-Feature WhatsApp Campaigns. Importieren Sie Ihre Kontakte, definieren Sie eine Nachricht, legen Sie ein Lieferdatum fest und lehnen Sie sich zurück! 🥳 🥳

Dieser Artikel gibt Ihnen einen kurzen Einblick in die Funktionen der Wassenger API.

Sehen Sie sich weitere Anwendungsfälle und einsatzbereite Codebeispiele an, um zu erfahren, wie Sie Ihre WhatsApp-Kommunikation und Marketingstrategie verbessern können.

Voraussetzungen

  • Grundlegende Kenntnisse in PHP
  • PHP 7.4 oder höher auf Ihrem Computer installiert
  • Ein Texteditor zum Schreiben von Code (z. B.: Visual Studio Code, Atom, Vim)
  • Ein Wassenger API token (Sie können diesen hier kostenlos registrieren)
  • Die Erweiterung pecl_http für HTTP-Netzwerkoperationen in PHP installiert

🤩 🤖 Wassenger ist eine vollständige Kommunikationsplattform und API-Lösung für WhatsApp. Entdecken Sie mehr als 100+ API-Anwendungsfälle und automatisieren Sie alles auf WhatsApp, indem Sie sich für eine kostenlose Testversion anmelden und in wenigen Minuten loslegen**!**

Installieren der benötigten Pakete

Erstellen Sie zuerst ein neues Verzeichnis für Ihr Projekt und wechseln Sie im Terminal in dieses Verzeichnis. Führen Sie dann die folgenden Befehle aus, um die notwendigen Bibliotheken zu installieren:

pecl install pecl_http

Erstellen der CSV-Datei

Erstellen Sie in Ihrem Projektverzeichnis eine neue Datei mit dem Namen numbers.csv mit zwei Spalten:

  1. Erste Spalte: Telefonnummer im E164-Format mit Ländervorwahl.
  2. Zweite Spalte: Textnachricht, die an die Zieltelefonnummer gesendet werden soll.

Das Tabellenblatt sollte wie folgt aussehen:

Das entsprechende Tabellenblatt, als CSV exportiert, sollte so aussehen:

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

Sie können jedes Office Excel- oder Google Sheets-Dokument als CSV-Datei exportieren, indem Sie diesen Anleitungen folgen:

🤩 🤖 Wassenger ist eine vollständige Kommunikationsplattform und API-Lösung für WhatsApp. Entdecken Sie mehr als 100+ API-Anwendungsfälle und automatisieren Sie alles auf WhatsApp, indem Sie sich für eine kostenlose Testversion anmelden und in wenigen Minuten loslegen**!**

Erstellen einer Datei mit dem Code

Erstellen Sie in Ihrem Projektverzeichnis eine neue Datei mit dem Namen send_messages.php und fügen Sie den folgenden Code hinzu:

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

Spielen und führen Sie Code in der Cloud aus, ohne Software auf Ihrem Computer installieren zu müssen. Erstellen Sie ein kostenloses Konto bei Replit und legen Sie in wenigen Minuten los.

API-Token ersetzen

Stellen Sie in der Datei send_messages.php sicher, dass Sie das API-Token Ihres tatsächlichen Wassenger-Kontos definiert haben:

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

Optional: Wenn Sie mehrere WhatsApp-Nummern in Ihrem Wassenger-Konto verbunden haben, können Sie angeben, welche WhatsApp-Nummer Sie für die Zustellung der Nachrichten verwenden möchten, indem Sie die eindeutige Wassenger-Geräte-ID (24-stellige hexadezimale Zeichenfolge) in der folgenden Zeile angeben:

// 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 ist eine vollständige API-Lösung für WhatsApp. Melden Sie sich für eine 7‑tägige kostenlose Testversion an und legen Sie in wenigen Minuten los!

Das Programm ausführen

Bevor Sie das Programm ausführen: Wenn Sie planen, Hunderte von Nachrichten hintereinander zu versenden, empfehlen wir, eine geringere Versandgeschwindigkeit von nicht mehr als 2–3 Nachrichten pro Minute zu definieren, um Sperrprobleme aufgrund von Anti-Spam-Richtlinien von WhatsApp zu vermeiden. Erfahren Sie hier mehr über Best Practices und wie Sie das Risiko reduzieren können.

Öffnen Sie ein Terminal in Ihrem Projektverzeichnis und führen Sie den folgenden Befehl aus, um das Skript send_messages.php auszuführen:

php send_messages.php

Wenn alles korrekt eingerichtet ist, sollten Sie Ausgaben sehen, die darauf hinweisen, dass die Nachrichten erfolgreich erstellt wurden:

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

Hinweis: Die Nachrichten werden der Versandwarteschlange Ihrer Nummer hinzugefügt und asynchron im Hintergrund über die Zeit zugestellt, basierend auf dem pro Minute erlaubten Versandlimit Ihres Abonnements oder der manuell konfigurierten Versandgeschwindigkeit, die Sie in den Einstellungen Ihrer Nummer definiert haben.

Nachrichten können je nach Anzahl mehrere Minuten oder Stunden benötigen, bis sie tatsächlich an die Zieltelefonnummern über WhatsApp zugestellt werden. Sie können den Fortschritt der Nachrichtenzustellung im Web-Panel überwachen oder automatisch mithilfe von Webhook-Ereignissen.

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie Nachrichten an in einer CSV-Datei gespeicherte Telefonnummern mithilfe von PHP, der PECL HTTP-Erweiterung und der Wassenger API senden.

Sie können die Datei numbers.csv aktualisieren und das Programm jederzeit erneut ausführen, wenn Sie neue Nachrichten über Ihre mit Wassenger verbundene WhatsApp-Nummer senden möchten.

Sie können das Skript weiter anpassen, um zusätzliche Spalten zu verarbeiten, verschiedene Nachrichtentypen zu erstellen oder es nach Bedarf in Ihre Software zu integrieren.

🤩 🤖 Wassenger ist eine vollständige API-Lösung für WhatsApp. Melden Sie sich für eine 7‑tägige kostenlose Testversion an und legen Sie in wenigen Minuten los!

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free