WhatsApp-clientcomponent: sgcSocial | eSeGeCe

WhatsApp-client

TsgcWhatsApp_Client spreekt met de WhatsApp Business Cloud API, de Meta Graph API voor WhatsApp. Verstuur tekst, media, locaties, contacten, reacties, interactieve lijsten en knoppen, en goedgekeurde templates, en ontvang vervolgens antwoorden en afleveringsstatus via de ingebouwde webhookserver. Hetzelfde component en dezelfde API in Delphi en C++ Builder.

TsgcWhatsApp_Client

Kopieer de Phone Number ID en het access token van je Meta-toepassing naar WhatsAppOptions, roep de SendMessage...-methoden aan, en roep dan StartServer aan om de webhook te hosten die antwoorden ontvangt.

Componentklasse

TsgcWhatsApp_Client

API

WhatsApp Business Cloud API (Meta Graph API)

Transport

Puur HTTPS, alle Delphi-platforms

Talen

Delphi, C++ Builder

Ook in sgcWebSockets. De WhatsApp-client zit ook in sgcWebSockets-edities vanaf Professional. sgcSocial is het standalone package, de sgcWebSockets Core runtime is meegeleverd.

Tekst versturen, antwoord ontvangen

Stel WhatsAppOptions.PhoneNumberId en Token in, verstuur een tekstbericht, en start dan de webhookserver zodat Meta inkomende berichten kan afleveren. TsgcWhatsApp_Client is gedeclareerd in de sgcLibs-unit.

uses
  sgcLibs;

var
  WhatsApp: TsgcWhatsApp_Client;
begin
  WhatsApp := TsgcWhatsApp_Client.Create(nil);
  WhatsApp.WhatsAppOptions.PhoneNumberId := '123456789012345';
  WhatsApp.WhatsAppOptions.Token := 'EAAG...';

  WhatsApp.SendMessageText('+34666555444', 'hello from Delphi');

  // webhook server: receive messages and status updates
  WhatsApp.ServerOptions.Port := 443;
  WhatsApp.ServerOptions.SSL := True;
  WhatsApp.ServerOptions.SSLOptions.CertFile := 'cert.pem';
  WhatsApp.ServerOptions.SSLOptions.KeyFile  := 'key.pem';
  WhatsApp.ServerOptions.SSLOptions.Port := 443;
  WhatsApp.OnMessageReceived := WhatsAppMessageReceived;
  WhatsApp.StartServer;
end;

procedure TForm1.WhatsAppMessageReceived(Sender: TObject;
  const aMessage: TsgcWhatsApp_Receive_Message;
  var aMarkAsRead: Boolean);
begin
  Memo1.Lines.Add(aMessage.RawMessage);
  aMarkAsRead := True;
end;
// include: sgcLibs.hpp

TsgcWhatsApp_Client *WhatsApp = new TsgcWhatsApp_Client(this);
WhatsApp->WhatsAppOptions->PhoneNumberId = "123456789012345";
WhatsApp->WhatsAppOptions->Token = "EAAG...";

WhatsApp->SendMessageText("+34666555444", "hello from Delphi");

// webhook server: receive messages and status updates
WhatsApp->ServerOptions->Port = 443;
WhatsApp->ServerOptions->SSL = true;
WhatsApp->ServerOptions->SSLOptions->CertFile = "cert.pem";
WhatsApp->ServerOptions->SSLOptions->KeyFile  = "key.pem";
WhatsApp->ServerOptions->SSLOptions->Port = 443;
WhatsApp->OnMessageReceived = WhatsAppMessageReceived;
WhatsApp->StartServer();

void __fastcall TForm1::WhatsAppMessageReceived(TObject *Sender,
    TsgcWhatsApp_Receive_Message * const aMessage, bool &aMarkAsRead)
{
  Memo1->Lines->Add(aMessage->RawMessage);
  aMarkAsRead = true;
}

Belangrijkste eigenschappen & methoden

De leden die je het vaakst gebruikt.

Cloud API-inloggegevens

WhatsAppOptions.PhoneNumberId en WhatsAppOptions.Token, beide uit je Meta-toepassing. Elke aanroep is een gewone HTTPS-request naar de Graph API.

Tekst, reacties, leesbevestigingen

SendMessageText verstuurt tekst, SendMessageReaction reageert op een bericht-id, en MarkMessageRead verstuurt de leesbevestiging.

SendMessageImage, SendMessageDocument, SendMessageAudio, SendMessageVideo en SendMessageSticker verwijzen naar media op een publieke URL.

Media vanaf een lokaal bestand

SendFileImage, SendFileDocument, SendFileAudio, SendFileVideo en SendFileSticker uploaden eerst het lokale bestand en versturen het daarna.

Locatie en contacten

SendMessageLocation verstuurt coördinaten met een naam en adres. SendMessageContact verstuurt contactkaarten.

Interactieve berichten

SendMessageInteractiveList voor selectielijsten, SendMessageInteractiveButtons voor replyknoppen.

Templates

SendMessageTemplate neemt de templatenaam, de taalcode en de parameters.

Mediaopslag

UploadMedia, DownloadMedia en DeleteMedia werken rechtstreeks met de mediaopslag van de Cloud API.

Webhookserver

StartServer en StopServer hosten de webhook van Meta, geconfigureerd via ServerOptions. OnBeforeSubscribe beantwoordt de verificatierequest, OnMessageReceived levert inkomende berichten af met een var aMarkAsRead-argument, OnMessageSent meldt de afleveringsstatus en OnRawMessage geeft de rauwe JSON.

TLS en logging

TLSOptions configureert de HTTPS-client, OnBeforeSendMessage inspecteert uitgaande berichten, en bestandslogging legt het verkeer vast voor troubleshooting.

Blijf ontdekken

sgcSocial-overzichtBeide componenten, edities en licenties in één oogopslag.
Functiematrix: WhatsAppElke mogelijkheid van dit component in tabelvorm.
WhatsApp API Deep DiveDe API-referentiepagina, met links naar online help en PDF.
Blog: WhatsApp Delphi-componentEen doorloop van de Cloud API-client.
Blog: lokale bestanden versturen met de WhatsApp APILokale media uploaden met de SendFile-methoden.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Klaar om WhatsApp-berichten te versturen?

Download de gratis proefversie en verbind je Delphi-toepassing met de WhatsApp Business Cloud API.