비즈니스가 수신하는 메시지 및 고객 프로필 업데이트에 대한 알림을 받으려면 Webhooks를 구독하십시오.
트리거 이벤트가 발생할 때마다, WhatsApp Business Platform은 이벤트를 확인하고 이전에 지정한 Webhook URL로 알림을 보냅니다. 두 가지 유형의 알림을 받을 수 있습니다:
새 메시지가 수신될 때마다 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;
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;