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
- Onboarding plus rapide : Authentification préintégrée, routage de messages et et gestion de session réduisent le lancement de projet à quelques heures au lieu de plusieurs jours.
- Engagement plus élevé : Diffuse des offres promotionnelles, des rappels et des alertes sur le canal que tes clients utilisent déjà.
- Coûts opérationnels réduits : Automatise les conversations et les flux de prise en charge sans maintenir une pile de messagerie propriétaire.
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
- sgcWebSockets Professional ou Enterprise.
- Un compte WhatsApp Business Platform actif avec valid App ID, App Secret et Access Token.
- sgcWebSockets installé avec le paquet du composant WhatsApp enregistré.
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
- Fill PhoneNumberID avec l'ID du téléphone expéditeur fourni par Meta.
- Assign AccessToken et facultatifly le AppSecretProof si tu imposes des requêtes signées.
- Enable AutoReconnect to true pour maintenir le canal WebSocket actif.
- 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
- Template Management: Invoke ListTemplates to fetch approved message templates et keep them cached in memory.
- Media Uploads: Use UploadMedia avec un TBytesStream to deliver PDFs, images ou voice notes.
- Scheduling: Combine avec TsgcScheduler to orchestrate campaigns basé sur CRM triggers.
- Analytics: Hook OnMessageStatus événements to log delivery/read receipts for BI dashboards.
Avantages de Using le composant WhatsApp
- Unified Support Stack: Integrates seamlessly avec existing sgcWebSockets transports, donc tu maintadans un single framework for HTTP, MQTT, AMQP et WhatsApp messaging.
- Strong Security: TLS 1.3 support, configurable token refresh intervals et signature validation protect every message.
- High Throughput: Built-in throttling et parallel envoyer queues help tu stay within Meta rate limits tandis que delivering campaigns quickly.
- Developer Productivity: Delphi components, événements et propriété editors keep ton code strongly typed et IDE-friendly, reducing maintenance overhead.
- Scalable Deployments: Works across Windows services, desktop apps et load-balanced servers thanks to non-blocking sockets et asynchronous callbacks.
