Спросить ИИ
Русский RU
Перейти в Watbot

Обновить HTML-виджет

Блок меняет данные виджета, который бот уже отправил контакту, — карточка перерисуется в том же сообщении. Например, после оплаты карточка заказа показывает «Оплачено», а на карте лояльности после покупки появляется новый штамп. Новое сообщение при этом не приходит.

Работает в Telegram и в чате на сайте — там же, где показываются HTML-виджеты.

Карточку перерисовывает сам код виджета по событию chatDataChanged — см. Ответ виджету и новое состояние. Если код рисует карточку только при загрузке, после обновления она останется прежней.

Панель настроек блока «Обновить HTML-виджет»Панель настроек блока «Обновить HTML-виджет»

Настройки

  • «Какой виджет» — блок «HTML-виджет» или AI-агент, который отправил виджет. Обновляется последний виджет, который этот блок отправил контакту.
  • «Новые данные виджета (chat_data)» — новое состояние виджета, до 1024 байт, обычно JSON. Оно полностью заменяет прежние данные, поэтому повторите и то, что не меняется. Работают автоподстановки: {"stamps": {{ $stamps }}}. Если оставить поле пустым, данные виджета сотрутся.

Шаблоны «Карта лояльности» и «Статус заказа» в блоке «HTML-виджет» рассчитаны на этот блок: увеличьте переменную контакта и запустите «Обновить HTML-виджет» с теми же данными, что в виджете.

Выходы

  • «Продолжить» — бот идёт дальше всегда, даже если обновить не получилось.

Если обновить не удалось, причина появится в «Логе выполнения» блока: контакт не из Telegram и не из чата на сайте, выбранный блок ещё не отправлял ему виджет, данные больше 1024 байт или Telegram не принял обновление.

Совет

Чтобы перерисовать виджет сразу после нажатия в нём, этот блок не нужен: задайте переменную контакта widget_chat_data в сценарии после выхода — см. Ответ виджету и новое состояние.