WhatsApp Receive Messages and Status Notifications

비즈니스가 수신하는 메시지 및 고객 프로필 업데이트에 대한 알림을 받으려면 Webhooks를 구독하십시오.

 

트리거 이벤트가 발생할 때마다, WhatsApp Business Platform은 이벤트를 확인하고 이전에 지정한 Webhook URL로 알림을 보냅니다. 두 가지 유형의 알림을 받을 수 있습니다:

 

 

 

 

Received Messages

새 메시지가 수신될 때마다 OnMessageReceived 이벤트가 호출되며, 여기서 메시지의 내용에 액세스하고 메시지를 읽음으로 표시할 수 있습니다.

 

아래 예제를 참조하십시오. 새 텍스트 메시지가 수신되면, 이를 보낸 사용자에게 그대로 에코됩니다.

 


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;

 

 

Sent Messages

WhatsApp Business Platform은 사용자와 사용자 간 메시지의 상태를 알리기 위해 알림을 보냅니다. 메시지가 성공적으로 전송되면 메시지가 전송, 전달 및 읽힐 때 알림을 받습니다. 앱에서 이러한 알림의 순서는 메시지 상태의 실제 타이밍을 반영하지 않을 수 있습니다. 필요한 경우 타이밍을 확인하려면 타임스탬프를 보십시오.

 

 

새 상태가 수신될 때마다 OnMessageSent 이벤트가 호출됩니다.

 


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;