Legan Studio
Все статьи
~ 15 мин чтения

Бот для логистики в Telegram: трекинг и заявки

Telegram-бот для логистической компании: оформление заявок, трекинг груза, чат с водителем, документооборот. Архитектура и интеграции.

  • Telegram
  • логистика
  • сценарии

В логистике решает скорость: чем быстрее клиент оформляет заявку и узнаёт статус груза, тем выше его лояльность. Telegram-бот закрывает оба сценария без отдельного приложения и работает на любом устройстве с интернетом, что критично для водителей в дороге, диспетчеров на смене и клиентов, которым нужно «прямо сейчас» узнать, где машина.

В отличие от мобильного приложения, у бота нет порога установки и регистрации: водитель из подрядной компании заходит по ссылке-приглашению, диспетчер добавляет его в чат смены, а клиенту достаточно отсканировать QR-код с накладной. Это снимает 70–80% сопротивления и резко ускоряет внедрение даже на возрастном автопарке.

Какие задачи закрывает бот

Бот в логистике работает на три аудитории: клиенты (отправители и получатели), водители и диспетчеры. Для клиентов — оформление заявки, трекинг, документы, оплата. Для водителей — приём заявок, статусы рейсов, фото накладных и пломб. Для диспетчеров — мониторинг и реакция на отклонения, распределение заказов, эскалации.

Часто бот заменяет колл-центр частично или полностью на типовых вопросах: «где мой груз», «сколько стоит доставка», «когда привезут», «можно перенести забор». Это снимает 60–80% входящих звонков на типовых сценариях и высвобождает операторов под нестандартные ситуации — рекламации, ЧП, сложные В2В-кейсы.

Под капотом это обычно три отдельных бота с разным UX и общим бэкендом: единый монолит данных (заявки, рейсы, статусы) + три фронта поверх Bot API. Бэкенд интегрирован с TMS, WMS, ЭДО, картографическими сервисами и внешними API курьерских служб.

Оформление заявки клиентом

Сценарий клиента: точка А, точка Б, тип груза, вес, габариты, дата забора, способ оплаты. Адреса собираем через KeyboardButton.request_location (если клиент рядом с точкой) или поиск по DaData/Yandex Geocoder с автодополнением. Расчёт стоимости — на лету по тарифной сетке компании, с учётом зон, тарифных коридоров и сезонных надбавок.

  • Догруз — отдельный флаг, влияющий на цену и сроки. Часто даёт скидку 20–40% относительно эксклюзива.
  • Страхование груза — чек-бокс с расчётом по объявленной стоимости (обычно 0.1–0.3% от стоимости).
  • Особые требования (рефрижератор, манипулятор, грузчики, гидроборт) — мультиселект с надбавками.
  • Юр. лицо/физ. лицо — разные ветки документооборота: для В2В сразу запрашиваем ИНН и подтягиваем реквизиты из ФНС-сервиса.
  • Хрупкий груз и негабарит — отдельные галочки, влияющие на подбор машины.

После оформления заявка попадает в TMS (1С: Управление транспортом, AXELOT TMS, TopLogistic, СДЭК API для перевозчиков) и распределяется на свободного водителя по правилам: ближайший к точке забора, с подходящей машиной, с минимальной загрузкой смены.

Трекинг груза

Трекинг — самая частая причина обращения в поддержку. Клиент вводит номер заявки, открывает свой кабинет в боте через /orders или сканирует QR с накладной — и видит цепочку статусов: «Принят» → «Забран» → «На сортировке» → «В пути» → «Доставлен». Каждый статус — обновление одного и того же сообщения через editMessageText, без флуда отдельными уведомлениями на каждый шаг.

Дополнительно показываем геопозицию транспорта (если водительский бот её передаёт), ETA с пересчётом по пробкам через Яндекс.Карты и контакт водителя (через t.me/+номер или callback-кнопку для звонка через коммутатор без раскрытия личного номера). Push-уведомление приходит на ключевых статусах: забор, прибытие на сортировку, выезд курьера, попытка доставки.

Пример карточки статуса, которую бот хранит в БД и подменяет в сообщении:

{
  "order_id": "ORD-2026-04-118923",
  "status": "in_transit",
  "status_label": "В пути",
  "driver": { "name": "Игорь К.", "phone_proxy": "+7-495-XXX-1827" },
  "vehicle": { "plate": "А777ВВ77", "type": "ГАЗель Next" },
  "from": "Москва, Дмитровское ш., 71",
  "to": "Тверь, Советская, 12",
  "eta": "2026-04-14T17:42:00+03:00",
  "last_seen": { "lat": 55.910, "lon": 36.985, "ts": "2026-04-14T15:08:11+03:00" },
  "events": [
    { "code": "created", "ts": "2026-04-14T08:30:00+03:00" },
    { "code": "picked_up", "ts": "2026-04-14T11:14:00+03:00", "photo_id": "AgACAgI..." },
    { "code": "in_transit", "ts": "2026-04-14T11:22:00+03:00" }
  ]
}

Бот для водителя

Водительский бот — отдельное приложение с другим UX. Главные задачи: видеть свои рейсы на сегодня и завтра, менять статус (выехал, прибыл, загрузился, в пути, выгрузился), фотографировать накладные и пломбы, общаться с диспетчером, фиксировать ЧП.

Главный экран — список рейсов с цветовой индикацией: зелёный — по графику, жёлтый — есть риск опоздания, красный — отклонение. По тапу — карточка рейса с маршрутом, контактом грузоотправителя/грузополучателя и кнопкой «Открыть в Яндекс.Навигаторе» (через deeplink yandexnavi://build_route_on_map).

Геопозиция передаётся через sendLocation с live_period 1–8 часов на активный рейс — это нативный механизм Telegram для шеринга live-локации, который сам обновляется каждые 1–5 минут силами клиента и не нагружает наш бот. За пределами рабочего времени бот предлагает остановить шеринг кнопкой «Закончил смену».

Фото накладных и пломб — через sendPhoto, с привязкой к заявке. Каждое фото OCR-распознаём (опционально через Yandex Vision или Tesseract) и подкладываем номер ТТН в карточку груза в TMS. При повреждении упаковки водитель прикладывает фото с пометкой «брак» — это сразу триггерит уведомление страховой стороне и создаёт акт расхождений.

Диалог водителя с ботом обычно выглядит так:

Бот: Игорь, у вас 4 рейса на сегодня. Открыть первый? Водитель: [тап «Да»] Бот: Рейс №ORD-118923. Забор: Дмитровское ш., 71 в 11:00. Получатель: Тверь, Советская, 12. [Кнопки: «Выехал», «На месте», «Связаться с отправителем», «ЧП»] Водитель: [тап «На месте»] → отправляет фото накладной Бот: Принято. Подтвердите вес: 247 кг по ТТН. Совпадает? Водитель: [тап «Да»] → бот переводит статус в «Забран», клиент получает push.

Бот для диспетчера и каналы смены

Диспетчерский интерфейс — ещё один бот плюс набор тематических каналов в Telegram. В каналах сидят смены: «Москва-день», «Москва-ночь», «МО-регионы». Туда падают алерты: водитель не вышел в рейс, простой более 30 минут на разгрузке, отклонение от маршрута, опоздание относительно ETA, не загруженный отчёт по рейсу.

Каждый алерт — карточка с inline-кнопками «Связаться с водителем», «Пометить как обработано», «Эскалировать на старшего», «Перевыставить рейс». Это переводит работу диспетчера из режима «постоянно мониторить» в режим «реагировать на события» и снижает время реакции на инциденты с 20–40 минут до 2–5 минут.

Для распределения новых заявок диспетчер видит «корзину входящих» с фильтрами: тип груза, регион, срочность. По кнопке «Назначить» бот предлагает 3–5 ближайших свободных водителей с их загрузкой на смену и расчётным временем подачи.

Интеграции с TMS, WMS и учёткой

Бот сам по себе не хранит бизнес-логику остатков, тарифов и маршрутов — это всегда «лицо» поверх учётной системы. Список интеграций, который покрывает 90% задач:

КатегорияСистемыЧто синхронизируется
TMS1С: УТ, AXELOT, TopLogistic, ANTORЗаявки, рейсы, статусы, водители, ТС
WMSМой склад, 1С: WMS, SolvoОстатки, резервы, отгрузки
Курьерские APIСДЭК, Почта России, DPD, BoxberryЧужие треки, тарифы для агрегатора
ЭДОДиадок, СБИС, 1С-ЭДОТТН, УПД, акты, МЧД
КартографияЯндекс.Карты, 2GIS, OpenStreetMapГеокодер, маршруты, ETA, пробки
Бухгалтерия1С: Бухгалтерия, Контур.ЭльбаСчета, акты, реестры рейсов
ПлатежиЮKassa, Тинькофф, СБПОплата клиентом, возвраты

Связь чаще всего — через очередь (RabbitMQ, Kafka, NATS) и вебхуки. Прямые синхронные вызовы из бота в 1С не делаем: 1С отвечает 2–8 секунд, а Telegram ждёт ответа от вебхука менее 10 секунд. Поэтому в боте мы кладём команду в очередь, отдаём пользователю «Принято, обновим через 30 секунд», а ответ возвращаем editMessageText отдельным сообщением.

Электронный документооборот

Документы — болевая точка В2В-логистики. ТТН, акты, счета-фактуры, доверенности — всё это раньше слал бухгалтер email’ом или передавал на бумаге через водителя. В боте: PDF приходят по событию, подписываются через ЭДО (Диадок, СБИС, 1С-ЭДО) и хранятся в кабинете клиента с поиском по номеру, дате и контрагенту.

Электронная подпись через бот напрямую невозможна — там, где требуется КЭП, бот даёт ссылку на подписание во внешнем сервисе оператора ЭДО. Для МЧД (машиночитаемая доверенность) и упрощённого ЭДО — то же самое: бот оркестрирует процесс, статус подписания возвращается вебхуком и попадает в карточку рейса.

С 1 сентября 2022 года в России действует обязательный электронный путевой лист (Постановление Правительства №2216), и всё больше клиентов требуют электронную ТТН (ЭТрН). Бот это упрощает: водитель сразу после погрузки фотографирует бумажную копию (если она есть), оператор формирует ЭТрН в 1С-ЭДО, клиент подписывает её в кабинете бота через переход в личный кабинет ЭДО.

Расчёт стоимости и тарификация

Расчёт стоимости — отдельный модуль. Минимальная схема: матрица тарифов (зоны × вес × объём) плюс надбавки (срочность, тип машины, грузчики, страховка). На входе — два адреса и параметры груза, на выходе — итог с разбивкой и предложение оформить.

Адреса прогоняем через геокодер, считаем расстояние по дорожному графу (не по прямой!) и попадание точек в тарифные зоны. Для города это обычно концентрические круги от МКАД, для межгорода — расчёт по километражу с минималкой. На крупных клиентов накатываются индивидуальные тарифные сетки, которые подгружаются по их client_id.

Сравнение базовых типов тарификации, которые встречаются в логистических ботах:

МодельКогда подходитПлюсыМинусы
По зонамГородская доставка, курьеркаПростая, понятная клиентуНе учитывает реальное расстояние
По километражуМежгород, FTLСправедливая для дальних рейсовСложнее объяснить «почему столько»
По весу/объёмуСборные грузы, LTLУчитывает загрузку машиныНужны точные замеры на приёмке
Гибрид (база+км)УниверсалПокрывает все кейсыНужно много правил, больше багов

Аналитика и KPI водителей

Бот собирает все события по рейсу с временными метками: когда водитель принял рейс, выехал, прибыл на забор, загрузился, выехал в путь, прибыл на разгрузку, выгрузился, закрыл рейс. На основе этих данных строится дашборд KPI: процент выполненных вовремя, среднее время на точке, доля рейсов с ЧП, NPS от клиентов после доставки.

Для водителей делаем индивидуальные «карточки эффективности», доступные в их боте по команде /me: рейсов за неделю, средний рейтинг от клиентов, процент срывов, рейтинг в смене. Это вводит элемент геймификации без явных «соревнований» и реально снижает процент опозданий на 10–15% за первые 2–3 месяца.

Для руководителя — еженедельный дайджест в его личный чат с ботом: топ-3 проблемных рейса, отклонения по KPI смены, прогноз нагрузки на следующую неделю. Дайджест собирается шаблоном через cron-джобу и отправляется по расписанию.

Метрики и сроки

Ключевые метрики: доля заявок через бот (целевая 40–70% к 6-му месяцу), среднее время оформления (с 8–12 минут по телефону до 2–3 минут в боте), доля звонков «где мой груз» (минус 60%), NPS, время реакции диспетчера на алерт (с 20+ до менее 5 минут), процент рейсов с полной фотофиксацией (целевая более 95%).

Стандартные результаты пилота в течение 3 месяцев:

  • Минус 60–80% звонков по типовым вопросам в колл-центр
  • Плюс 20% к скорости оформления заявок
  • Минус 30–40% просроченных рейсов за счёт раннего алертинга
  • Плюс 15 пунктов к NPS клиентов
  • Минус 1–2 ставки операторов на типовых сценариях

Сроки разработки: 6–10 недель на клиентский, водительский и диспетчерский боты с базовой интеграцией в TMS. MVP с одной аудиторией (обычно клиентский с трекингом) — 3–4 недели. Полная интеграция с ЭДО и индивидуальной тарификацией — плюс 4–6 недель сверху.

Бюджет ориентировочно: MVP 350–600 тыс. рублей, полный стек с интеграциями — 1.2–2.5 млн рублей в зависимости от количества внешних систем и кастомных требований.

ROI и за счёт чего окупается

Считаем на примере курьерской компании со штатом 50 водителей и 8 диспетчеров, 12 000 заявок в месяц.

СтатьяДо ботаПосле ботаЭкономия в месяц
Колл-центр (4 оператора по 60 тыс.)240 тыс.120 тыс. (2 оператора)120 тыс.
Срывы доставок (штрафы клиентов)180 тыс.90 тыс.90 тыс.
Бумажный документооборот, курьерка60 тыс.15 тыс.45 тыс.
Простои водителей по неинформированности200 тыс.80 тыс.120 тыс.
Итого экономия в месяц375 тыс.

При бюджете внедрения 1.5 млн рублей окупаемость — 4–5 месяцев. Дальше бот работает в плюс, и большая часть выгоды идёт не от прямой экономии, а от роста повторных заказов и снижения оттока В2В-клиентов.

Чек-лист перед стартом проекта

Что собрать на стороне заказчика, чтобы не растягивать сроки:

  • Список используемых систем: TMS, WMS, бухгалтерия, ЭДО — с версиями и наличием API.
  • Тарифную сетку в Excel или выгрузке из 1С (зоны, веса, надбавки).
  • Список ключевых сценариев клиента, водителя, диспетчера — хотя бы тезисами.
  • Доступ к тестовому контуру 1С/учётки и контакты ИТ-подрядчика, который её ведёт.
  • Telegram-аккаунт, на котором будет создан бот через @BotFather, и владельца.
  • Описание бренда (логотип, цвета, тон общения) — для оформления карточек и сообщений.
  • Юридическую часть: согласие на обработку персональных данных в боте, соответствие 152-ФЗ.

Итого

Бот в логистике — это не один продукт, а связка из 2–3 ботов под разные роли и оркестратор поверх TMS, WMS и ЭДО. Ценность в скорости оформления, прозрачности для клиента и снижении нагрузки на диспетчеров и колл-центр. Главные интеграции — TMS, ЭДО и геокодер; всё остальное наращивается итеративно.

Юридические нюансы (МЧД, КЭП, ЭТрН) выносим во внешние сервисы операторов ЭДО, бот оркестрирует процесс и хранит ссылки. Стартовать имеет смысл с MVP на 3–4 недели — клиентский бот с трекингом и приёмом заявок, — а водительский и диспетчерский слои добавлять по результатам пилота.

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

На какие аудитории работает Telegram-бот в логистике?

Бот в логистике работает на три аудитории. Клиенты (отправители и получатели) — оформление заявки, трекинг, документы, оплата. Водители — приём заявок, статусы рейсов, фото накладных. Диспетчеры — мониторинг и реакция на отклонения. Часто бот заменяет колл-центр частично или полностью на типовых вопросах: «где мой груз», «сколько стоит доставка», «когда привезут». Это снимает 60–80% входящих звонков на типовых сценариях. Каждая аудитория получает свой бот с отдельным UX, объединённый общим бэкендом и единой моделью данных по заявкам и рейсам.

Как устроено оформление заявки в логистическом боте?

Сценарий клиента: точка А, точка Б, тип груза, вес, габариты, дата забора, способ оплаты. Адреса — через KeyboardButton.request_location или поиск по DaData/Yandex Geocoder. Расчёт стоимости — на лету по тарифной сетке компании. Догруз — отдельный флаг, влияющий на цену и сроки. Страхование груза — чек-бокс с расчётом по объявленной стоимости. Особые требования (рефрижератор, манипулятор, грузчики) — мультиселект с надбавками. Юр./физ. лицо — разные ветки документооборота. После оформления заявка попадает в TMS и распределяется на свободного водителя по правилам близости и загрузки смены.

Как сделать трекинг груза в Telegram-боте?

Трекинг — самая частая причина обращения в поддержку. Клиент вводит номер заявки или открывает свой кабинет в боте и видит цепочку статусов: «Принят» → «Забран» → «На сортировке» → «В пути» → «Доставлен». Каждый статус — обновление одного и того же сообщения через editMessageText, без флуда отдельными сообщениями. Дополнительно показываем геопозицию транспорта, ETA с пересчётом по пробкам через Яндекс.Карты и контакт водителя через прокси-номер. Push-уведомление приходит на ключевых статусах: забор, прибытие, попытка доставки. Это снижает звонки по трекингу на 60% и поднимает NPS на 10–15 пунктов.

Что должно быть в боте для водителя?

Водительский бот — отдельное приложение с другим UX. Главные задачи: видеть свои рейсы на сегодня и завтра, менять статус (выехал, прибыл, загрузился, в пути, выгрузился), фотографировать накладные и пломбы, общаться с диспетчером. Геопозиция передаётся через sendLocation с live_period 1–8 часов — это нативный механизм Telegram, который не нагружает наш бэк. Фото накладных через sendPhoto с привязкой к заявке, OCR-распознаём через Yandex Vision или Tesseract и подкладываем номер ТТН в карточку груза. Диалог построен на крупных кнопках, чтобы водитель пользовался одной рукой за рулём.

Как организовать электронный документооборот через бота?

Документы — болевая точка В2В-логистики. ТТН, акты, счета-фактуры, доверенности — всё это раньше слал бухгалтер email’ом. В боте: PDF приходят по событию, подписываются через ЭДО (Диадок, СБИС, 1С-ЭДО) и хранятся в кабинете клиента. Электронная подпись через бот напрямую невозможна — там, где требуется КЭП, бот даёт ссылку на подписание во внешнем сервисе оператора. Для МЧД и упрощённого ЭДО — то же самое. С 2022 года действует обязательный электронный путевой лист, бот упрощает работу с ЭТрН: водитель фотографирует бумажную копию, оператор формирует ЭТрН, клиент подписывает её в личном кабинете ЭДО.

Как устроен мониторинг отклонений для диспетчера?

Диспетчерский интерфейс — ещё один бот плюс тематические каналы в Telegram под смены. Туда падают алерты: водитель не вышел в рейс, простой более 30 минут на разгрузке, отклонение от маршрута, опоздание относительно ETA, не загружен отчёт по рейсу. Каждый алерт — карточка с inline-кнопками «Связаться с водителем», «Пометить как обработано», «Эскалировать», «Перевыставить рейс». Это переводит работу диспетчера из режима «постоянно мониторить» в режим «реагировать на события» и снижает время реакции с 20–40 минут до 2–5 минут.

Сколько стоит и за сколько окупается бот для логистики?

Сроки разработки: 6–10 недель на клиентский, водительский и диспетчерский боты с базовой интеграцией в TMS. MVP с одной аудиторией — 3–4 недели. Бюджет ориентировочно: MVP 350–600 тыс. рублей, полный стек с интеграциями ЭДО и индивидуальной тарификацией — 1.2–2.5 млн рублей. Окупаемость для компании со штатом 50 водителей и 12 000 заявок в месяц — 4–5 месяцев за счёт сокращения колл-центра, штрафов за срывы, бумажного документооборота и простоев водителей. Дальше большая часть выгоды идёт от роста повторных заказов и снижения оттока В2В-клиентов.