WhatsApp Receive Messages and Status Notifications

Abonneer u op Webhooks om meldingen te ontvangen over berichten die uw bedrijf ontvangt en updates van klantprofielen.

 

Telkens wanneer een triggergebeurtenis plaatsvindt, detecteert het WhatsApp Business Platform de gebeurtenis en stuurt een melding naar een Webhook-URL die u eerder heeft opgegeven. U kunt twee soorten meldingen ontvangen:

 

 

 

 

Ontvangen berichten

Elke keer dat een nieuw bericht wordt ontvangen, wordt de gebeurtenis OnMessageReceived aangeroepen, waarmee u toegang hebt tot de inhoud van het bericht en het bericht als gelezen kunt markeren.

 

Hieronder vindt u een voorbeeld: wanneer een nieuw tekstbericht wordt ontvangen, wordt het teruggestuurd naar de gebruiker die het heeft verzonden.

 


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;

 

 

Verzonden Berichten

Het WhatsApp Business-platform stuurt meldingen om u te informeren over de status van berichten tussen u en gebruikers. Wanneer een bericht succesvol is verzonden, ontvangt u een melding wanneer het bericht is verzonden, bezorgd en gelezen. De volgorde van deze meldingen in uw app weerspiegelt mogelijk niet de werkelijke timing van de berichtstatus. Bekijk de tijdstempel om de timing te bepalen, indien nodig.

 

 

Elke keer dat een nieuwe status wordt ontvangen, wordt het evenement OnMessageSent aangeroepen.

 


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;