WhatsApp-Client-Komponente: sgcSocial | eSeGeCe

WhatsApp-Client

TsgcWhatsApp_Client spricht mit der WhatsApp Business Cloud API, der Meta Graph API für WhatsApp. Sende Text, Medien, Standorte, Kontakte, Reaktionen, interaktive Listen und Buttons sowie genehmigte Vorlagen, und empfange Antworten und Zustellstatus über den integrierten Webhook-Server. Dieselbe Komponente und dieselbe API in Delphi und C++ Builder.

TsgcWhatsApp_Client

Kopiere die Phone Number ID und das Zugriffstoken aus deiner Meta-Anwendung in WhatsAppOptions, rufe die SendMessage...-Methoden auf und starte dann mit StartServer den Webhook, der Antworten empfängt.

Komponentenklasse

TsgcWhatsApp_Client

API

WhatsApp Business Cloud API (Meta Graph API)

Transport

Reines HTTPS, alle Delphi-Plattformen

Sprachen

Delphi, C++ Builder

Auch in sgcWebSockets enthalten. Der WhatsApp-Client ist außerdem ab der sgcWebSockets Edition Professional enthalten. sgcSocial ist das eigenständige Paket, die sgcWebSockets Core Runtime ist darin enthalten.

Text senden, Antwort empfangen

Setze WhatsAppOptions.PhoneNumberId und Token, sende einen Text und starte dann den Webhook-Server, damit Meta eingehende Nachrichten zustellen kann. TsgcWhatsApp_Client ist in der sgcLibs-Unit deklariert.

uses
  sgcLibs;

var
  WhatsApp: TsgcWhatsApp_Client;
begin
  WhatsApp := TsgcWhatsApp_Client.Create(nil);
  WhatsApp.WhatsAppOptions.PhoneNumberId := '123456789012345';
  WhatsApp.WhatsAppOptions.Token := 'EAAG...';

  WhatsApp.SendMessageText('+34666555444', 'hello from Delphi');

  // webhook server: receive messages and status updates
  WhatsApp.ServerOptions.Port := 443;
  WhatsApp.ServerOptions.SSL := True;
  WhatsApp.ServerOptions.SSLOptions.CertFile := 'cert.pem';
  WhatsApp.ServerOptions.SSLOptions.KeyFile  := 'key.pem';
  WhatsApp.ServerOptions.SSLOptions.Port := 443;
  WhatsApp.OnMessageReceived := WhatsAppMessageReceived;
  WhatsApp.StartServer;
end;

procedure TForm1.WhatsAppMessageReceived(Sender: TObject;
  const aMessage: TsgcWhatsApp_Receive_Message;
  var aMarkAsRead: Boolean);
begin
  Memo1.Lines.Add(aMessage.RawMessage);
  aMarkAsRead := True;
end;
// include: sgcLibs.hpp

TsgcWhatsApp_Client *WhatsApp = new TsgcWhatsApp_Client(this);
WhatsApp->WhatsAppOptions->PhoneNumberId = "123456789012345";
WhatsApp->WhatsAppOptions->Token = "EAAG...";

WhatsApp->SendMessageText("+34666555444", "hello from Delphi");

// webhook server: receive messages and status updates
WhatsApp->ServerOptions->Port = 443;
WhatsApp->ServerOptions->SSL = true;
WhatsApp->ServerOptions->SSLOptions->CertFile = "cert.pem";
WhatsApp->ServerOptions->SSLOptions->KeyFile  = "key.pem";
WhatsApp->ServerOptions->SSLOptions->Port = 443;
WhatsApp->OnMessageReceived = WhatsAppMessageReceived;
WhatsApp->StartServer();

void __fastcall TForm1::WhatsAppMessageReceived(TObject *Sender,
    TsgcWhatsApp_Receive_Message * const aMessage, bool &aMarkAsRead)
{
  Memo1->Lines->Add(aMessage->RawMessage);
  aMarkAsRead = true;
}

Wichtige Eigenschaften & Methoden

Die Member, zu denen du am häufigsten greifst.

Cloud-API-Zugangsdaten

WhatsAppOptions.PhoneNumberId und WhatsAppOptions.Token, beide aus deiner Meta-Anwendung. Jeder Aufruf ist eine einfache HTTPS-Anfrage an die Graph API.

Text, Reaktionen, Lesebestätigungen

SendMessageText sendet Text, SendMessageReaction reagiert auf eine Nachrichten-ID, und MarkMessageRead sendet die Lesebestätigung.

SendMessageImage, SendMessageDocument, SendMessageAudio, SendMessageVideo und SendMessageSticker verweisen auf Medien, die unter einer öffentlichen URL gehostet werden.

Medien aus einer lokalen Datei

SendFileImage, SendFileDocument, SendFileAudio, SendFileVideo und SendFileSticker laden zuerst die lokale Datei hoch und senden sie dann.

Standort und Kontakte

SendMessageLocation sendet Koordinaten mit Name und Adresse. SendMessageContact sendet Kontaktkarten.

Interaktive Nachrichten

SendMessageInteractiveList für Auswahllisten, SendMessageInteractiveButtons für Antwort-Buttons.

Vorlagen

SendMessageTemplate nimmt den Vorlagennamen, den Sprachcode und die Parameter entgegen.

Medienspeicher

UploadMedia, DownloadMedia und DeleteMedia arbeiten direkt mit dem Medienspeicher der Cloud API.

Webhook-Server

StartServer und StopServer hosten den Meta-Webhook, konfiguriert über ServerOptions. OnBeforeSubscribe beantwortet die Verifizierungsanfrage, OnMessageReceived liefert eingehende Nachrichten mit einem var aMarkAsRead-Argument, OnMessageSent meldet den Zustellstatus, und OnRawMessage legt das rohe JSON offen.

TLS und Protokollierung

TLSOptions konfiguriert den HTTPS-Client, OnBeforeSendMessage prüft ausgehende Nachrichten, und die Dateiprotokollierung zeichnet den Datenverkehr zur Fehlersuche auf.

Weiter entdecken

sgcSocial-ÜberblickBeide Komponenten, Editionen und Lizenzierung auf einen Blick.
Funktionsmatrix: WhatsAppJede Fähigkeit dieser Komponente in Tabellenform.
WhatsApp-API im DetailDie API-Referenzseite, mit Links zur Online-Hilfe und zum PDF.
Blog: WhatsApp-Komponente für DelphiEine Schritt-für-Schritt-Anleitung zum Cloud-API-Client.
Blog: Lokale Dateien mit der WhatsApp API sendenLokale Medien mit den SendFile-Methoden hochladen.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit, WhatsApp-Nachrichten zu senden?

Lade die kostenlose Testversion herunter und verbinde deine Delphi-Anwendung mit der WhatsApp Business Cloud API.