Skip to content

Тайм-ауты HTTP-запросов каналов

Тайм-ауты запросов к внешним API каналов задаются через редактор настроек аккаунта (account config) в секции outgoing_http_request_settings. Поддерживаются значение по умолчанию и индивидуальные значения для типов каналов.

Приоритет источников значения

В каждом HTTP-вызове канала используется значение тайм-аута согласно приоритету:

  1. Персональная настройка для типа канала в outgoing_http_request_settings["channel.<channel_type>"].timeout

  2. Значение по умолчанию outgoing_http_request_settings["default"].timeout

  3. Константа базового класса BaseChannelAPI.REQUEST_TIMEOUT (по умолчанию 10 секунд)

Если в конфиге тайм-аут не задан, будет использован следующий по приоритету источник.

Где задаётся

Раздел Настройки аккаунта → Account config. Секция: outgoing_http_request_settings.

Поддерживаются поля:

  • timeout — число (секунды, допускается дробная часть)

  • require_secure_transport — логическое (требовать HTTPS)

  • min_ssl_version — минимальная версия TLS (например, TLSv1_2)

Дополнительные поля могут использоваться для создания HTTP/HTTPS-сессий, но на величину тайм-аута влияет только timeout.

Примеры конфигурации

Глобальный тайм-аут + персональный для Telegram

{
  "outgoing_http_request_settings": {
    "default": {
      "require_secure_transport": true,
      "min_ssl_version": "TLSv1_2",
      "timeout": 10
    },
    "channel.telegram": {
      "require_secure_transport": true,
      "min_ssl_version": "TLSv1_2",
      "timeout": 11
    }
  }
}

В этом примере все каналы используют тайм-аут 10 секунд, а Telegram — 11 секунд.

Только глобальный тайм-аут

{
  "outgoing_http_request_settings": {
    "default": { "timeout": 15 }
  }
}

Все каналы будут использовать 15 секунд.

Идентификаторы типов каналов

Ключ для индивидуальной настройки строится по шаблону channel.<channel_type>. Поддерживаемые значения <channel_type>:

apple_chat
avito
custom
email
email_imap
fb
fb_webim
instagram
instagram_webim
line
odnoklassniki
seventech
skype
telegram
viber
vk
whatsapp_360dialog
whatsapp_gupshup
whatsapp_infobip
whatsapp_vonage

(Примеры ключей: channel.vk, channel.whatsapp_360dialog, channel.line)

Поведение в коде

  • При создании HTTP-сессии канал получает конфиг из outgoing_http_request_settings и сохраняет тайм-аут для всех последующих запросов.

  • Если канал не нашёл персональный конфиг и значение по умолчанию, применяется BaseChannelAPI.REQUEST_TIMEOUT (10 с).

  • Логирование может выводить используемый конфиг и итоговый тайм-аут, что удобно для диагностики:

  • Creating session with config: {...}

  • request timeout: <число>

Ограничения

Изменение через GUI настроек канала для тайм-аута пока не поддерживается. Настройка выполняется через account config.


Последнее обновление страницы: 15 апреля 2026 г.