Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Пользователям iconПользователям
Разработчикам iconРазработчикам
Администраторам iconАдминистраторам
Русский
  • Русский
  • English
Войти
    Документация пользователя
    С чего начать
    FAQ
    Термины
      Обновления платформыarrow
    • v2026.1.76
      v2025.4.75
      v2025.4.74
      v2025.3.73
      v2025.2.72
      v2025.1.71
      v2024.4.70
      v2024.3.69
      v2024.2.68.2
      v2024.1.68
      Хранение и сбор данныхarrow
    • Ресурсы подписок
      Работа с базами данных
      Профиль подписчика
      Импорт профилей клиентов и обновление данных
      Импорт данных по расписанию
      Автоматизация сбора данных о профиле
      Массовое обновление профилей клиентов
      Double opt-in подписка
      Стоп-списки
      Связи между профилями
      Экспорт истории профилей
      Экспорт профилей
      Автоматическое создание статического сегмента при импорте
      Как открыть CSV-файл
      Матчинг
      Типы полей в базе данных
      Глобальные контрольные группы
      Менеджер подписок
      Каналы коммуникацииarrow
      • Email-каналarrow
      • Рекомендации по взаимодействию с ISP
        Настройка собственного from-домена
        Настройка и использование постмастеров
        Быстрый старт
        Push-каналarrow
        • Mobile Pusharrow
        • Настройка и подключение
            Интеграция приложения с Altcraftarrow
          • Провайдеры: структура push сообщения
            Обработка и добавление подписки
            Регистрация событий
          Web Pusharrow
        • Предварительные настройки
            Настройка для различных браузеровarrow
          • Apple Safari
            Mozilla Services
            Firebase Cloud Messaging
          Подключение Web Push на сайт
          Передача данных в платформу
          Методы Web Push SDK
            Миграция и перенос подписокarrow
          • Перенос push-подписок из стороннего сервиса
            Как перенести push-подписки, настроенные для Safari
            Миграция с OneSignal
      SMS-канал
        Создание рассылки с нуляarrow
      • Email
        SMS
        Web Push
        Mobile Push
        WhatsApp
        Viber™
        Руководство: SMS-рассылка через VK Notify
        MAX Bot
        MAX Group
        Notify
        Telegram Bot
        Telegram Group
      Схема работы каналов коммуникации
      Руководство: SMS-рассылка через УТШ
      Руководство: push-рассылка через сервис от "Согласие"
      Сегментацияarrow
    • Статические сегменты
      Динамические сегменты
      Обновляемые сегменты
        Условия сегментацииarrow
      • Сегментация по данным профиля
        Сегментация по взаимодействиям с сущностями
        Сегментация по активности в каналах коммуникации
        Сегментация по внешним данным
        Сегментация по внешним SQL-таблицам
        Сегментация по структуре профиля
      Лучшее время отправки (BST)
      Логические операторы "И" и "ИЛИ"
      Рекомендации по работе с сегментами
      Шаблоны сообщенийarrow
      • Работа с шаблонами сообщенийarrow
      • Работа в редакторе
        Email-шаблон
        SMS-шаблон
        Push-шаблон
        MAX-шаблон
        Telegram-шаблон
        WhatsApp-шаблон
        Viber™-шаблон
        Notify-шаблон
        Визуальный редактор для email-шаблонаarrow
      • Интерфейс редактора
        Добавление элементов
        Элементы и их настройки
        Пользовательские блоки
        Стили элемента
        Структура элементов
      Блочный редактор для email-шаблона
      Фрагменты шаблонов
      Изображения в сообщениях
      Персонализация контента в сообщениях
      Формирование таблиц на основе элементов массива
        Переменные и функции Altcraftarrow
      • Использование логических выражений в сообщениях
        Использование циклов в сообщениях
        Использование переменных маркета в сообщениях
        Использование функционала JSONPath
        Динамический контент сообщенийarrow
      • Использование API-контента в сообщениях
        Использование HTML-контента в сообщениях
        Использование JSON-контента в сообщениях
        Использование контента из SQL базы данных в сообщениях
      Импорт и экспорт шаблона сообщения
      Экспорт шаблона из Pixcraft
      Импорт шаблона из стороннего сервиса
      Рассылкиarrow
    • Календарь рассылок
      Броадкаст рассылка
      Регулярная рассылка
      Триггерная рассылка
      Мультивариантный тест (A/B/n)
      Тестирование расылок
      Расписание рассылок
      Размещения
      Кампанииarrow
    • Работа с Кампаниями
      Локальные контрольные группы (ЛКГ)
      Расширение аудитории в кампании
      Разметка аудитории в кампаниях
      Сценарии автоматизацииarrow
    • Работа со Сценариями автоматизации
      Узлы сценария
      Классические сценарии автоматизации маркетинга
      Приветственный сценарий: пошаговая настройка
      Автоматическое оповещение менеджера через сценарий
      Сценарий брошенной корзины
      Маркетarrow
    • Настройки маркета
        Продуктыarrow
      • Создание продукта вручную
        Импорт продукта из файла
        Импорт по расписанию
        Сегменты продуктов и SKU
        Подготовка YML-файла
      Заказы
      Переменные маркета в шаблонах
      Руководство: как отправить письмо подтверждения заказа
      Лояльностьarrow
    • Создание и настройка программы лояльности
      Интеграция лояльности с внешними системами
      Быстрый старт
      Базовые кейсы использования программы лояльности
      Сегменты заказов
      Промокоды
      Веб-слойarrow
      • Формыarrow
      • Создание формы
        Конструктор формы
        Оформление формы
        Действия при активации формы
        Аналитика данных
        Связывание данных канала и формы
        Условная постраничная логика в формах и опросах
        NPS-тестирование
        Пикселиarrow
      • Целевые действия клиентов и скоринг
        Попапыarrow
      • Создание и публикация попапа
        Настройка попапа в редакторе кода
        Управление попапами вручную через скрипт
        Аналитика попапов
        Руководство: попап для подписки на push
        Базовые кейсы размещения попапа через Менеджер тегов
        Кейс: Создание попапа с виджетом "Колесо фортуны"
        Менеджер теговarrow
      • Настройка и установка Менеджера тегов
        Типы триггеров
        Типы переменных
        Связывание пикселя и Менеджера тегов
      Отчеты и аналитикаarrow
    • Отчет по каналам
      Отчёт по трафику
        Сводный отчётarrow
      • Все показатели сводного отчета
      Когортный отчёт
      Время жизни
      Воронка конверсии
      Цели
      Прирост аудитории
      Карта кликов (Email)
      Отчет по программам лояльности
      Отчёт о возвратах
      Отчёт о недоставках
      Отчет по глобальным контрольным группам
      Интеграцииarrow
    • Синхронизация статических сегментов
      MAX
      Яндекс.Аудитории™
      Аудитории Google Ads
      Facebook Ads Manager™
      Область видимости интеграции
      WhatsApp
      Viber™
      Tilda™
      Yandex AppMetrica™
      Lpgenerator™
      VK Реклама™
      Передаваемые при синхронизации данные
        Интеграция сторонних сервисов с Altcraft через Albatoarrow
      • Подключение Altcraft к Albato
        Запуск приветственного сценария через Albato
        Передача данных о событии
        Отправка триггерной рассылки
        Регистрация событий
        Импорт данных из Google Sheets через Albato
        Передача данных из Altcraft
      Notify
        Захват событийarrow
      • Захват событий Altcraft
        Типы событий для захвата
        Структуры сообщений захвата событий
        Отправить JSON-запрос батчем
        Отправить сообщение в очередь RabbitMQ
        Отправить сообщение в exchange RabbitMQ
        Отправить сообщение в Kafka broker
        Предварительное тестирование события
      Настройкиarrow
    • Настройки аккаунта
      Настройки атрибутов
      Поисковые теги: создание и применение
      Пользовательские ссылки
      Виртуальные сендеры
      Политики отправки
        Пользователи и разграничение доступаarrow
      • Двухфакторная аутентификация (2FA)
        Подключенияarrow
      • Подключение к Facebook Ads
        Подключение к Google Ads
        Подключение к Яндекс.Аудиториям™
        Подключение к 360dialog
        Подключение к Edna
        Подключение к Devino Telecom
        Подключение к SMS Traffic
        Подключение к VK Рекламе™
        Подключение к MTS OmniChannel
        Подключение через OAuth2
        Подключение через Basic Authentication
        Подключение через Token Authentication
        Подключение через Custom Authentication
        Подключение к MAX
        Подключение к Notify
        Подключение к Rapporto
      Журнал аудита
      API-запросы: с чего начатьarrow
    • Импорт и обновление профиля
      Запуск триггерной рассылки
      Отправка профиля клиента в сценарий
    Архив документации
    Библиотека email-маркетолога
  • Каналы коммуникации
  • Схема работы каналов коммуникации

Схема работы каналов коммуникации

Общая структура​

При запуске кампании запускается бинарный файл campaign, который:

  • обрабатывает шаблон и бизнес-логику (стоп-списки, лимиты, подписки, фильтры и т.д.);
  • формирует структуру сообщений для отправки;
  • направляет готовые сообщения в очереди RabbitMQ;
  • фиксирует ошибки в журнале кампании.

Далее каждое сообщение попадает в соответствующий сервис обработки в зависимости от канала.


Email​

Для email-канала поддерживается несколько видов сендеров (отправщиков): AKMTA (сендер Altcraft) и внешние сендеры. В зависимости от используемого сендера, схема работы может отличаться.

Процесс отправки​

AKMTA​

Кампания отправляет сообщения в очереди:

  • akmta_<sender_id> — обычная очередь;
  • akmta_prior_<sender_id> — приоритетная очередь;
  • geo_akmta_<sender_id> — очередь рассылки по часовому поясу. Она приоритетнее обычной очереди, но менее приоритетна akmta_prior. Используется для того, чтобы даже при высокой нагрузке на платформу клиент получал коммуникации в пределах выбранного часа в его часовом поясе.

Из очередей сообщения обрабатывает сервис akmtad. Дальнейшее поведение процесса akmtad зависит от приоритетности сообщения:

  • Для неприоритетных сообщений — сохраняет сообщения на диск, периодически читает и отправляет их по стратегии отправки, заданной для конкретного sender_id;
  • Для приоритетных — производит попытку немедленной отправки. Если установлены правила повторной отправки, то при неудаче сообщение будет сохранено на диск.

На диске сообщения попадают в очередь spool. Отправка оттуда происходит в соответствии с правилами сендера, платформа "читает" spool с периодичностью равной MTA_EXCHANGE_SCAN_PERIOD. Обратите внимание, что эти сообщения больше не хранятся в RabbitMQ.

Схема отправки выглядит следующим образом:

campaign —> Очередь RMQ (akmta / akmta_prior) —> akmtad —> (при неудаче — запись в очередь spool на диске ) —> SMTP

Остальные сендеры​

Отправка происходит от бинарного файла campaign через внешний HTTP-запрос. Если платформа не может отправить сообщение, то регистрируется ошибка кампании. Обратите внимание, что подобная ошибка не засчитывается как "Недоставка" и в отчет по недоставкам не вносится.

Регистрация статусов​

AKMTA​

Статусы доставки регистрируются сразу по:

  • коду ответа SMTP-сервера;
  • bounce-паттернам (анализ шаблонов возвратов).

Остальные сендеры​

Cтатус события обрабатывают трекинг-сервисы платформы.

Повторная отправка​

AKMTA​

  • Правила повторов задаются отдельно через Панель администратора. О том, как это сделать, можно прочесть в документации администратора;
  • В зависимости от SMTP-кода регистрируются статусы hard bounce или soft bounce;
  • Для soft и hard bounce правила повторной отправки могут отличаться.

Остальные сендеры​

Для остальных сендеров повторные попытки отправки не предусмотрены. В случае ошибки при отправке http-запроса, платформа не производит никаких действий.


SMS​

Процесс отправки​

Кампания отправляет сообщения в одну единую очередь — sms_sender. Затем сервис procintegras рассылает сообщения из очереди. Некоторые шлюзы поддерживают отправку батчем.

Регистрация статусов​

Регистрация статуса работает одним из следующих способов:

  • Шлюз присылает статус сообщения через вебхук. Статус обрабатывается сервисом procsmslisten;
  • Платформа "опрашивает" шлюз. Статус обрабатывается сервисом procsmsev.

Время жизни SMS-сообщения указывается в параметре конфигурации SMS_DEFAULT_TTL (по умолчанию ― 1 сутки). Платформа регистрирует недоставку, если статус не получен в течение этого времени.

Повторная отправка​

Повторные отправки SMS-сообщений происходят через 60, 120, 180, 300 и 600 секунд с момента последней неудачной попытки. Максимальное количество попыток — 5.


Push​

Процесс отправки​

Кампания отправляет сообщения в очередь. Очередь зависит от провайдера:

  • APNs — apns_push_sender
  • Firebase — firebase_push_sender
  • Huawei — huawei_push_sender
  • RuStore — rustore_push_sender
  • Браузерные push Firefox и Safari — web_push_sender
  • Прочие push-провайдеры — custom_push_sender

Затем сервис procintegras рассылает сообщения из очереди. Некоторые шлюзы поддерживают отправку батчем.

Регистрация статусов​

За обработку статуса браузерных веб-пушей отвечает сервис cookie_saver, который отправляет событие в push_events. Дальнейшая обработка происходит в procpush.

Регистрация статусов для мобильных push происходит схожим образом, главное отличие в том, что обработка асинхронных отправок происходит в очереди push_events, а синхронные сразу обрабатываются сервисом procrpc.

Время жизни push-сообщения указывается в параметре конфигурации MTA_DEFAULT_TTL (по умолчанию — 3 суток). Недоставка регистрируется, если не получен статус в течение этого времени.

Синхронные и асинхронные запросы

Синхронные запросы — те запросы, при которых платформа регистрирует ответ по результату отправки, т.е. платформа ждет ответа на свой запрос.
Асинхронные запросы — те запросы, при которых платформа регистрирует ответ по постановке отправки в очередь, т.е. платформа не ждет ответа на свой запрос.

Повторная отправка​

Сендер смотрит на ответ шлюза и на возвращаемые заголовки и, в зависимости от ответа, устанавливает правило повтора. Если в ответе шлюза содержатся конкретные указания (например, шлюз "просит" попробовать заново через 5 минут), то повторная отправка будет выполнена в соответствии с ними. Если ответа нет, или в нем не содержатся точные указания, то срабатывают правила, установленные в конфигурации платформы:

  • PUSH_SENDER_RETRY_MAX_AMOUNT — максимальное количество попыток повторной отправки push-сообщений. По умолчанию — 3;
  • PUSH_SENDER_RETRY_INTERVAL — время между попытками повторной отправки (в секундах). По умолчанию — 1800;
  • PUSH_SENDER_RETRY_SCAN_INTERVAL — периодичность сканирования базы повторных отправок на наличие новых записей (в секундах). По умолчанию — 60.

Подробнее об этих параметрах можно прочесть в документации администратора.


Каналы мессенджеров​

Процесс отправки​

Кампания отправляет сообщения в очередь. Далее сообщения в очереди RabbitMQ обрабатываются в зависимости от канала:

  • Telegram Group, Telegram Bot — очередь piper_messages, обрабатывается в procpiper;
  • Viber, WhatsApp, Notify, MAX Group, MAX Bot — обрабатывается в procintegras.

Регистрация статусов​

  • Telegram — регистрируется в зависимости от http-ответа Telegram. Доставка регистрируется, если нет ошибок во время отправки в API Telegram. Соответственно, недоставка регистрируется, если платформа получила в ответ ошибку при отправке;
  • Viber, WhatsApp, Notify — статусы попадают в платформу через вебхуки. Если во время отправки сообщения получена ошибка, то регистрируется событие недоставки. Статусы "прослушиваются" сервисом trklisten.

Повторная отправка​

В данный момент повторные отправки для сообщений в мессенджерах кроме MAX не предусмотрены. Для MAX повторная отправка происходит через 15, 30, 60, 120, 300 секунд, далее регистрируется событие недоставки.

Ограничения по отправкам

Для Telegram действует ограничение в 28 запросов в секунду на один токен.
Для Notify по умолчанию установлено ограничение 20 запросов в секунду, значение можно изменить в параметре конфигурации VKNOTIFY_SEND_LIMIT_PER_SECOND, максимально — 50 запросов в секунду.
Для Viber по умолчанию установлен максимум в 50 запросов в секунду, изменяется в параметре VIBER_DEVINO_SEND_LIMIT_PER_SECOND.
Для WhatsApp по умолчанию установлено ограничение в 20 запросов в секунду (WHATSAPP_SEND_LIMIT_PER_SECOND); у различных провайдеров могут быть установлены свои ограничения по запросам.

Последнее обновление 25 мар. 2026 г.
Предыдущая страница
Telegram Group
Следующая страница
Руководство: SMS-рассылка через УТШ
  • Общая структура
  • Email
    • Процесс отправки
      • AKMTA
      • Остальные сендеры
    • Регистрация статусов
      • AKMTA
      • Остальные сендеры
    • Повторная отправка
      • AKMTA
      • Остальные сендеры
  • SMS
    • Процесс отправки
    • Регистрация статусов
    • Повторная отправка
  • Push
    • Процесс отправки
    • Регистрация статусов
    • Повторная отправка
  • Каналы мессенджеров
    • Процесс отправки
    • Регистрация статусов
    • Повторная отправка
© 2015 - 2026 Altcraft. Все права защищены.