Как получить пользовательский ввод из api.ai (диалоговый поток) и сохранить его в базе данных mysql с помощью php?

Я хочу принимать пользовательские данные через чат-бот api.ai (диалоговый поток) и хранить его в базе данных MySQL, например запрашивать данные пользователя об имени, возрасте, контактном номере через чат-бота, а затем данные пользователя должны храниться в моей базе данных, т.е. , база данных MySQL. После сохранения, наконец, чат-бот должен показать сводку пользователю для подтверждения. Я могу взаимодействовать и продолжать разговор с моим чат-ботом, но не могу сохранить данные пользователя.

Я искал в разных местах, но я не могу найти правильный процесс. Мне удобно работать с PHP, чтобы получать данные из api.ai и хранить в базе данных MySQL.

Любая помощь будет оценена по достоинству. "Заранее спасибо!"


person Phani Sai Ram    schedule 07.12.2017    source источник


Ответы (1)


Вам нужно создать веб-перехватчик для обработки выполнения из Dialogflow. Это будет общедоступный URL-адрес, который может принимать HTTPS POST с телом JSON. В вашем случае это будет ваш URL-адрес Heroku, который вы введете на вкладке «Выполнение» в Dialogflow.

См. https://dialogflow.com/docs/fulfillment для получения информации об отправленном вам JSON, JSON, который вам понадобится для ответа, и другую информацию, необходимую для настройки выполнения.

В вашем PHP-коде вы можете делать все, что хотите, с отправляемыми вам данными, в том числе хранить их в MySQL. Затем вы отправите ответ в формате JSON (см. приведенный выше URL-адрес), указав, как вы хотите ответить пользователю.

person Prisoner    schedule 07.12.2017
comment
Привет @Prisoner, это было действительно приятно, и да, у меня есть общедоступный URL-адрес с поддержкой веб-перехватчика, который был развернут в героку, теперь, где я должен использовать это в PHP для получения данных json, чтобы я мог декодировать данные json и отправлять их в мою базу данных MYSQL. Пожалуйста, помогите мне с этим. - person Phani Sai Ram; 09.12.2017
comment
Кроме того, я с правильным URL? Это URL-адрес, сгенерированный с помощью Heroku? или Dialogflow (мой агент)? Пожалуйста, помогите мне с этим. Заранее спасибо! - person Phani Sai Ram; 09.12.2017
comment
Я обновил свой ответ, чтобы немного уточнить, но URL-адрес будет введен на вкладке «Выполнение» Dialogflow. Ваш PHP, который работает в этом месте, получит JSON. - person Prisoner; 09.12.2017
comment
Я загрузил свой файл index.php в Heroku и сгенерировал URL-адрес, я поместил этот URL-адрес на вкладку выполнения Dialogflow. Я включил веб-демонстрацию в интеграции в диалоговом потоке и открыл ее, чтобы протестировать. Когда я ответил привет, я поставил параметр json disiplayText как привет от Heroku. Но вызов Webhook не удался. Ошибка: 500 Внутренняя ошибка сервера. Это мой файл PHP (dropbox.com/s/gciu8mjxz3ngb2d/index .php?dl=0) Пожалуйста, помогите мне с этим. - person Phani Sai Ram; 09.12.2017