Куда будет отправляться ответ селектора каруселей при использовании сервера выполнения Dialogflow?
Я пытаюсь выяснить, как я могу встроить ответы Google Actions, такие как карусель, в ответ webhook для DialogFlow.
Как поясняется в разделе Есть ли способ просто следовать URL-адресу в Caroussel Selector? Селектор карусели может использоваться для представления пользователю определенных опций. Когда пользователь щелкает, выбранный элемент будет отправлен обратно на внутренний сервер. Как уже говорилось, я использую Dialogflow, поэтому сервер выполнения отправит список каруселей помощнику.
Мне не ясно, на какой конечной точке REST будет предоставлена информация о выбранном элементе. Будет ли это на конечной точке веб-подключения Dialogflow? Или я должен предоставить веб-крюк для действий Google для этого (с gactions
Инструмент CLI)?
В случае последнего, как мы можем предотвратить, чтобы эта конфигурация не конфликтовала с конфигурацией Dialogflow? Поскольку я не использую Действия Google для фактического потока разговора, я должен иметь actions.json
который не слушает ни одной приветственной фразы?
1 ответ
Для начала - будьте уверены. Вам нужен только один веб-крючок, который вы уже используете для работы с Dialogflow. Ответы будут проходить через Dialogflow, но вам нужно убедиться, что вы добавили Intent для его обработки.
Намерение должно быть настроено на использование события actions_intent_OPTION
, Вы не должны давать ему какие-либо обучающие фразы, но убедитесь, что вы установили действие и включили селектор выполнения.
Когда вы обрабатываете это в своем webhook, если вы используете API-интерфейс Node.js, ключ опции будет находиться в контексте с именем actions_intent_option
, Вы можете получить к нему что-то вроде этого:
const param = app.getContextArgument('actions_intent_option', 'OPTION').value;
Если вы предпочитаете использовать JSON, вы можете найти информацию в
originalRequest.data.inputs[0].arguments[0].textValue