WhatsApp Delphi-Komponente

· Komponenten

Die sgcWebSockets WhatsApp-Komponente ermöglicht Delphi-Teams, sofortige, personalisierte Gespräche im großen Maßstab zu liefern. Ob du CRM-Integrationen, Helpdesk-Portale oder transaktionale Benachrichtigungsdienste baust — die Komponente bietet eine sichere, resiliente und voll unterstützte Brücke zum WhatsApp Business Messaging. Dieser Artikel verbindet den geschäftlichen Nutzen mit den technischen Details, die du brauchst, um produktionsreife Chat-Flows schnell auszuliefern. 

Business-Impact auf einen Blick

Architekturüberblick

Die Komponente kapselt die REST-Endpoints und WebSocket-Callbacks der WhatsApp Business API in einem Delphi-freundlichen Interface. Sie verwaltet Token-Refreshes, Message-Formatierung (Text, Templates, Media) und asynchrone Delivery-Reports. Intern setzt sie auf die Kern-Transporte von sgcWebSockets — du profitierst also von demselben TLS-, Reconnect- und Threading-Modell, das im gesamten Framework verwendet wird. 

Voraussetzungen

Komponentenkonfiguration in Delphi

Platziere die Komponente TsgcWhatsAppClient auf deinem Datenmodul oder Service-Formular. Konfiguriere die wichtigsten Eigenschaften im Object Inspector oder im Code bei der Initialisierung.

Design-Time-Einstellungen

  1. Trage in PhoneNumberID die von Meta bereitgestellte Sender-Phone-ID ein.
  2. Weise AccessToken zu und optional AppSecretProof, falls du signierte Requests erzwingst.
  3. Setze AutoReconnect auf true, um den WebSocket-Kanal am Leben zu halten.
  4. Verknüpfe die Events OnMessageStatus und OnIncomingMessage für Zustellbestätigungen und eingehenden Chat.

procedure TdmMessaging.DataModuleCreate(Sender: TObject);
begin
  sgcWhatsAppClient.BaseURL := 'https://graph.facebook.com/v18.0/';
  sgcWhatsAppClient.PhoneNumberID := '123456789012345';
  sgcWhatsAppClient.AccessToken := TSecretStore.FetchToken('WA_ACCESS');
  sgcWhatsAppClient.WebhookVerifyToken := 'MyDelphiWebhook';
  sgcWhatsAppClient.AutoReconnect := True;
  sgcWhatsAppClient.Connect;
end; 

Nachrichten senden

Nutze die Hilfsmethoden SendText und SendTemplate für High-Level-Szenarien, oder greife auf die Messages-Collection für erweiterte Payloads zu.

procedure TdmMessaging.SendWelcomeMessage(const ADestination: string);
var
  LMessage: TsgcWAOutboundMessage;
begin
  LMessage := sgcWhatsAppClient.Messages.Add;
  LMessage.ToPhone := ADestination;
  LMessage.TypeMessage := watText;
  LMessage.Text.Body := 'Welcome to our premium support channel!';
  sgcWhatsAppClient.SendMessage(LMessage);
end; 

Antworten empfangen und automatisieren

Die Komponente enthält einen eingebauten Webhook-Listener, der die HTTP-Server-Funktionen von sgcWebSockets nutzt. Map den Webhook-Pfad auf deinen öffentlichen Endpoint und verarbeite Antworten in Event-Handlern. 

procedure TdmMessaging.sgcWhatsAppClientIncomingMessage(Sender: TObject;
  const AMessage: TsgcWAInboundMessage);
begin
  if AMessage.Text.Body.ToLower.Contains('pricing') then
    sgcWhatsAppClient.SendText(AMessage.FromPhone,
      'Ask about our enterprise bundles for priority SLA and analytics dashboards.')
  else
    QueueForAgent(AMessage);
end; 

Erweiterte Konfiguration

Vorteile der WhatsApp-Komponente