Тип бота
Бот, который отвечает «где мой заказ» вместо вашего диспетчера
Telegram-бот отслеживания доставки отправляет клиенту смену статуса в тот момент, когда её проставил курьер, а курьеру даёт отметить забор, движение и вручение одним касанием. Он убирает входящие звонки про статус. Реальную скорость вашей доставки он не улучшает — зато делает её видимой.
Боты отслеживания доставки: цена, сроки и ограничения
- Фиксированная цена
- $4,200 USD
- Срок
- 21 календарный день с момента старта
- Живая геопозиция
- Запускает пользователь, максимум 8 часов
- Потолок рассылки
- ~30 сообщений/сек на бота
- Передача файлов
- Отправка до 50 МБ, скачивание до 20 МБ
- Порядок доставки
- Не гарантирован для сообщений, отправленных подряд
As of 2025-10-01, Telegram Bot API 13.4
Какую задачу это решает
Диспетчерские в Заливе тратят поразительную долю дня на вопрос, который не несёт никакой информации: где мой заказ. Клиент не вредничает. Видимости у него нет, интервал доставки ему назвали трёхчасовой, и спросить — единственный доступный ему рычаг. Каждый такой звонок отрывает человека, который в этот момент строил маршрут следующей точки.
Первый порыв — купить платформу трекинга, и для парка в двести машин это правильно. Ниже этого порога платформы стоят дороже самой проблемы и требуют от курьеров приложения, которое те ненавидят. Большинству же нужно нечто более узкое: чтобы клиент без запроса узнавал, что что-то изменилось, и чтобы курьер мог отметить это изменение секунды за три, стоя во втором ряду.
Прежде чем это строить, стоит проговорить одну оговорку. Трекинг делает вашу пунктуальность читаемой. Если двухчасовое окно на деле четырёхчасовое, клиенты это сейчас подозревают, а скоро смогут доказать. У тех, кто ставит трекинг, не починив само планирование, жалобы обычно сначала растут и лишь потом падают. Это система работает как надо, но ожидали не этого.
Как идёт разработка
Отправление приходит из той системы, которая его и так создаёт
Ваша система заказов, таблица или ERP отдаёт отправление вместе с контактом клиента и адресом. Бот не хочет становиться вашей системой заказов — он хочет, чтобы ему сообщили, что заказ появился.
webhookКлиент подписывается одним касанием
Ссылка в сообщении-подтверждении открывает бота и подписывает человека на конкретное отправление. Бот не может написать тому, кто ему ни разу не писал, поэтому шаг этот не опционален, и обойти его загрузкой номеров нельзя.
deep-linkКурьер видит только следующее действие
Курьеру показывают список назначенных заданий и по одной кнопке на каждое, которая двигает его дальше. Не форма, не выпадающий список, не обязательный комментарий. Всё, что сложнее, на скорости заполняется неправильно или не заполняется вовсе.
inline-keyboardКаждая смена статуса сразу уходит клиенту
Забрал, повёз, подъезжает, вручил. Клиент ничего не опрашивает и ничего не спрашивает. В этом вся отдача от проекта, и работает она только если сценарий курьера настолько быстрый, что курьеры им реально пользуются.
broadcastНесостоявшаяся доставка фиксируется вместе с причиной у двери
Никого нет дома, отказ, неверный адрес, не пустили. Записывается в момент события, а не восстанавливается вечером на складе по памяти, — в этом и разница между данными, с которыми можно работать, и пожиманием плечами.
inline-keyboardПодтверждение вручения прикрепляется к отправлению
Фотография у двери или введённое имя получателя. Telegram принимает от бота файлы до 50 МБ, так что снимок с телефона никогда не проблема, а файл хранится при задании — на случай разбирательства.
file-transfer
Что Telegram разрешает, а что нет
Бот не может начать разговор с пользователем, который не написал ему первым.
Каждый клиент обязан один раз нажать на ссылку, прежде чем до него дойдёт хоть один статус. Загрузить список клиентов и разослать по нему нельзя, и любое предложение, исходящее из обратного, описывает блокировку.
Трансляция живой геопозиции в Telegram запускается самим пользователем и длится не более 8 часов.
Непрерывный трекинг машины бот включить не может. Курьеры включают трансляцию на смену, если она вам нужна, а забывший курьер оставляет дыру, которую нечем закрыть задним числом.
Бот отправляет примерно 30 сообщений в секунду суммарно.
Склад, рассылающий в 08:00 пятьсот уведомлений «повезли», растянет их примерно на двадцать секунд. На практике это нормально, но время уведомления получается приблизительным.
Бот может отправлять файлы до 50 МБ и скачивать файлы до 20 МБ.
Снимки с телефона для подтверждения вручения с запасом укладываются в лимит приёма. Видео обычно нет, да и требовать от курьеров видео — ложная экономия.
Telegram не гарантирует порядок доставки сообщений, отправленных подряд.
Две смены статуса в пределах одной секунды могут прийти не в том порядке. Поэтому каждое сообщение несёт собственное состояние и метку времени, а не читается как приращение, — и пара, пришедшая наоборот, всё равно остаётся осмысленной.
Когда это не нужно строить
- У вас уже работает полноценная TMS с личным кабинетом клиента. Вторая витрина трекинга на тех же данных добавляет задачу синхронизации и ни одного нового факта.
- Курьеры у вас на подряде и ничего внедрять не станут. Точность трекинга целиком зависит от дисциплины курьера, и бот её не создаст.
- Пунктуальность у вас объективно плохая и ею никто не занимается. Сделать её видимой, не починив, — значит превратить тихое недовольство в задокументированные жалобы.
- Вы возите меньше примерно тридцати отправлений в день. Сэкономленное время диспетчера не окупает разработку, а групповой чат закроет задачу.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| grammY | 1.45 | Фреймворк бота, с раздельными деревьями диалога для курьера и для клиента. |
| Cloudflare Workers | current | Среда исполнения. Рассылка статусов идёт всплесками, и она масштабируется под них без выделения ресурсов. |
| Cloudflare D1 | current | Отправления, переходы состояний и карта подписчиков. |
| Cloudflare R2 | current | Снимки подтверждения вручения — их держат вне базы. |
| TypeScript | 5.9 | Строгий режим. Конечные автоматы — ровно то место, где типы себя окупают. |
О чём спрашивают перед стартом
Может ли он показывать машину на карте непрерывно?
Не так, как это делает установленный телематический блок. Живая геопозиция в Telegram запускается пользователем и ограничена восемью часами, то есть зависит от того, включит ли её курьер в начале смены. Если нужен именно непрерывный трекинг, честный ответ — аппаратный трекер, отдающий данные боту.
Как клиент оказывается подписан на своё отправление?
Он нажимает на ссылку — обычно в том же SMS или письме с подтверждением, которое вы и так отправляете. Обойти это нельзя: Telegram не разрешает боту писать первым, и это правило именно соблюдается, а не рекомендуется.
Будут ли курьеры этим реально пользоваться?
Только если каждое обновление — одно касание, а список показывает следующее задание без прокрутки. Вокруг этого ограничения и построена вся курьерская часть. Там, где добавляют обязательный комментарий или снимок на каждой точке, дисциплина падает недели за две.
Может ли он кормить нашу систему заказов, а не заменять её?
Именно так это и задумано. Ваша система остаётся источником истины о том, что существует; бот владеет тем, где оно сейчас и кого об этом уведомили. Отправления приходят по webhook, статусы уходят обратно тем же путём.
Что будет, если у курьера нет связи у двери?
Обновление встаёт в очередь на устройстве и уходит, когда связь вернётся, поэтому последовательность переживает подземный паркинг. Клиент увидит изменение с опозданием, а не никогда, а записанной меткой времени будет момент нажатия курьером.
Годится ли подтверждение вручения для спора?
Это доказательство, а не юридический инструмент. Снимок с меткой времени, номером отправления и именем курьера закрывает подавляющее большинство споров вида «ничего не приходило», и это тот практический порог, который здесь нужен.
Сколько языков выдержит интерфейс курьера?
Сколько понадобится, а в большинстве парков Залива три — реалистичный минимум. Язык привязан к курьеру, а не к парку, поэтому один и тот же список заданий отрисовывается по-разному для разных людей без всякого дублирования.