Komponent WhatsApp dla Delphi

· Komponenty

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

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

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

  1. Wypełnij PhoneNumberID identyfikatorem telefonu nadawcy dostarczonym przez Meta.
  2. Przypisz AccessToken i opcjonalnie AppSecretProof, jeśli wymagasz podpisanych żądań.
  3. Ustaw AutoReconnect na true, aby utrzymać kanał WebSocket aktywny.
  4. 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

Zalety korzystania z komponentu WhatsApp