Dialogflow + Действия в Google Webhook запрос не отправляется

У меня небольшая (большая) проблема с использованием webhook в Dialogflow (API.AI) и Actions в Google.

Я включил webhooks на Dialogflow, и я получаю запросы при попытке мои намерения на их консоли (в правой части страницы). Я также выполнил действия по интеграции с Google (настройка приветствия + автоматическое распространение изменений).

Однако всякий раз, когда я пробую свое приложение в приложении Google Assistant (телефон /google home/ их симулятор), я не получаю никакого запроса на свой сервер (даже 404), но их отладчик показывает эту ошибку:

status": {
      "code": 206,
      "errorType": "partial_content",
      "errorDetails": "Webhook call failed. Error: 404 Not Found"
    },

У кого-нибудь была такая же проблема, или знает решение этой проблемы? Я знаю, что это не мой конец, так как запросы диалогового потока приходят и правильно отвечают.

3 ответа

Ответ Джо дал мне подсказку, которая решила мою проблему.

В моем случае webhook не работает после того, как я включил его для своего агента, поэтому я переключился на другого агента в консоли DialogFlow (в верхнем левом углу), затем переключился обратно на свой рабочий агент, нажал Fulfillment и обнаружил, что он загадочным образом отключен.!

То, что я сделал, было повторно включено и снова вошло в ссылку webhook, затем нажмите "Сохранить". После этого это сработало.

Надеюсь это поможет.

Хорошо, я не помечаю это как решенное, потому что я считаю, что есть много "ошибок" в реализации между Dialogflow и Actions в Google.

Обратите внимание, что это работает, если вы получаете запросы веб-крючка из консоли Dialogflow (справа на странице), но НЕ от действий в симуляторе Google.

1) Попробуйте изменить название приложения в разделе "Информация" в разделе "Действия" в Google и отправлять сообщения от помощника Google с просьбой Talk to <new_app_name>

2) Попробуйте открыть другой проект из выпадающего меню "Действия в Google" (вверху справа) и открыть первый после (думаю, это вызывает некоторую перезагрузку на оборотной стороне)

3) Попробуйте оба

Это работало на меня

Возможно, вы указали ссылку на вкладке выполнения для URL-адреса веб-перехватчика, начинающегося с http. Внутренняя архитектура Dialogflow отклоняет ссылки, которые начинаются с http. Пожалуйста, сделайте https, и он будет работать. У меня это сработало.

Я столкнулся с той же проблемой, когда "Выполнение" не было сохранено, даже если отображается успешное сообщение. В моем случае я сохранил только одну вкладку Dialogflow (остальные закрыл) и, нажав несколько раз на кнопку Save, обновил страницу и убедился, что webhook все еще включен. Затем протестировал приложение на симуляторе и получил почтовый запрос на мой сервер!

Пожалуйста, убедитесь, что следующие пункты:

(1) вы должны заполнить все параметры в разделе " Справочная информация" (вы можете найти эту информацию на левой панели actionOnGoogle).

(2) ваш URL-адрес Webhook должен быть действительным URL-адресом HTTPS.

(3) убедитесь, что ваш сервер прослушивает запрос на публикацию, так как dialogFlow или actionOnGoogle отправит запрос POST по указанному URL-адресу выполнения.

Справочник Информация о actionOnGoogle