Разработка бота для трекинга доставки в мобильном приложении

Реализация бота для трекинга доставки в мобильном приложении Посылка стоит на таможне третий день — пользователь узнаёт об этом случайно, потому что на сайте транспортной компании последнее обновление «2 дня назад», а push-уведомлений нет. Водитель уже везёт заказ, а клиент думает, что отправлени

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Разработка бота для трекинга доставки в мобильном приложении
Простой
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Реализация бота для трекинга доставки в мобильном приложении

Посылка стоит на таможне третий день — пользователь узнаёт об этом случайно, потому что на сайте транспортной компании последнее обновление «2 дня назад», а push-уведомлений нет. Водитель уже везёт заказ, а клиент думает, что отправление застряло. Так рождаются негативные отзывы и повторные запросы в поддержку. Эту боль снимает автоматизированный бот трекинга: он опрашивает API транспортных компаний с настроенными интервалами и при каждом изменении статуса мгновенно шлёт push-уведомление в мобильное приложение. За время работы мы интегрировались с 15+ ТК — от СДЭК и DHL до Boxberry и OZON Rocket. Ниже — техническая архитектура такого решения: от источников данных до обработки ошибок и UX клиентского приложения.

Источники данных о статусах доставки

Каждая транспортная компания предоставляет свой API — или, в крайнем случае, HTML-страницу трекинга. Вот типовой набор интеграций:

  • СДЭК: REST API (api.cdek.ru), OAuth 2.0, статусы в реальном времени
  • DHL: Tracking API (api.dhl.com/track/shipments), API key
  • FedEx: Track API v1 (apis.fedex.com/track/v1/trackingnumbers)
  • Почта России: трекинг через SOAP-эндпоинт tracking.russianpost.ru/rtm34
  • Boxberry, OZON Rocket — современные REST API с документацией

Для ТК без официального API используем парсинг через Puppeteer/Playwright на сервере — меньше надёжности, но для MVP приемлемо.

Архитектура polling-системы

Бот не получает push-уведомления от ТК — он сам опрашивает их API по расписанию. Стратегия polling реализована через Bull Queue с delayed jobs, что позволяет динамически менять интервалы для каждого трек-номера. Сравнение интервалов в зависимости от статуса:

Состояние трек-номера Интервал опроса Максимальное число попыток
Новый (первые 24 ч) 30 мин 48
В пути 2 ч 12
На сортировке/таможне 4 ч 6
Доставлено Остановлен -

При каждом опросе сравниваем новый статус с последним сохранённым — если изменился, отправляем уведомление в Telegram и FCM push в приложение. Всего за сутки один трек-номер генерирует не более 12 запросов, что экономит ресурсы и не превышает лимиты API.

Как бот опрашивает API транспортных компаний?

Polling-система построена на очереди задач. Bull Queue с задержками позволяет задавать интервал для каждого трек-номера индивидуально. Например, для нового номера ставим задачу на 30 минут, после выполнения — новую задачу с увеличенным интервалом, если статус не финальный. Такой подход эффективнее cron-задач, так как не требует фиксированного расписания и легко масштабируется. Дополнительно настроен мониторинг: если количество ошибок от конкретной ТК превышает 10% за последний час, система автоматически замедляет опрос и уведомляет администратора.

Мобильное приложение: UX трекинга

Главный экран — список активных отправлений с последним статусом и временем обновления. Тап на отправление — детальная timeline с историей статусов.

На Flutter список строим через ListView.builder с Hive для локального кеша. Каждый элемент — карточка с цветовым кодированием статуса: зелёный (доставлено), оранжевый (в пути), красный (проблема/задержка).

Push-уведомление при смене статуса ведёт через deep link прямо на экран конкретного отправления. На iOS через Universal Links, на Android через App Links с Intent и параметром tracking_id. Подробнее о технологии: Deep linking.

Что делать, если API транспортной компании недоступен?

ТК-API не отличаются стабильностью. СДЭК периодически возвращает 500 на несколько часов, Почта России SOAP-эндпоинт бывает недоступен днями.

Стратегия: retry с экспоненциальным backoff (3 попытки с интервалами 5/15/60 минут). Если три попытки упали — уведомляем пользователя: «Не удалось обновить статус [Имя ТК]. Попробуем позже». Не оставляем в тишине. Дополнительно логируем все ошибки для мониторинга доступности API.

Расшифровка экспоненциального backoff
Попытка Задержка
1 5 мин
2 15 мин
3 60 мин

После успешного ответа интервал возвращается к штатному.

По данным документации DHL Tracking API, максимальное время обновления статуса — 15 минут. Наш polling-сервер гарантирует доставку уведомления за < 10 секунд после фактического изменения.

Что входит в работу

  • Анализ API выбранных транспортных компаний
  • Реализация polling-системы с экспоненциальным backoff и динамическими интервалами
  • Интеграция push-уведомлений (FCM / APNs) с deep linking
  • Разработка экранов трекинга на Flutter или React Native
  • Настройка уведомлений через Telegram при критических ошибках
  • Документация по API и архитектуре
  • Обучение команды поддержке и администрированию
  • Гарантия uptime 99.9% на polling-сервер

Как начать?

Получите консультацию — мы проанализируем API ваших ТК, оценим нагрузку и предложим оптимальную архитектуру трекинг-бота. Свяжитесь с нами, чтобы обсудить детали вашего проекта.