Telegram и Max —
один API на двоих

Подписчик сам выбирает удобный канал. Вы дёргаете один эндпоинт /v1/send — Zapnoty отправит в Telegram или Max в зависимости от канала подписки.

· Webhooks, retry и медиа включены

@zapnotybot
Telegram
POST /v1/send channel: telegram
2
мессенджера в одном API
< 500 мс
медианная доставка
попытки с exponential backoff
12
типов webhook-событий

Без нас

Почему писать отдельно под Telegram и Max — плохо

Два SDK, два токена, два потока ошибок

Telegram Bot API и Max API различаются по формату кнопок, медиа, форматированию и ошибкам. Поддерживать оба — значит удваивать код и тесты.

Retry, rate limit, webhooks — пишете сами

Telegram 429 с Retry-After, Max 5xx, bot blocked, chat not found — каждую ошибку нужно правильно классифицировать и решать, повторять ли.

Пользователь должен выбрать канал

Если вы пишете только в Telegram — теряете пользователей Max. И наоборот. Поддержать оба нативно — недели разработки.

Что внутри

Единый интерфейс поверх двух мессенджеров

Единый эндпоинт /v1/send

Один POST, Zapnoty сам выбирает канал по subscriber_id. Текст, медиа, кнопки, форматирование — одинаковый JSON для Telegram и Max.

Media + inline-кнопки

Фото, видео, документы. URL-кнопки и callback_data с вебхуком button.clicked. До 3 рядов по 3 кнопки — в обоих каналах.

Плейн, Markdown, HTML

Переключаете format: plain/markdown/html — Zapnoty сам конвертирует в формат, который принимает конкретный мессенджер.

Брендинг отправителя

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

Deep link подписка

t.me/zapnotybot?start=proj_SLUG — подписка в один клик с привязкой subscriber_id, permissions и тегов.

Автоматические webhooks

subscription.created, delivery.success/failed, button.clicked — все события с HMAC-SHA256 подписью и retry 3×.

Как это работает

От регистрации до первой отправки — 5 минут

01

Создайте проект и получите ключ

Регистрация через Яндекс, VK или magic link по email. API-ключ формата zn_ + 32 символа создаётся одной кнопкой.

02

Разместите deep link

Пользователь кликает t.me/zapnotybot?start=proj_SLUG → подписан в один клик. Для Max — аналогичная ссылка.

03

Отправляйте через /v1/send

Один Bearer-токен, один JSON. Text или template, опциональные media и buttons. Retry и webhook события — автоматически.

FAQ

Частые вопросы

Telegram Bot API — низкоуровневый: SDK, polling/webhooks, ручной retry, свой webhook-сервер. Zapnoty — SaaS-слой: один REST-эндпоинт, готовый retry с exponential backoff, HMAC-подпись исходящих событий, rate limit, очередь для broadcast, кабинет с аналитикой и командой.

Для разработчика — да. Внутри мы транслируем единый JSON в разные API (Max требует user_id вместо chat_id, другой upload для медиа). Вы не касаетесь этих различий — пишете один раз.

Приходит событие MyChatMember, мы автоматически деактивируем все подписки этого chat_id. Webhook delivery.failed с понятной причиной. Retry не делаем — бессмысленно.

Rate limit — 300 запросов в минуту на проект. При превышении — HTTP 429 с Retry-After. На бесплатном тарифе — 100 кредитов (~100 отправок) в месяц.

Да. Есть бизнес-тарифы с командой до 50-500 пользователей, расширенным retention логов (365 дней) и приоритетной поддержкой. Данные хранятся в РФ.

Нет. Вы используете общий @zapnotybot и его Max-аналог. Брендинг (имя проекта, описание, логотип) добавляется автоматически в каждое сообщение. Для полного white-label — корпоративный тариф.

Бесплатный старт

Подключите за 5 минут

Без привязки карты. 100 кредитов в месяц бесплатно — этого хватит, чтобы попробовать все возможности.