WhatsApp Mesaj ve Durum Bildirimleri Alma

İşletmenizin aldığı mesajlar ve müşteri profili güncellemeleri hakkında bildirim almak için Webhooks'a abone olun.

 

Bir tetikleyici olay meydana geldiğinde, WhatsApp Business Platform olayı görür ve daha önce belirttiğiniz bir Webhook URL'sine bir bildirim gönderir. İki tür bildirim alabilirsiniz:

 

 

 

 

Received Messages

Her yeni mesaj alındığında OnMessageReceived olayı çağrılır; burada Mesajın içeriğine erişebilir ve mesajı okundu olarak işaretleyebilirsiniz.

 

Aşağıda bir örnek bulabilirsiniz, yeni bir metin mesajı alındığında, onu gönderen kullanıcıya yankılanır.

 


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;

 

 

Gönderilen Mesajlar

WhatsApp Business Platform, sizinle kullanıcılar arasındaki mesajların durumu hakkında sizi bilgilendirmek için bildirimler gönderir. Bir mesaj başarıyla gönderildiğinde, mesaj gönderildiğinde, teslim edildiğinde ve okunduğunda bir bildirim alırsınız. Uygulamanızdaki bu bildirimlerin sırası, mesaj durumunun gerçek zamanlamasını yansıtmayabilir. Gerekirse zamanlamayı belirlemek için zaman damgasını görüntüleyin.

 

 

Her yeni durum alındığında, OnMessageSent olayı çağrılır.

 


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;