El componente WhatsApp de sgcWebSockets permite a los equipos Delphi entregar conversaciones instantáneas y personalizadas a escala. Tanto si creas integraciones de CRM, portales de help-desk o servicios de notificaciones transaccionales, el componente proporciona un puente seguro, resiliente y con soporte completo con la mensajería de WhatsApp Business. Este artículo combina el valor comercial con el detalle técnico necesario para entregar flujos de chat listos para producción de forma rápida.
Impacto en el negocio de un vistazo
- Onboarding más rápido: la autenticación, el enrutamiento de mensajes y la gestión de sesiones predefinidos reducen el arranque del proyecto a horas en lugar de días.
- Mayor engagement: envía ofertas promocionales, recordatorios y alertas en el canal en el que tus clientes ya confían.
- Menores costes operativos: automatiza conversaciones y flujos de soporte sin mantener una pila de mensajería propia.
Visión general de la arquitectura
El componente encapsula los endpoints REST de la WhatsApp Business API y los callbacks de WebSocket en una interfaz amigable para Delphi. Gestiona la renovación de tokens, el formato de mensajes (texto, plantillas, multimedia) y los informes de entrega asíncronos. Internamente se apoya en los transportes principales de sgcWebSockets, por lo que te beneficias del mismo modelo de TLS, reconexión y multihilo usado en todo el framework.
Requisitos previos
- sgcWebSockets Professional o Enterprise.
- Una cuenta activa de WhatsApp Business Platform con App ID, App Secret y Access Token válidos.
- sgcWebSockets instalado con el paquete del componente WhatsApp registrado.
Configuración del componente en Delphi
Coloca el componente TsgcWhatsAppClient en tu módulo de datos o formulario de servicio. Configura las propiedades esenciales en el Object Inspector o en código durante la inicialización.
Ajustes en tiempo de diseño
- Rellena PhoneNumberID con el ID del teléfono emisor proporcionado por Meta.
- Asigna AccessToken y, opcionalmente, AppSecretProof si exiges peticiones firmadas.
- Activa AutoReconnect a true para mantener vivo el canal WebSocket.
- Asocia los eventos OnMessageStatus y OnIncomingMessage para gestionar los acuses de entrega y los chats entrantes.
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;
Enviar mensajes
Usa los métodos auxiliares SendText y SendTemplate para escenarios de alto nivel, o accede a la colección Messages para payloads avanzados.
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;
Recibir y automatizar respuestas
El componente incluye un listener de webhook integrado que aprovecha las funcionalidades del servidor HTTP de sgcWebSockets. Asocia la ruta del webhook a tu endpoint publicado y procesa las respuestas en los manejadores de eventos.
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;
Configuración avanzada
- Gestión de plantillas: invoca ListTemplates para obtener las plantillas de mensaje aprobadas y mantenerlas cacheadas en memoria.
- Subida de archivos multimedia: usa UploadMedia con un TBytesStream para entregar PDF, imágenes o notas de voz.
- Programación: combina con TsgcScheduler para orquestar campañas a partir de disparadores del CRM.
- Analítica: engancha los eventos OnMessageStatus para registrar acuses de entrega/lectura en cuadros de mando de BI.
Ventajas de usar el componente WhatsApp
- Pila de soporte unificada: se integra sin fisuras con los transportes existentes de sgcWebSockets, lo que te permite mantener un único framework para mensajería HTTP, MQTT, AMQP y WhatsApp.
- Seguridad robusta: soporte de TLS 1.3, intervalos de renovación de token configurables y signature validation protect every message.
- High Throughput: Built-in throttling and parallel send queues help you stay within Meta rate limits while delivering campaigns quickly.
- Developer Productivity: Delphi components, events and property editors keep your code strongly typed and IDE-friendly, reducing maintenance overhead.
- Scalable Deployments: Works across Windows services, desktop apps and load-balanced servers thanks to non-blocking sockets and asynchronous callbacks.
