#ibm-cloud #ibm-watson #watson-assistant
#ibm-cloud #ibm-watson #watson-помощник
Вопрос:
Мой webhook возвращает массив элементов. Мне нужно, чтобы IBM Watson Assistant отвечал пользователям этими элементами в качестве опций.
Как я могу этого добиться?
Комментарии:
1. Количество возвращаемых параметров фиксировано или изменяется?
Ответ №1:
Структура JSON для ответа IBM Watson Assistant с параметрами документирована. Вы уже упоминали, что ваш webhook вернул массив элементов. Он должен соответствовать этой структуре.
Теперь в вашем диалоговом окне вам нужно будет добавить этот массив параметров myOptionsArray в свой вывод. Предполагая, что данные массива хранятся в переменной myvar, используйте что-то вроде этого:
<? output.generic.addAll($myvar.myOptionsArray) ?>
Общий относится к общему формату вывода JSON — в отличие от формата интеграции JSON. Приведенное выше выражение может быть помещено в ответ или в какое-либо промежуточное назначение. Возможно, потребуется немного поэкспериментировать, но это работает…
Комментарии:
1. Спасибо @data_henrik, это было очень полезно.
2. Также смотрите это сообщение в блоге: medium.com/ibm-watson /…
Ответ №2:
ответ @data_henrik был очень полезным, но он был немного расплывчатым. Итак, я решил опубликовать свой собственный ответ. Я внес некоторые изменения в свою функцию, чтобы результат, который она возвращает, соответствовал формату параметров, как на изображении ниже.
И так же, как предложил @data_henrik, я сохранил этот результат в контекстной переменной с именем myOptions и использовал ее как :
<? output.generic.addAll($myOptions) ?>
Комментарии:
1. Не уверен, что добавляет ваш ответ. Я указал на официальный формат и показал, как его использовать.