Support for Facebook Messenger `element_share`
johntiror opened this issue · comments
Botman should support the share_contents
field for the button of type element_share
.
Here's the facebook documentation: https://developers.facebook.com/docs/messenger-platform/reference/buttons/login#example_body
and here an example of the payload:
"buttons": [
{
"type": "element_share",
"share_contents": {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [
{
"title": "I took Peter's 'Which Hat Are You?' Quiz",
"subtitle": "My result: Fez",
"image_url": "https://bot.peters-hats.com/img/hats/fez.jpg",
"default_action": {
"type": "web_url",
"url": "http://m.me/petershats?ref=invited_by_24601"
},
"buttons": [
{
"type": "web_url",
"url": "http://m.me/petershats?ref=invited_by_24601",
"title": "Take Quiz"
}
]
}
]
}
}
}
}
]
I noticed a weird thing, this payload:
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"image_aspect_ratio":"square",
"elements":[
{
"title":"BotMan Documentation",
"image_url":"http:\/\/botman.io\/img\/botman-body.png",
"item_url":null,
"subtitle":"All about BotMan",
"buttons":[
{
"type":"web_url",
"title":"visit",
"url":"http:\/\/botman.io",
"webview_height_ratio":"full",
"webview_share_button":"SHOW"
},
{
"type":"element_share",
"share_contents":{
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"image_aspect_ratio":"horizontal",
"elements":[
{
"title":"prova",
"image_url":null,
"item_url":null,
"subtitle":null,
"buttons":[
{
"type":"web_url",
"title":"lol",
"url":"http:\/\/www.pixide.org",
"webview_height_ratio":"full",
"webview_share_button":"SHOW"
}
]
}
]
}
}
}
}
]
}
]
}
}
}
will fail with error from Facebook:
{
"error": {
"message": "(#-1) Unexpected internal error",
"type": "OAuthException",
"code": -1,
"error_subcode": 2018012,
"fbtrace_id": "GK8i7G5+KhA"
}
}
while this payload will work:
{
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"image_aspect_ratio":"square",
"elements":[
{
"title":"BotMan Documentation",
"image_url":"http:\/\/botman.io\/img\/botman-body.png",
"item_url":null,
"subtitle":"All about BotMan",
"buttons":[
{
"type":"web_url",
"title":"visit",
"url":"http:\/\/botman.io",
"webview_height_ratio":"full",
"webview_share_button":"SHOW"
},
{
"type":"element_share",
"share_contents":{
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"image_aspect_ratio":"horizontal",
"elements":[
{
"title":"prova",
"image_url":null,
"item_url":null,
"subtitle":null,
"buttons":[
{
"type":"web_url",
"title":"lol",
"url":"http:\/\/www.pixide.org",
"webview_height_ratio":"full"
}
]
}
]
}
}
}
}
]
}
]
}
}
}
}
where the difference is in the presence of webview_share_button
field.
I opened this facebook bug: https://developers.facebook.com/bugs/150790398996728/