Подключить поддержку рядом с существующей формой
Подготовить черновик с ботом и передать его в штатную форму без автоматической отправки заявки.
Перед началом
Нужны support-кабинет, разрешённый домен, утверждённая база инструкций и команда портала, которая умеет открыть существующую форму. Этот этап дополняет её: пользователь, проект, файлы, снимок экрана и отправка остаются в штатном процессе. Учебная форма на снимке демонстрирует интеграцию; это не экран клиента и не доказательство отправки в его helpdesk.
Что нажимать
- В Мои кабинеты создайте или выберите кабинет технической поддержки. Настройте ответы и знания для своего продукта.
- В Конфигурация → Встраивание заполните название, приветствие и Ссылка на существующую форму обращения. Используйте настоящий HTTPS URL, путь или якорь; для программного открытия нужен обработчик команды портала.
- Настройте политику и подтверждение сообщений, при необходимости включите Отвечать только при найденных материалах. Нажмите Сохранить и применить.
- Подключите домен и установите сниппет с
data-mode="support"и slug выбранного кабинета. Для независимого восстановления команда сайта может добавитьdata-support-urlс действующим адресом или якорем формы. - Откройте виджет и задайте вопрос. Для перехода к человеку нажмите Обратиться к специалисту — действие доступно и при ошибке ответа бота.
- Проверьте Тема и Черновик обращения, исправьте описание и удалите лишние данные. Нажмите Открыть форму с черновиком. Без обработчика автоматического переноса нет: используйте Копировать черновик и Открыть форму поддержки.
- Когда портал подтвердит открытие и заполнение, чат свернётся. Проверьте текст в штатной форме, приложите файлы и нажмите её собственную кнопку отправки. Только результат штатного процесса подтверждает регистрацию обращения.
- Для другой проблемы нажмите Новый диалог. Команда портала также сбрасывает диалог при logout или смене пользователя/проекта. Предыдущая серверная история не удаляется; локальная переписка, очередь и отметка согласия очищаются.
2026-10-15 · Действующая console и виджет, локальный интеграционный стенд с учебными данными. Форма учебная; реальные заявки не отправляются.
- Название в виджете
- Ссылка на существующую форму обращения
- Отвечать только при найденных материалах
- Сохранить и применить
2026-10-15 · Действующая console и виджет, локальный интеграционный стенд с учебными данными. Форма учебная; реальные заявки не отправляются.
- Черновик обращения
- Открыть форму с черновиком
- Копировать черновик
- Обратиться к специалисту
Что подключает команда портала
Исходный код портала остаётся у заказчика. Его разработчики устанавливают виджет и обработчик своей формы по этой инструкции; доступ команды IAM.Bot к репозиторию портала не требуется. Пакет внедрения для разработчиков содержит подробную инструкцию для обоих сайтов, bridge, JSON Schema и учебный пример. Перед запуском примера замените SDK/API origins и slug своими значениями. Отдельное приложение для разработчиков с чек-листом beta можно передать команде сайта и портала. Инструкции и примеры универсальны: название компании, домены, категории формы и адресаты задаются для вашего проекта.
На той же странице обрабатывается событие iambot:support-request версии 1.
Портал проверяет поля, заполняет штатную форму и подтверждает только её открытие.
Готовый support-form-bridge.js проверяет размер полей, выбирает нужный slug и
обрабатывает ошибки callback. Пользователь и проект берутся из собственной
авторизации портала; данные виджета не дают прав доступа. Переписка не передаётся
в URL. Сам виджет не читает данные аккаунта или файлы и не создаёт тикет.
Подключите support-form-bridge.js с того же origin, что и widget.js в вашем
сниппете. После загрузки bridge установите обработчик один раз:
const disconnect = window.IAMBotSupportBridge.install({
workspaceSlug: "REPLACE-WITH-SUPPORT-SLUG",
async openForm(request, { signal }) {
// Эти функции реализует ваш портал; здесь показан условный API.
const context = portal.currentContextKey();
const form = await portal.openSupportForm();
if (signal.aborted || context !== portal.currentContextKey()) return false;
const draft = "Тема: " + request.subject + "\n\n" + request.message;
const accepted = await portal.confirmMergeIfDraftExists(form, draft);
if (!accepted || signal.aborted || context !== portal.currentContextKey()) return false;
portal.setSupportCategory(form);
portal.mergeMessageAsPlainText(form, draft);
return portal.isFormVisibleAndPrefilled(form); // строго true, без отправки
}
});
Если поле Тема в вашей форме — список категорий, выберите согласованную
категорию технической поддержки; свободную тему добавьте в сообщение, если
отдельного заголовка нет. При уже введённом тексте предложите объединение,
замену или отмену. Сохраняйте контакты, проект, вложения и снимок экрана.
Используйте текстовые значения или штатный form state API, без innerHTML.
После каждого ожидания проверяйте signal и неизменность пользователя/проекта.
При logout и смене контекста вызывайте window.IAMBotChat?.reset(), при unmount —
disconnect(). Не подтверждайте открытие заранее: через пять секунд операция
отменяется, позднее заполнение недопустимо. Same-page событие не является
доказательством авторизации.
Как проверить результат
В форме виден именно отредактированный текст. Открытие не отправляет обращение; вложения работают обычным способом. Проверьте фактическое получение специалистом после ручной отправки. При отсутствии подтверждения за пять секунд черновик остаётся доступным; виджет не объявляет форму открытой или заявку зарегистрированной.
Если не получилось
Используйте копирование и прямую ссылку. Если нет ссылки, откройте поддержку через штатное меню портала. Администратор проверяет сохранённый адрес, а команда портала — обработчик события и подтверждение после реального открытия. Отказ модели не должен блокировать штатную форму. Автоматические тикеты и ответы оператора в чате требуют отдельной интеграции и не входят в этот этап.