У меня есть php webhook, я размещаю его на Heroku, evertyhing работает отлично. Когда я тестирую его на api.ai, бот отвечает мне так, как я хочу, и это работает. У меня вопрос: как я могу отправить электронное письмо с моего веб-крючка или вставить текст в базу данных?
Вот мой код:
<?php
$method = $_SERVER['REQUEST_METHOD'];
//$msg = "First line of text\nSecond line of text";
// use wordwrap() if lines are longer than 70 characters
//$msg = wordwrap($msg,70);
// send email
//mail("[email protected]","My subject",$msg);// Process only when method is POST
if($method == 'POST'){
$requestBody = file_get_contents('php://input');
$json = json_decode($requestBody);
$equis = $json->result->parameters->equis;
switch ($equis) {
case 'hi':
$speech = "Hi, Nice to meet you";
break;
case 'bye':
$speech = "Bye, good night";
break;
case 'anything':
$speech = "Yes, you can type anything here.";
break;
default:
$speech = "Sorry, I didnt get that. Please ask me something
else.";
break;
}$response = new \stdClass();
$response->speech = $speech;
$response->displayText = $speech;
$response->source = "Alex";
echo json_encode($response);
}
else
{
echo "Method not allowed";
}
?>
Кажется, у вас есть большинство частей, которые вам нужны. После того, как вы выяснили, что вы хотите $speech
Вы можете использовать закомментированные части для отправки сообщения. Возможно, что-то вроде этого:
switch ($equis) {
case 'hi':
$speech = "Hi, Nice to meet you";
break;
case 'bye':
$speech = "Bye, good night";
break;
case 'anything':
$speech = "Yes, you can type anything here.";
break;
default:
$speech = "Sorry, I didnt get that. Please ask me something
else.";
break;
}
mail("[email protected]","My subject",$msg);
Точно так же вы можете выполнять операции с базой данных или делать что-либо еще со значениями, полученными из параметров, отправленных из Dialogflow.
Более запутанная часть этого — то, что вы, кажется, не обращаете внимания на то, что было уволено или Действие. Это было бы в
$json->result->action
или же
$json->result->metadata->intentName
Обычно вы используете один из них, чтобы выяснить, Зачем вам звонят, а затем параметры, чтобы выяснить, что делать на основе этого.
Других решений пока нет …