Схемы интеграции с SaM oTPravil

Три типа подключения — типовая, модуль рассылок и White Label — с API-методами, глоссарием и тем, что заложить в архитектуру на старте

Об интеграции с SMTP

SMTP-сервис — это не только личный кабинет, но и библиотека API. Чем шире набор методов, тем больше задач закрывает интеграция: отправка, стоп-листы, статусы, домены, ключи.

Схема интеграции описывает, кто с кем разговаривает и какими методами. Ниже — три рабочие схемы SaM oTPravil: их имеет смысл прочитать до оценки трудозатрат, а не после первого 550.

Документация API › · Особенности интеграции с SMTP ›

Глоссарий

Одни и те же слова в трёх схемах значат разное. Сначала термины — потом стрелки.

Термин Что это
Сервис или SMTP-сервис Платформа SaM oTPravil
Пользователь Бизнес, который использует SaM oTPravil как поставщика
Клиент Клиент Пользователя — когда Пользователь даёт своим клиентам возможность отправлять рассылки
Подписчик Получатель письма
Мастер-система или Система Система Пользователя, в которую встраивается Сервис
White Label SMTP-сервис под вашим брендом
Документация Документация API SaM oTPravil
Клиентская документация Документация Клиента на основе Документации Сервиса. Пример: docs.selectel.ru/selectel-email-service
Рассылка ID интеграции: доступы, стоп-листы и пул IP. Для SMTP-протокола это ещё и SMTP-логин
API-ключ или клиентский ключ Ключ для методов из Документации
Мастер-ключ Ключ для White Label-методов из Документации
Домен Домен отправителя, с которого уходят письма, например example.com
Выпуск Письмо или группа писем на сегмент получателей
Единичная отправка HTTP-метод one-to-one: в получателях только один адрес
Пакетная отправка HTTP-метод массовой отправки: до 500 000 адресов в одном пакете
Email отправителя Адрес From, например from@example.com
Верификация домена Внесение DNS-записей на домен отправителя. Как верифицировать домен ›
DNS_KEY Ключ проверки, что домен соотнесён с рассылкой
Webhook URL сервиса Пользователя или Клиента для статусов отправки
Пул IP-адресов Группа IP рассылки, с которых уходят письма

Как выбрать тип интеграции

Выбор зависит от двух вопросов: зачем нужен SMTP и кто в терминах глоссария является Пользователем — а кто отправителем писем.

Разница типовой и «в сервис» — не в методах отправки, а в том, совпадают ли Пользователь и отправитель. Во втором случае появляется Клиент. White Label — когда Клиенту нужен свой SMTP-сервис в вашем интерфейсе, а не модуль внутри вашей отправки.

Типовая интеграция

Пользователь отправляет свои письма. Это базовая схема: на ней стоят и модуль рассылок, и White Label — просто с другими ключами и рассылками.

Авторизация

Ключ передаётся в заголовке Authorization без префикса Bearer:

Authorization: {{api_key}}

Ключей может быть несколько — это не ошибка, а способ развести трафик. На ключе задаются:

  • IP, с которых уходят письма
  • Проверка адреса по глобальному стоп-листу: включить или выключить
  • Домены, с которых разрешена отправка
  • Локальные стоп-листы копить по домену отправителя или по ключу (по умолчанию — по домену)

В типовой схеме есть пользовательские рассылки и нет клиентских: один бизнес, свои From, свои пулы.

Почему ключей несколько и как не смешать транзакции с маркетингом ›

Единичная отправка

Один получатель: OTP, статус заказа, письмо «ваш пароль». Мастер-система отдаёт выпуск, SMTP-сервис доставляет и возвращает статус.

Id письма из мастер-системы можно передать в поле x_track_id — тогда хуки и issue/status стыкуются с вашим учётом, а не только с нашим.

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

Много получателей: сегмент, дайджест, акция. Пакет принимает SMTP-сервис — мастер-система не обязана «крутить» скорость сама.

Пакет не нагружает мастер-систему ради скорости: очередь и ретраи — на стороне SMTP-сервиса. На хуки поставьте rate limit, иначе первая большая рассылка может положить ваш приёмник.

Пакетная отправка: лимиты и нарезка › · Вебхуки ›

Стоп-листы

Через API можно вести только локальные стоп-листы — накопленные по домену отправителя. Глобальный список Сервиса вы не правите: его можно включить или выключить на ключе.

Как работают стоп-листы в SMTP ›

Интеграция в сервис

Пользователь — ваш продукт (CRM, LMS, helpdesk, SaaS). Клиент — его арендатор, от имени которого уходят письма. Отправка после подготовки — та же типовая схема, но ключ выбирается по типу трафика, а не «один на всех».

Рассылка здесь — это не «кампания в письмах», а настройка: стоп-листы и пул IP, с которых полетят письма Клиентов.

Процесс: подготовка пулов IP

  1. Пользователь Создаёт минимум две рассылки методом blist/create — одну под маркетинг, одну под транзакции.
  2. Пользователь Для каждой рассылки выпускает ключ методом authkey/create и сохраняет его у себя. Связь рассылка ↔ ключ — один к одному.

Как резать пулы, если двух мало:

  • По гео: РФ / EU
  • По риску: high / low
  • По типу трафика: транзакции / маркетинг
  • По Клиентам: свой пул на каждого
Связь Кардинальность Когда
Рассылка ↔ API-ключ Один к одному, уникально Всегда
Клиент ↔ рассылка Один ко многим Клиенты делят пулы по типу трафика
Клиент ↔ рассылка Один к одному Нужна изоляция репутации или биллинга

Процесс: верификация домена

Клиент

  1. Добавляет домен в интерфейсе Пользователя.
  2. Прописывает DNS (DKIM/SPF — константы, которые вы показали в UI).

Пользователь

  1. Рисует экран верификации: SPF и DKIM как константы, без ручной сборки записи Клиентом «на глаз».
  2. Проверяет домен методом blist/domains/verify
  3. Добавляет домен в рассылку методом blist/domains/add
  4. Помечает в своей системе, что этот Клиент может ставить домен в отправителях.

Процесс: отправка

  1. Клиент Запускает рассылку в интерфейсе Пользователя — не в ЛК SaM oTPravil.
  2. Пользователь Определяет тип трафика и вызывает типовую интеграцию с ключом из подготовки пулов.

Мастер-ключ здесь нужен на методы рассылок и доменов. Пользовательский ключ — на отправку. Клиентский ключ Клиенту не показывают: он не ходит в API SaM oTPravil напрямую.

White Label SMTP

SMTP-сервис под вашим брендом, с нашими процессами «под капотом». Нужен хостерам (клиенты держат у вас сайты и хотят рассылки) и SaaS, которые продают SMTP как услугу, а не как встроенный модуль «мы сами шлём за клиента».

Продуктовая страница White Label › · Кейс Selectel ›

Чем отличается от модуля в сервисе

Клиент сам отправляет из своей системы типовой интеграцией, своим клиентским ключом. Пользователь выдаёт доступы и рисует ЛК, но не является отправителем каждого письма.

Клиент

  1. Запрашивает доступы к SMTP в системе Пользователя.
  2. Добавляет домен в интерфейсе Пользователя.
  3. Верифицирует домен (DNS).
  4. Отправляет письма у себя через типовую интеграцию.

Пользователь

  1. Создаёт рассылку под Клиента методом blist/create
  2. Создаёт ключ Клиента методом authkey/create и сохраняет его.
  3. Показывает UI верификации. Параметр dns_key — из ответа blist/create
  4. Проверяет домен blist/domains/verify и добавляет в рассылку blist/domains/add
  5. Показывает Клиенту клиентский ключ в интерфейсе.

Мастер-ключ — у Пользователя, на White Label-методы. Клиентский ключ — у Клиента, на типовую отправку.

Готовый WL избавляет от выстраивания антиспама, репутации пулов и стабильной доставки больших объёмов. Если SMTP нужно унести в свой периметр — это уже МТА, не White Label в облаке.

МТА-решение ›

Что учесть на старте

Архитектуру дешевле решить до первой большой рассылки. Ниже — развилки со схем и из статьи про особенности SMTP: там разбор ошибок 550, ttl_date, шаблонов и очередей.

С чем определиться Как думаем
Сколько пулов IP нужно? Минимум три: маркетинг с глобальным стоп-листом, триггеры с локальным, транзакции без стоп-листа. Для модуля рассылок те же оси плюс гео, риск и при необходимости пул под Клиента.
Ключ на Клиента или на пул? Отдельный ключ на Клиента — только если потребность очевидна (White Label, изоляция ЛК). Иначе один ключ на пул / тип трафика.
Свои служебные домены? Подключайте, только если это нужно продукту. Заменить домены трекинга можно позже, без переделки интеграции.
Какой лимит у приёмника хуков? После первой большой рассылки приёмник легко «ляжет» от скорости хуков. Заложите rate limit на старте.
Будут ли выпуски больше 500 000 адресов? Тогда не единичный метод, а пакетный: до 400 МБ текста в одном запросе, скорость на стороне SMTP-сервиса.
Как отвечать на 550 bounced check filter? Адрес в стоп-листе. Убирайте его из своей базы, чтобы не платить за повтор. В ответе смотрите ttl_date — дату выхода; «0» значит, что выхода нет.
Транзакции и маркетинг с одного ключа? Нет: два ключа. На транзакциях выключите глобальный стоп-лист, иначе отписка от рассылок отрежет сервисные письма.
B2B и корпоративные домены? До боевых объёмов подключите выделенный сендер: иначе частые недоставки из‑за внутренних фильтров и return-path.
SMTP-протокол, не только HTTP? Сессии рвутся на обновлениях серверов (доступность 99,99%, обновляем не все сразу). Держите менеджер очередей: Postfix, Exim, Rabbit, Kafka.

Особенности интеграции с SMTP › · Шаблоны и template_id › · Выделенный сендер › · Свой домен трекинга ›

Если схема уже выбрана — отдайте её разработке вместе с документацией. Если нет — разберём задачу на созвоне.

Обсудить интеграцию Открыть документацию