Отредактируйте запрос в js перед его отправкой в ​​конечную точку заполнения

Мне нужно отредактировать запрос перед его отправкой в ​​конечную точку.

Используя интеграцию с веб-демонстрацией, я могу отправить запрос на конечную точку. Но я не могу отредактировать запрос, чтобы предоставить дополнительные данные для запроса. Дополнительные данные хранятся в localStorage, поэтому мне нужно сделать это в javascript.

Я уже подключил агент к конечной точке, которая обрабатывает запрос с использованием полного заполнения. Проблема в том, что в запросе отсутствуют данные, которые я могу получить только из браузера. Из полного заполнения я могу установить заголовки и базовую аутентификацию, но статически и этого недостаточно.

Поэтому мне нужно добавить шаг в создание / отправку запроса:

  1. Пользователь пишет или сообщает что-то во встроенном чате (интеграция с веб-демонстрацией)
  2. Dialogflow распознает намерение, параметры, генерирует запрос.
  3. Дополнительный шаг: Обновите запрос в javascript
  4. Перенаправить сокращенный запрос в конечную точку

Возможно, это невозможно с помощью интеграции с веб-демонстрацией. В документации невозможно найти способ просто отправить строку или аудио, чтобы получить сгенерированный запрос.


person assistbss    schedule 12.06.2019    source источник


Ответы (1)


Прежде всего, вам понадобится настраиваемая интеграция чата, а не стандартная Dialogflow. Что-то вроде Smooch или Kommunicate. Веб-демонстрацию по умолчанию следует использовать только для тестирования вашего бота. Нет НИКАКОГО способа, которым вы хотели бы использовать это в производственной среде.

Я бы сохранил все, что находится в локальном хранилище, в базе данных, такой как Firestore. Как только эти данные будут в базе данных, вы можете использовать их для изменения вашего запроса при выполнении.

Итак, что бы я сделал:

  1. Иметь способ идентифицировать пользователя и сохранять его локальное хранилище в базе данных (как только кто-то нажимает на ваше окно чата или открывает окно чата)
  2. После срабатывания намерения вы проверяете, какой пользователь связывается с вами (по способу, которым вы его идентифицировали), и получаете все данные из базы данных.
  3. Запросите данные на вашем сервере выполнения

Это невозможно по-другому. Вы не можете изменять запросы до того, как ваш запрос попадет в Dialogflow.

person Mathias Schrooten    schedule 12.06.2019
comment
Пожалуйста, взгляните на обновленный запрос, поскольку я уже сказал, что я уже могу достичь конечной точки (с использованием полного заполнения), но запрос должен быть обновлен данными из браузера пользователя, прежде чем его можно будет отправить в конечную точку. - person assistbss; 12.06.2019
comment
@assistbss Я изменил свой ответ ^ - person Mathias Schrooten; 12.06.2019
comment
Честно говоря, мне вообще не нужен чат, мне просто нужно отправить аудио или текст в диалог, и я не могу найти api для общения с диалоговым потоком. Документация, кажется, охватывает только то, что вы можете делать с console.dialogflow.com. - person assistbss; 13.06.2019