Whatsapp Delphi Component

· Composants

Le sgcWebSockets composant WhatsApp permet aux équipes Delphi de fournir des conversations instantanées et personnalisées à grande échelle. Que tu construises des intégrations CRM, des portails de prise en charge ou des services de notification transactionnelle, le composant fournit un pont sécurisé, résilient et entièrement pris en charge to WhatsApp Business messaging. Cet article combine la valeur commerciale avec le le détail technique dont tu as besoin pour livrer des flux de chat prêts pour la production rapidement. 

Impact business en un coup d'œil

Aperçu de l'architecture

Le composant encapsule les endpoints REST de l'API WhatsApp Business et et les callbacks WebSocket dans une interface conviviale pour Delphi. Il gère les rafraîchissements de jeton, le formatage des messages (texte, modèles, médias) et et les rapports de livraison asynchrones. En interne, il repose sur les transports core de sgcWebSockets, donc tu bénéficies du même TLS, modèle de reconnexion et de threading utilisé dans tout le framework. 

Prérequis

Configuration du composant dans Delphi

Drop le TsgcWhatsAppClient component sur ton data module ou form de service. Configure les propriétés essentielles inside le Object Inspector ou dans le code lors de l'initialisation.

Paramètres au design-time

  1. Fill PhoneNumberID avec l'ID du téléphone expéditeur fourni par Meta.
  2. Assign AccessToken et facultatifly le AppSecretProof si tu imposes des requêtes signées.
  3. Enable AutoReconnect to true pour maintenir le canal WebSocket actif.
  4. Attach le OnMessageStatus et OnIncomingMessage événements for delivery receipts et et la gestion des chats entrants.

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; 

Sending Messages

Use le SendText et SendTemplate helper méthodes for high-level scenarios, ou access le Messages collection for advanced payloads.

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; 

Receiving et Automating Responses

Le component inclut a built-in webhook listener leveraging sgcWebSockets HTTP server features. Map le webhook path to ton published endpoint et process replies inside événement handlers. 

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; 

Advanced Configuration

Avantages de Using le composant WhatsApp