feat: Add message support for input_select type in Facebook (#11627)

This commit is contained in:
mix5003
2025-06-10 17:45:11 +07:00
committed by GitHub
parent cf1d0de294
commit c710cbe370
2 changed files with 46 additions and 1 deletions

View File

@@ -47,12 +47,29 @@ class Facebook::SendOnFacebookService < Base::SendOnChannelService
def fb_text_message_params
{
recipient: { id: contact.get_source_id(inbox.id) },
message: { text: message.content },
message: fb_text_message_payload,
messaging_type: 'MESSAGE_TAG',
tag: 'ACCOUNT_UPDATE'
}
end
def fb_text_message_payload
if message.content_type == 'input_select' && message.content_attributes['items'].any?
{
text: message.content,
quick_replies: message.content_attributes['items'].map do |item|
{
content_type: 'text',
payload: item['title'],
title: item['title']
}
end
}
else
{ text: message.content }
end
end
def external_error(response)
# https://developers.facebook.com/docs/graph-api/guides/error-handling/
error_message = response['error']['message']