Я создаю бот-мессенджер Facebook с интеграцией api.ai. Мой агент api.ai подключен к веб-крюку — api.php. Моя задача сейчас состоит в том, чтобы я хотел отправить ответ кнопки (отформатированные сообщения) боту через мой webhook.
Я следовал за этим документом —
https://docs.api.ai/docs/webhook
И я сделал это в api.php, но он не отображает кнопку
<?php
header('Content-Type: application/json');
ob_start();
$json = file_get_contents('php://input');
$request = json_decode($json, true);
$action = $request["result"]["action"];
$parameters = $request["result"]["parameters"];
$data =json_encode([
'speech' => "test",
'displayText' => "test",
'data' => "{
'facebook': {
'recipient':{
'id':'USER_ID'
},
'message':{
'attachment':{
'type':'template',
'payload':{
'template_type':'button',
'text':'What do you want to do next?',
'buttons':[
{
'type':'web_url',
'url':'https://petersapparel.parseapp.com',
'title':'Show Website'
},
{
'type':'postback',
'title':'Start Chatting',
'payload':'USER_DEFINED_PAYLOAD'
}
]
}
}
}
}
}
}",
'source' => "source"]);
echo $data;
?>
Спасибо.
$qrString = "Date|Location|Category";
$qrActions = "ActionSetDate|ActionSetLocation|ActionSetCategory";
$webhookResponseArray['data']['facebook']['text'] = "Choose an action...";
// make array of prompts and actions
$qrArray = array();
$actionArray = explode('|', $qrActions);
$i = 0;
$a = array();
foreach (explode('|', $qrString) as $qrButton)
{
$a['content_type'] = 'text';
$a['title'] = $qrButton;
$a['payload'] = $actionArray[$i];
$qrArray[] = $a;
$i++;
}
$webhookResponseArray['data']['facebook']['quick_replies'] = $qrArray;
// encode and send webhookResponseArray
Других решений пока нет …