Ожидание сообщения
Робот Ожидание сообщения ([Telegram] Ожидание ответа / [MAX] Ожидание ответа) приостанавливает выполнение бизнес-процесса до тех пор, пока клиент не отправит сообщение, не будет получен ответ оператора, не закроется диалог или не истечёт таймаут. Это основной робот для построения интерактивных сценариев общения.
Назначение
Заголовок раздела «Назначение»- Ожидать ответ клиента после отправки сообщения или вопроса
- Обрабатывать нажатия инлайн-кнопок (callback)
- Фильтровать ответы по ключевым словам или регулярным выражениям
- Создавать последовательные диалоговые сценарии (чат-боты)
Параметры
Заголовок раздела «Параметры»| Параметр | Описание | Обязательный |
|---|---|---|
| Линия | Линия Олчат, на которой ожидается ответ | Да |
| Тип идентификатора | Способ определения чата: по телефону, ID чата или username | Да |
| ID чата / Username / Телефон | Идентификатор чата, в котором ожидается сообщение | Да |
| Тип совпадения | Критерий, по которому определяется подходящее сообщение | Нет (по умолчанию: Любое сообщение) |
| Паттерн | Ключевое слово, регулярное выражение или callback_data | Нет |
| Отменить при ответе оператора | Прекратить ожидание, если оператор ответил в диалоге | Нет (по умолчанию: Да) |
| Отменить при закрытии диалога | Прекратить ожидание, если диалог закрыт | Нет (по умолчанию: Да) |
| Таймаут (часов) | Максимальное время ожидания (0 = без ограничения) | Нет (по умолчанию: 24) |
Типы совпадения
Заголовок раздела «Типы совпадения»| Тип | Описание | Пример паттерна |
|---|---|---|
| Любое сообщение | Любое входящее сообщение от клиента | — |
| Только текст | Только текстовые сообщения (без медиа) | — |
| Только медиа | Только файлы, фото, видео, голосовые | — |
| Ключевое слово | Сообщение содержит указанное слово или фразу | подтверждаю |
| Регулярное выражение | Совпадение по regex-шаблону | `^(да |
| Нажатие кнопки | Callback от инлайн-кнопки (Telegram) | confirm_order |
Настройка в редакторе роботов
Заголовок раздела «Настройка в редакторе роботов»Шаг 1. Отправьте сообщение или вопрос
Заголовок раздела «Шаг 1. Отправьте сообщение или вопрос»Сначала добавьте робота Отправить сообщение или Сообщение с кнопками, который задаёт клиенту вопрос.
Шаг 2. Добавьте робота ожидания
Заголовок раздела «Шаг 2. Добавьте робота ожидания»После робота отправки добавьте [Telegram] Ожидание ответа или [MAX] Ожидание ответа.
Шаг 3. Настройте параметры ожидания
Заголовок раздела «Шаг 3. Настройте параметры ожидания»- Выберите ту же линию, что использовалась для отправки
- Укажите тот же идентификатор получателя
- Выберите подходящий тип совпадения
Шаг 4. Настройте условия отмены
Заголовок раздела «Шаг 4. Настройте условия отмены»При необходимости отключите автоматическую отмену при ответе оператора или закрытии диалога. Укажите таймаут.
Шаг 5. Обработайте результат
Заголовок раздела «Шаг 5. Обработайте результат»Добавьте условие после робота ожидания для обработки результата. Используйте возвращаемые значения для ветвления логики.
Настройка в дизайнере бизнес-процессов
Заголовок раздела «Настройка в дизайнере бизнес-процессов»В дизайнере бизнес-процессов робот работает аналогично, но предоставляет более гибкие возможности для условного ветвления и обработки результатов.
Возвращаемые значения
Заголовок раздела «Возвращаемые значения»| Значение | Тип | Описание |
|---|---|---|
is_sent | bool | Подписка создана успешно: Y или N |
received_message | string | Текст полученного сообщения |
received_at | string | Время получения сообщения |
timed_out | string | Сработал ли таймаут: Y или N |
wake_reason | string | Причина пробуждения: message, operator, close, timeout |
error | string | Текст ошибки (при неуспешном выполнении) |
error_code | string | Код ошибки |
Причины пробуждения (wake_reason)
Заголовок раздела «Причины пробуждения (wake_reason)»| Значение | Описание |
|---|---|
message | Получено сообщение, соответствующее критерию |
operator | Оператор ответил в диалоге |
close | Диалог закрыт |
timeout | Истёк таймаут ожидания |
Коды ошибок
Заголовок раздела «Коды ошибок»| Код | Описание |
|---|---|
LINE_NOT_FOUND | Линия не найдена или не активна |
CHAT_NOT_FOUND | Не удалось найти чат с указанным получателем |
SUBSCRIPTION_ERROR | Не удалось создать подписку на ожидание |
Примеры сценариев
Заголовок раздела «Примеры сценариев»Подтверждение заказа
Заголовок раздела «Подтверждение заказа»- Отправить сообщение:
Ваш заказ №{{ID сделки}} готов к доставке. Подтвердите получение, ответив «Да». - Ожидание ответа (тип: Ключевое слово, паттерн:
да) - Условие: если
wake_reason = message— подтверждение получено; еслиtimed_out = Y— клиент не ответил
Сообщение с кнопками + обработка нажатия
Заголовок раздела «Сообщение с кнопками + обработка нажатия»- Сообщение с кнопками: отправить вопрос с вариантами ответа
- Ожидание ответа (тип: Нажатие кнопки, паттерн:
confirmилиcancel) - Условие: проверить
received_message— оно содержитcallback_dataнажатой кнопки
Цепочка вопросов
Заголовок раздела «Цепочка вопросов»Последовательность «отправка — ожидание — обработка — отправка — ожидание»:
- Отправить вопрос 1
- Ожидание ответа (тип: Любое сообщение)
- Сохранить
received_messageв переменную - Отправить вопрос 2
- Ожидание ответа
- Обработать все собранные ответы
Примечания и рекомендации
Заголовок раздела «Примечания и рекомендации»- Одновременно может быть активна только одна подписка на ожидание для конкретного чата на конкретной линии
- При ответе оператора в диалоге ожидание автоматически прекращается (если не отключено), чтобы бизнес-процесс не блокировал работу оператора
- Тип совпадения Нажатие кнопки доступен только для Telegram (с инлайн-кнопками)
- При таймауте возвращаемое значение
received_messageбудет пустым