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