Как прочитать ответ веб-перехватчика в Dialogflow CX

Я создал простой агент в Dialogflow CX. Когда пользователь вводит название города, он должен отобразить пин-коды, которые принадлежат введенному городу. Чтобы получить пин-коды, я выполнил запрос POST через веб-перехватчик. URL-адрес веб-перехватчика возвращает требуемый пин-код в формате JSON, но я не знаю, как его отображать в чате.

Могу ли я получить ссылки на учебные пособия? ИЛИ Какие изменения мне нужно добавить в Агент, чтобы прочитать ответ JSON.


person kiran    schedule 02.02.2021    source источник


Ответы (1)


Не знаю, действительно ли это решит вашу проблему, но недавно у меня были сомнения, похожие на ваши, и это прояснило их для меня.

Из документации Google для CX Webhooks ответное сообщение на вызов веб-перехватчика структурировано с помощью поля Выполнение_ответа: оно содержит то, что бот скажет пользователю, если вызов веб-перехватчика успешный.

Итак, чтобы ответить на ваш вопрос, что должно произойти:

  1. Пользователь вводит название города, например Атланта
  2. Бот извлекает название города с параметром и сохраняет его, например, как $ intent.params.city_name
  3. У бота также включен параметр Включить веб-перехватчик для этой страницы, и он, таким образом, выполняет запрос веб-перехватчика в JSON с полем IntentInfo, которое содержит поле parameters.
  4. Вы вызываете свой API для выполнения своих вычислений или чего-то еще в вашем скрипте
  5. Вы создаете WebhookResponse, совместимый с их формат, который содержит поле fillment_response со списком всех почтовых индексов Атланты в таком формате: Вот мы, это $ intent.params.city_name : [ваши вычисленные почтовые индексы]. Для справки, есть пакет API для большинства языков программирования, который может вам в этом помочь.
  6. Бот получит JSON и напрямую ответит пользователю тем, что находится в поле fillment_response.

Надеюсь, это разрешило ваши сомнения!

person fcagnola    schedule 12.02.2021
comment
Спасибо Вам за информацию. Если у вас есть время, пожалуйста, помогите мне с этим: stackoverflow.com/questions/66117304/ - person kiran; 15.02.2021