Редактировать запрос в js перед отправкой в ​​конечную точку полного заполнения - PullRequest
0 голосов
/ 12 июня 2019

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

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

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

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

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

Возможно, это невозможно при использовании интеграции с Web Demo. В Документация не может найти способ просто отправить строку или аудио для получения сгенерированного запроса.

1 Ответ

0 голосов
/ 12 июня 2019

Прежде всего вам понадобится настраиваемая интеграция чата, а не диалог по умолчанию.Что-то вроде Smooch или Kommunicate.Веб-демонстрация по умолчанию должна использоваться только для тестирования вашего бота.Нет никакого способа использовать его в производственной среде.

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

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

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

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

...