Componente WhatsApp Client: sgcSocial | eSeGeCe

WhatsApp Client

TsgcWhatsApp_Client comunica con la WhatsApp Business Cloud API, la Graph API di Meta per WhatsApp. Invia testo, media, posizioni, contatti, reazioni, liste interattive e pulsanti, e template approvati, poi ricevi risposte e stato di consegna tramite il server webhook integrato. Lo stesso componente e la stessa API in Delphi e C++ Builder.

TsgcWhatsApp_Client

Copia il Phone Number ID e il token di accesso della tua applicazione Meta in WhatsAppOptions, chiama i metodi SendMessage..., poi StartServer per ospitare il webhook che riceve le risposte.

Classe del componente

TsgcWhatsApp_Client

API

WhatsApp Business Cloud API (Meta Graph API)

Trasporto

HTTPS puro, su tutte le piattaforme Delphi

Linguaggi

Delphi, C++ Builder

Anche dentro sgcWebSockets. Il client WhatsApp è incluso anche nelle edizioni di sgcWebSockets a partire dalla Professional. sgcSocial è il package autonomo, il runtime sgcWebSockets Core è incluso.

Invia un testo, ricevi la risposta

Imposta WhatsAppOptions.PhoneNumberId e Token, invia un testo, poi avvia il server webhook così Meta può consegnare i messaggi in entrata. TsgcWhatsApp_Client è dichiarato nell'unit sgcLibs.

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;
}

Proprietà e metodi principali

I membri che userai più spesso.

Credenziali della Cloud API

WhatsAppOptions.PhoneNumberId e WhatsAppOptions.Token, entrambi dalla tua applicazione Meta. Ogni chiamata è una semplice richiesta HTTPS alla Graph API.

Testo, reazioni, ricevute

SendMessageText invia testo, SendMessageReaction reagisce a un id di messaggio, e MarkMessageRead invia la ricevuta di lettura.

SendMessageImage, SendMessageDocument, SendMessageAudio, SendMessageVideo e SendMessageSticker fanno riferimento a media ospitati su un URL pubblico.

Media da un file locale

SendFileImage, SendFileDocument, SendFileAudio, SendFileVideo e SendFileSticker caricano prima il file locale, poi lo inviano.

Posizione e contatti

SendMessageLocation invia coordinate con un nome e un indirizzo. SendMessageContact invia biglietti da visita digitali.

Messaggi interattivi

SendMessageInteractiveList per le liste di selezione, SendMessageInteractiveButtons per i pulsanti di risposta.

Template

SendMessageTemplate richiede il nome del template, il codice lingua e i parametri.

Archivio media

UploadMedia, DownloadMedia e DeleteMedia lavorano direttamente con l'archivio media della Cloud API.

Server webhook

StartServer e StopServer ospitano il webhook di Meta, configurato tramite ServerOptions. OnBeforeSubscribe risponde alla richiesta di verifica, OnMessageReceived consegna i messaggi in entrata con un argomento var aMarkAsRead, OnMessageSent riporta lo stato di consegna e OnRawMessage espone il JSON grezzo.

TLS e logging

TLSOptions configura il client HTTPS, OnBeforeSendMessage ispeziona i messaggi in uscita, e il logging su file registra il traffico per il troubleshooting.

Continua a esplorare

Panoramica di sgcSocialEntrambi i componenti, edizioni e licenze in breve.
Matrice delle funzionalità: WhatsAppOgni funzionalità di questo componente in forma di tabella.
Approfondimento sull'API WhatsAppLa pagina di riferimento dell'API, con link alla guida online e al PDF.
Blog: componente WhatsApp per DelphiUna guida passo passo al client della Cloud API.
Blog: inviare file locali con l'API WhatsAppCaricare media locali con i metodi SendFile.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto a inviare messaggi WhatsApp?

Scarica la versione di prova gratuita e collega la tua applicazione Delphi alla WhatsApp Business Cloud API.