WhatsApp Receive Messages and Status Notifications

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:

 

 

 

 

Empfangene Nachrichten

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;

 

 

Gesendete Nachrichten

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;