EnotPRO Logo EnotPRO

HTTP - ответы

HTTP-ответ — это заготовленный шаблон ответа, который бот отправляет клиенту в ответ на входящий Webhook-запрос. Позволяет гибко управлять кодом статуса, заголовками и телом ответа — с поддержкой переменных из контекста.

Интерфейс

Зачем нужны отдельные HTTP-ответы?

Когда на вебхук приходит запрос, бот обрабатывает его через триггер. По завершении триггера ответ клиенту отправляется автоматически — с настройками, заданными прямо в самом Webhook.

HTTP-ответ нужен, когда вы хотите переопределить стандартный ответ вебхука: использовать другой код, заголовки или тело — в зависимости от логики триггера. Для этого в триггере вызывается экшен "Отправить HTTP ответ" с указанием ID нужного шаблона. После вызова экшена стандартный ответ вебхука уже не используется.

Таким образом, HTTP-ответ — это переиспользуемый шаблон, который можно привязать к разным триггерам.

Настройки

Функция Описание
Переименовать Изменение названия ответа
Удалить Безвозвратное удаление ответа

Код ответа

HTTP-код статуса, который будет возвращён клиенту. Поддерживает переменные из контекста бота.

Допустимый диапазон: 100–599. Если значение пустое или некорректное — используется код 200.

Подробнее о кодах ответа: Коды статуса

Параметры

Headers

Headers (Заголовки) — Мета-данные ответа в виде пар ключ: значение. Идут перед телом.

Поддерживают переменные из контекста бота.

Ограничения:

  • Ключ: до 256 символов
  • Значение: до 4096 символов

Примеры использования:

  • Указание типа данных (Content-Type: application/json)
  • Управление кешированием (Cache-Control: no-cache)
  • CORS-политики (Access-Control-Allow-Origin: *)
  • Кастомные заголовки для клиента

Body

Body (Тело ответа) — Данные, которые будут переданы клиенту.

Режимы тела:

Режим Описание
Off Тело не отправляется. Клиент получит только код статуса и заголовки
Template Текстовый шаблон. Может содержать переменные из контекста бота. Размер — до 1MB
Path Путь к данным в контексте бота. Данные автоматически сериализуются в JSON. Размер — до 1MB

Режим File в текущей версии не поддерживается.

Авто Content-Type

Если включено и заголовок Content-Type не задан вручную — платформа определит его автоматически:

  • Если тело начинается с { или [application/json
  • В остальных случаях → text/plain; charset=utf-8

Триггеры

Триггер Когда выполняется
Подготовка Перед формированием ответа. Можно подготовить переменные для подстановки в шаблон
Завершение После отправки ответа клиенту. Можно зафиксировать результат, логировать и т.д.

Данные ответа в контексте

После отправки ответа в контекст бота записываются данные об операции (web.response):

Поле Описание
ok true если код ответа равен 200
code Итоговый HTTP-код ответа
name Название HTTP-ответа
response_id ID использованного HTTP-ответа
webhook_id ID вебхука (если ответ задан в самом вебхуке)
headers Отправленные заголовки
body Отправленное тело ответа
error Описание ошибки (при таймауте и т.п.)

Таймаут

Клиент ожидает ответ 30 секунд. Если за это время экшен "Отправить HTTP ответ" не был вызван — клиент получит код 504 Gateway Timeout, а в контекст будет записана ошибка "request timed out".

© 2025 EnotPRO. Все права защищены.