Komponent sgcWebSockets WhatsApp umożliwia zespołom Delphi dostarczanie natychmiastowych, spersonalizowanych rozmów na dużą skalę. Niezależnie od tego, czy budujesz integracje CRM, portale pomocy technicznej czy usługi powiadomień transakcyjnych, komponent zapewnia bezpieczny, odporny i w pełni obsługiwany most do komunikacji WhatsApp Business. Ten artykuł łączy wartość biznesową z technicznym szczegółem potrzebnym do szybkiego dostarczenia gotowych do produkcji przepływów czatu.
Wpływ biznesowy w skrócie
- Szybsze wdrożenie: Gotowe uwierzytelnianie, routing wiadomości i zarządzanie sesjami skracają start projektu z dni do godzin.
- Wyższe zaangażowanie: Wysyłaj oferty promocyjne, przypomnienia i alerty na kanale, któremu klienci już ufają.
- Niższe koszty operacyjne: Automatyzuj rozmowy i przepływy wsparcia bez utrzymywania własnego stosu komunikacyjnego.
Przegląd architektury
Komponent hermetyzuje punkty końcowe REST WhatsApp Business API i wywołania zwrotne WebSocket w przyjazny dla Delphi interfejs. Zarządza odświeżaniem tokenów, formatowaniem wiadomości (tekst, szablony, media) i asynchronicznymi raportami dostarczania. Wewnętrznie opiera się na transportach bazowych sgcWebSockets, dzięki czemu korzystasz z tego samego modelu TLS, ponownego połączenia i wątków co w całym frameworku.
Wymagania wstępne
- sgcWebSockets Professional lub Enterprise.
- Aktywne konto WhatsApp Business Platform z ważnymi: App ID, App Secret i Access Token.
- Zainstalowane sgcWebSockets z zarejestrowanym pakietem komponentu WhatsApp.
Konfiguracja komponentu w Delphi
Upuść komponent TsgcWhatsAppClient na moduł danych lub formularz usługi. Skonfiguruj niezbędne właściwości w Inspektorze obiektów lub w kodzie podczas inicjalizacji.
Ustawienia w trybie projektowania
- Wypełnij PhoneNumberID identyfikatorem telefonu nadawcy dostarczonym przez Meta.
- Przypisz AccessToken i opcjonalnie AppSecretProof, jeśli wymagasz podpisanych żądań.
- Ustaw AutoReconnect na true, aby utrzymać kanał WebSocket aktywny.
- Podłącz zdarzenia OnMessageStatus i OnIncomingMessage do obsługi potwierdzeń dostarczenia i przychodzących wiadomości.
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;
Wysyłanie wiadomości
Użyj pomocniczych metod SendText i SendTemplate dla scenariuszy wysokopoziomowych lub uzyskaj dostęp do kolekcji Messages dla zaawansowanych payloadów.
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;
Odbieranie i automatyzacja odpowiedzi
Komponent zawiera wbudowany listener webhooka korzystający z funkcji serwera HTTP sgcWebSockets. Zmapuj ścieżkę webhooka na opublikowany punkt końcowy i przetwarzaj odpowiedzi wewnątrz procedur obsługi zdarzeń.
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;
Zaawansowana konfiguracja
- Zarządzanie szablonami: Wywołaj ListTemplates, aby pobrać zatwierdzone szablony wiadomości i przechowywać je w pamięci podręcznej.
- Przesyłanie mediów: Użyj UploadMedia z TBytesStream, aby dostarczać pliki PDF, obrazy lub notatki głosowe.
- Planowanie: Połącz z TsgcScheduler, aby organizować kampanie na podstawie wyzwalaczy CRM.
- Analityka: Podłącz zdarzenia OnMessageStatus, aby rejestrować potwierdzenia dostarczenia/odczytu dla dashboardów BI.
Zalety korzystania z komponentu WhatsApp
- Ujednolicony stos wsparcia: Bezproblemowo integruje się z istniejącymi transportami sgcWebSockets, dzięki czemu utrzymujesz jeden framework dla HTTP, MQTT, AMQP i komunikacji WhatsApp.
- Silne bezpieczeństwo: Obsługa TLS 1.3, konfigurowalne interwały odświeżania tokenów i walidacja podpisów chronią każdą wiadomość.
- Wysoka przepustowość: Wbudowane ograniczanie i równoległe kolejki wysyłania pomagają utrzymać się w limitach Meta, jednocześnie szybko dostarczając kampanie.
- Produktywność programistów: Komponenty Delphi, zdarzenia i edytory właściwości utrzymują kod silnie typowany i przyjazny IDE, zmniejszając nakład pracy związany z utrzymaniem.
- Skalowalne wdrożenia: Działa w usługach Windows, aplikacjach desktopowych i serwerach z równoważeniem obciążenia dzięki nieblokującym gniazdom i asynchronicznym wywołaniom zwrotnym.
