Telegram-бот для продавца Ozon: какие уведомления нужны и как собрать своего за вечер
Какие события из Ozon Seller стоит выводить в Telegram, а какие превращают чат в свалку. Сравнение готового бота с самописным по деньгам, рискам и потолку возможностей, схема на вебхуках из четырёх частей и порядок сборки своего бота за один вечер.
Кабинет Ozon Seller не умеет тыкать в плечо. Письма тонут в почте, пуши в приложении вы отключили на третий день, потому что их приходило по сорок штук. А узнавать про ноль остатка по главному товару или про выгоревший к обеду рекламный бюджет надо в течение часа, а не вечером. Telegram для этого подходит лучше почты: он и так открыт, сообщение читается за секунду, в чат можно посадить напарника и сборщика заказов. Ниже — какие события реально стоит выводить в чат, чем готовый бот отличается от своего, как выглядит схема на вебхуках и что из этого собирается за один вечер.
Почему Telegram, а не почта и приложение
Почта хороша для документов и претензий, где важен след и срок в несколько дней. Для событий, на которые надо реагировать за час, она мертва: письмо от Ozon падает в тот же ящик, где лежат рассылки, и вы видите его вечером. Пуш в приложении Ozon Seller быстрый, но неуправляемый — вы не решаете, что важно, и не можете отфильтровать шум, поэтому уведомления или включены целиком, или выключены целиком.
Telegram снимает обе проблемы: вы сами решаете, что превращается в сообщение, и сами задаёте формат. Плюс три вещи, которых нет ни у почты, ни у приложения. Первая — общий чат: в него добавляется сборщик, бухгалтер, менеджер, и все видят одно и то же событие одновременно. Вторая — темы в супергруппе: заказы в одну ветку, реклама в другую, остатки в третью, и человек читает только свою. Третья — кнопки под сообщением: «собрано», «напомнить через час», «показать карточку» — реакция прямо из чата, без захода в кабинет.
Какие события выводить: правило одного действия
Главное правило, которое сэкономит вам неделю переделок: сообщение отправляется только тогда, когда у читателя есть действие в ответ. Не «для информации», не «чтобы держать руку на пульсе» — только действие. Если на событие вы ничего не делаете, оно идёт в отчёт, а не в чат. Проверяется просто: напишите рядом с каждым типом уведомления, что человек сделает, получив его. Не пишется ответ — вычёркивайте.
| Событие | Откуда берём | Насколько срочно | Что делаете в ответ |
|---|---|---|---|
| Новый заказ FBS | Push от Ozon | Секунды | Собираете и готовите к отгрузке |
| До конца сборки меньше 2 часов | Свой таймер по отправлению | Минуты | Бросаете всё и везёте в ПВЗ |
| Остаток по товару группы A ниже недельного запаса | Опрос API раз в 15–30 минут | Часы | Ставите поставку или поднимаете цену |
| Дневной бюджет кампании выгорел | Опрос Performance API раз в час | Часы | Решаете, доливать или ждать завтра |
| Отзыв на 1–2 звезды | Опрос API раз в час | Сутки | Отвечаете, при браке заводите обращение |
| Претензия, штраф, ограничение карточки | Опрос API плюс письма | Сутки | Читаете срок ответа и отвечаете в него |
| Поставка сменила статус на приёмке | Опрос API раз в час | Сутки | Проверяете расхождения по количеству |
Третья колонка важнее остальных — из неё растёт вся архитектура. Первые две строки требуют мгновенной доставки и отдельного звука. Остальное спокойно собирается в дайджест раз в полчаса: пять строк одним сообщением читаются лучше, чем пять сообщений подряд, и не приучают глаз пролистывать чат.
Одна оговорка про источники. Не каждый метод Seller API открыт всем подряд: часть, включая работу с отзывами, Ozon привязывает к платной подписке продавца, и состав таких методов периодически меняется. Прежде чем закладывать строку таблицы в бота, проверьте доступность метода для своего аккаунта в базе знаний Ozon Seller — иначе напишете обработчик под 403.
Готовый бот или свой: цена, риски и потолок
Готовых ботов под Ozon в каталогах хватает, и для старта это разумный вариант: десять минут на подключение против вечера работы. Но у них общий принцип — вы отдаёте свой API-ключ третьей стороне и получаете фиксированный набор уведомлений в чужом формате.
| Критерий | Готовый бот | Свой бот |
|---|---|---|
| Запуск | 10–20 минут | 3–6 часов на первую версию |
| Стоимость | От бесплатного тарифа до ~1000–1500 ₽ в месяц | VPS от ~150–400 ₽ в месяц |
| Набор событий | Что предусмотрел автор | Любое, что отдаёт API |
| Формат сообщений | Чужой, часто с рекламой | Ваш: артикул, остаток, маржа в одной строке |
| Кнопки и действия | Обычно нет | Любые, вплоть до смены цены |
| API-ключ | Уезжает на чужой сервер | Остаётся у вас |
| Несколько магазинов | Часто за отдельную плату | Бесплатно, отличаются префиксом |
| Сломалось после обновления API | Ждёте автора | Чините сами в тот же день |
Честный вывод: если вам нужны только новые заказы и остатки, а разработчика в команде нет — берите готовый и не тратьте вечер. Свой имеет смысл в двух случаях: когда нужны события, которых нет в чужом списке (маржа по конкретному SKU, свои пороги по ДРР, склейка с 1С), и когда отдавать ключ наружу нельзя по принципиальным соображениям. Промежуточный вариант — сервис аналитики со своими алертами: например, Starbox AI считает прибыль по товарам и следит за рекламой, остатками и поставками, так что часть уведомлений закрывается без кода.
Схема на вебхуках: четыре части и одна очередь
Рабочая схема состоит из четырёх кусков, и её полезно нарисовать до первой строчки кода.
- Приёмник push от Ozon. HTTPS-адрес, который вы прописываете в настройках API в кабинете; площадка стучится туда сама при событиях по отправлениям и сообщениях в чатах с покупателями. Требования жёсткие — публичный домен, сертификат от доверенного центра, никакого самоподписанного, и обязательный корректный ответ на каждый запрос. Точный перечень типов событий и формат ответа проверьте в документации Ozon Seller API: список пополняется.
- Опросчик по расписанию. Всё, чего в push нет — остатки, отзывы, реклама, возвраты, выплаты, — забирается обычными запросами к API по cron. Рекламные метрики живут в отдельном Performance API со своей авторизацией, это отдельный клиент, а не тот же ключ.
- Очередь и состояние. Между источниками и Telegram обязательно ставьте хранилище: таблица «событие — хэш — время отправки». Без неё вы получите повторы (push приходит дважды) и потери (Telegram ответил 429, сообщение умерло). Хэш события — ключ дедупликации, он же спасает при перезапуске сервиса.
- Отправитель в Telegram. Метод
sendMessageBot API: токен от @BotFather,chat_idвашего чата, текст с разметкой. Для некритичного ставьтеdisable_notification, для тем в супергруппе —message_thread_id. Помните про лимиты: около 30 сообщений в секунду суммарно и порядка 20 в минуту в одну группу, выше — ответ 429 с полемretry_after, которое надо уважать, а не игнорировать.
Ключевая мысль — очередь. Соблазн отправлять в Telegram прямо из обработчика push велик, но именно так теряются заказы: Ozon ждёт ответ считаные секунды (точный таймаут и формат ответа смотрите в документации Ozon Seller API), а вы в это время стоите в ретраях Telegram. Приёмник должен только записать событие и ответить, остальное делает отдельный воркер.
Сборка за вечер: семь шагов
Первая рабочая версия занимает 3–6 часов, если не отвлекаться на красоту. Порядок такой.
Создайте бота у @BotFather командой /newbot — получите токен вида 1234567:AA.... Дальше заведите группу, добавьте туда бота и отправьте в чат /start@имя_бота. Именно с упоминанием: у ботов по умолчанию включён privacy mode, обычные сообщения группы до них не доходят, и getUpdates вернёт пустой список — на этом месте половина людей полчаса думает, что сломала токен. Из ответа getUpdates заберите chat_id: у супергрупп он отрицательный и начинается с -100, это нормально. В личной переписке бот первым не напишет — человек сначала сам жмёт Start; в группе достаточно того, что бота туда добавили.
Третий шаг — самый скучный и самый полезный: захардкодьте одно сообщение «тест» и добейтесь, чтобы оно долетело. Четвёртый — опросчик остатков: один запрос к API, сравнение с порогом, отправка. Уже на этом месте бот приносит пользу, а дальше идёт наращивание. Пятый шаг — приёмник push и мгновенные заказы. Шестой — дедупликация через хэш и хранилище. Седьмой — форматирование: артикул, название до 40 символов, цифра, ссылка на карточку. Хорошее сообщение читается с экрана блокировки целиком.
Отдельно про текст. Не пишите «Изменился остаток товара». Пишите «Остаток 4 шт., хватит на 2 дня — артикул 10432, кружка синяя». Первая строка должна отвечать на вопрос «что горит», остальное — подробности.
Разбор: как мы собирали бота на три магазина
Первую версию мы написали за вечер и чуть не выбросили на второй день. Логика была наивной: слать в чат каждое изменение статуса отправления. За первые сутки бот прислал около 400 сообщений на три магазина, чат замьютили к обеду, и он превратился в ровно то, от чего мы уходили.
Переделка заняла ещё три часа и свелась к двум правилам. Мгновенно уходят только четыре типа событий: новый заказ FBS, дедлайн сборки ближе двух часов, ноль остатка по товару из группы A и отзыв на одну звезду. Последний в таблице выше стоит сутками, и это не опечатка — мы подняли его в мгновенные осознанно: ответ в первый час у нас заметно чаще заканчивался правкой оценки, чем ответ на следующий день. Всё остальное копится и уходит дайджестом в 10:00, 14:00 и 18:00. Те же примерно 400 сырых событий в сутки превращаются в 12–15 сообщений, и их читают, а не пролистывают.
Цифры итоговой конструкции: VPS за 190 ₽ в месяц, примерно 300 строк на Python, задержка от заказа до сообщения в чате 5–9 секунд против 7–8 минут на прежнем опросе раз в 15 минут. Три магазина живут в одной супергруппе с тремя темами, префикс в первой строке — эмодзи и короткое имя магазина. Самая полезная мелочь оказалась неочевидной: кнопка «собрано» под заказом, которая гасит будущее напоминание о дедлайне. После неё просрочки сборки у нас ушли в ноль за месяц.
Антиспам: чтобы чат не стал вторым мусорным
Бот умирает не от ошибок, а от громкости. Пять приёмов, которые держат его живым:
- Пороги, а не факты. Не «остаток изменился», а «остатка хватит меньше чем на N дней». Порог — число в конфиге, которое вы меняете по сезону.
- Склейка по объекту. Пять событий по одному отправлению за минуту — это одно сообщение, а не пять. Ключ склейки — номер отправления или артикул.
- Тихие часы. С 22:00 до 8:00 всё, кроме дедлайна сборки, копится и приходит утром одним сообщением.
- Повтор вместо потока. Если проблема не решена, лучше напомнить о ней раз в четыре часа, чем слать новое сообщение при каждой проверке.
- Право на отключение. Команда вроде
/mute 2hу любого в чате: если человек не может её выключить, он замьютит весь чат целиком, и вы потеряете и срочное.
И обратный приём: раз в неделю смотрите в историю чата и ищите сообщения, на которые никто не отреагировал ни разу. Это кандидаты на удаление из бота — они только приучают глаз пропускать.
Безопасность: ключ, чат и кто в нём сидит
Токен бота и API-ключ Ozon — это доступ, а не настройка. Держите их в переменных окружения, а не в коде и не в репозитории. Для бота выпускайте отдельный ключ с минимально нужными правами: если он только читает и шлёт сообщения, права на изменение цен ему не нужны. Ключ засветился в чате или в скриншоте — отзывайте и перевыпускайте, это делается в кабинете за минуту.
Чат делайте закрытым: приватная группа, вступление только по приглашению, ссылка не гуляет по переписке. Проверьте, кто в нём остался после увольнений — сообщения с оборотами, ценами и артикулами уходят всем участникам. И последнее: отключите пересылку сообщений из чата, если в них попадают персональные данные покупателей. Номер телефона и адрес в Telegram выводить не нужно — достаточно номера отправления, а остальное человек посмотрит в кабинете.
FAQ
Есть ли официальный Telegram-бот Ozon для продавцов?
Официального бота с уведомлениями о заказах у площадки нет — есть приложение Ozon Seller с пушами и письма на почту. Всё, что приходит в Telegram, делается либо сторонними сервисами, либо своим ботом на API. Актуальный список официальных каналов проверьте в базе знаний Ozon Seller, чтобы не подключить чужой бот под видом площадки.
Как сделать телеграм-бота для Ozon без программиста?
Реально только через готовые решения: сервисы аналитики со встроенными алертами или боты из каталогов, где вы вставляете Client-Id и API-ключ и выбираете события галочками. Конструкторы автоматизаций тоже подходят, если умеют ходить в произвольный HTTP API. Своя сборка требует минимального кода — обойтись совсем без разработчика не выйдет.
Что нужно, чтобы бот присылал новые заказы за секунды?
Три вещи: HTTPS-адрес с валидным сертификатом, прописанный в кабинете как адрес для push-уведомлений, приёмник, который корректно отвечает Ozon на каждый запрос, и отдельный процесс отправки в Telegram. Без push бот будет опрашивать API по расписанию, и средняя задержка станет равна половине интервала опроса.
Безопасно ли давать стороннему боту API-ключ Ozon?
Ключ даёт доступ к данным магазина и части операций, поэтому выпускайте его отдельным, с минимальными правами, и отдавайте только сервису, за который готовы отвечать. Методов вывода денег и смены реквизитов в Seller API нет, а вот выгрузить обороты, цены и всю товарную базу по ключу можно целиком. Точный набор прав смотрите прямо при выпуске ключа в кабинете — состав меняется. При малейшем сомнении ключ отзывается и перевыпускается там же, за минуту.
Сколько стоит держать своего бота?
Сам Telegram Bot API бесплатный, платите вы только за сервер: самый простой VPS под такую задачу стоит порядка 150–400 ₽ в месяц, и его хватает на несколько магазинов. Плюс разовые 3–6 часов на первую версию и примерно час в квартал на правки, когда меняются методы API.
Вы развиваете магазин. ИИ разбирается с рутиной.
Поручите Starbox AI поиск потерь в прибыли, проверку рекламы и планирование запасов. Задавайте вопросы в чате и получайте рекомендации по своему магазину. Попробуйте ИИ-менеджера для Ozon 14 дней бесплатно, без карты.
Попробовать ИИ-менеджера бесплатно