Abonnieren Sie Webhooks, um Benachrichtigungen über Nachrichten zu erhalten, die Ihr Unternehmen empfängt, sowie über Aktualisierungen von Kundenprofilen.
Wann immer ein Trigger-Ereignis auftritt, sieht die WhatsApp Business Platform das Ereignis und sendet eine Benachrichtigung an eine Webhook-URL, die Sie zuvor angegeben haben. Sie können zwei Arten von Benachrichtigungen erhalten:
Jedes Mal, wenn eine neue Nachricht empfangen wird, wird das Ereignis OnMessageReceived aufgerufen, in dem Sie auf den Inhalt der Nachricht zugreifen und die Nachricht als gelesen markieren können.
Nachfolgend ein Beispiel: Wenn eine neue Textnachricht empfangen wird, wird sie an den Benutzer zurückgesendet, der sie gesendet hat.
procedure OnWhatsAppMessageReceived(Sender: TObject; const aMessage: TsgcWhatsApp_Receive_Message; var aMarkAsRead: Boolean);
var
vText: string;
vTo: string;
begin
if aMessage.Contacts.Count > 0 then
begin
vTo := aMessage.Contacts.Contact[0].WaID;
if aMessage.Messages.Count > 0 then
begin
if aMessage.Messages._Message[0]._Type = wapmrtText then
begin
vText := 'ECHO ==> ' + aMessage.Messages._Message[0].Text.Body;
WhatsApp.SendMessageText(vTo, vText);
aMarkAsRead := True;
end;
end;
end;
end;
Die WhatsApp Business Platform sendet Benachrichtigungen, um Sie über den Status der Nachrichten zwischen Ihnen und den Benutzern zu informieren. Wenn eine Nachricht erfolgreich gesendet wird, erhalten Sie eine Benachrichtigung, wenn die Nachricht gesendet, zugestellt und gelesen wird. Die Reihenfolge dieser Benachrichtigungen in Ihrer App spiegelt möglicherweise nicht das tatsächliche Timing des Nachrichtenstatus wider. Sehen Sie sich den Zeitstempel an, um das Timing bei Bedarf zu ermitteln.
Jedes Mal, wenn ein neuer Status empfangen wird, wird das Ereignis OnMessageSent aufgerufen.
procedure OnWhatsAppMessageSent(Sender: TObject; const aMessage: TsgcWhatsApp_Receive_Message; aStatus: TsgcWhatsAppSendMessageStatusType);
begin
vPhone := aMessage.MetaData.DisplayPhoneNumber;
case aStatus of
wapsmstSent: DoLog('Message to ' + vPhone + ' sent.');
wapsmstDelivered: DoLog('Message to ' + vPhone + ' delivered.');
wapsmstRead: DoLog('Message to ' + vPhone + ' read.');
else
DoLog('Message to ' + vPhone + ' unknown status.')
end;
end;