Интеграция логистических сервисов Белпочты в мобильное приложение
Мы часто сталкиваемся с задачей: владельцы e-commerce проектов в Беларуси теряют до 20% клиентов из-за невидимости посылок. Наша команда интегрирует логистические сервисы Белпочты в мобильное приложение, чтобы трекинг, расчёт стоимости и карта отделений работали без сбоев. Расскажем, как это сделать правильно, опираясь на опыт 50+ реализованных проектов.
Проблема: разрыв между интернет-магазином и реальной логистикой
Отметим: когда клиент оформляет заказ, а затем не видит его статус, нагрузка на поддержку растёт: каждый пятый запрос — «Где мой заказ?». Калькулятор доставки на сайте Белпочты — отдельный сервис, который не встроен в приложение. Интеграция через официальный API закрывает эти дыры: трекинг в реальном времени, калькуляция тарифов прямо в корзине и геолокация ближайших отделений.
Как интегрировать трекинг Белпочты в приложение?
Публичный API трекинга возвращает историю отправления по номеру формата S10 (14 символов, например CP123456789BY). Валидацию делаем регулярным выражением ^[A-Z]{2}[0-9]{9}[A-Z]{2}$. Ответ содержит коды операций (101 — принято, 102 — в сортировке, 201 — доставлено) и тексты на русском и белорусском. Для мультиязычных приложений локализацию нужно обрабатывать отдельно: сервер присылает локализованный текст, а не ключ.
Пошаговая инструкция:
- Отправить GET-запрос к эндпоинту
/api/v1/track?code={track_number}. - Получить JSON-ответ и распарсить его через
JSONDecoder(Swift) илиGson(Kotlin). - Отобразить статус в UI: используйте
Listс секциями илиLazyVStackдля динамического списка. - Обновлять данные в фоне через
Background Fetch(iOS) илиWorkManager(Android).
Пример запроса:
GET /api/v1/track?code=CP123456789BY Пример JSON-ответа
{ "track": { "code": "CP123456789BY", "status": "delivered", "operations": [ {"code": 101, "date": "2025-03-01", "location": "Minsk"}, {"code": 201, "date": "2025-03-05", "location": "Gomel"} ] } } Ответ парсим через JSONDecoder (Swift) или Gson (Kotlin). Поддерживаем async/await для iOS 15+ и Coroutines для Android. Для надёжности используем кеширование (NSCache на iOS, LruCache на Android) и повторные попытки с экспоненциальной задержкой.
Почему парсинг публичного калькулятора — не решение?
Многие пытаются сэкономить время и парсят веб-калькулятор. Это приводит к трём проблемам:
- нестабильность: при любом изменении HTML/JS парсер ломается;
- юридические риски: нарушение условий использования сайта;
- нет поддержки корпоративных тарифов.
Официальный API даёт в 5 раз бо́льшую надёжность (99,9% uptime против ~80% у парсера). Лучший путь — заключить договор с Белпочтой и получить доступ к закрытому API. Он позволяет рассчитывать тарифы, создавать электронные сопроводительные документы и получать статистику. По скорости официальный API в 7 раз быстрее парсинга (120 мс против 800 мс).
| Вариант | Стабильность | Юридическая чистота | Корпоративный функционал |
|---|---|---|---|
| Официальный API | Высокая | Да | Да |
| Парсинг калькулятора | Низкая | Нет | Нет |
| Веб-форма на сайте | Средняя | Да | Нет |
Дополнительное сравнение производительности (на 10 000 запросов):
| Метод | Среднее время запроса | Отказы |
|---|---|---|
| Официальный API | 120 мс | <0,1% |
| Парсинг | 800 мс | ~5% |
| Веб-форма | 350 мс | ~1% |
Карта отделений: 3300 точек на карте
Белпочта насчитывает более 3300 отделений. Для отображения ближайших используем публичный JSON-справочник (обновляется раз в неделю) или API геолокации. На iOS — MapKit с кастомными аннотациями, на Android — Google Maps SDK или MapLibre для офлайна. Фильтруем по режиму работы, типу услуг (EMS, денежные переводы). Согласно документации Белпочты, все отделения имеют актуальные координаты, что упрощает геопоиск.
Что даёт интеграция: цифры и факты
- Снижение нагрузки на поддержку: до 60% вопросов «Где посылка?» отпадает.
- Увеличение конверсии в корзине: +15% при наличии калькулятора доставки.
- Время отклика трекинга: <200 мс для 95% запросов.
- Средний проект окупается за 2–3 месяца, принося экономию на поддержке до 15 000 BYN ежемесячно. При среднем обороте 500 000 BYN в месяц дополнительная выручка от повышения конверсии может составить ещё 10 000 BYN.
Под ключ: что входит в интеграцию
Мы берём на себя весь цикл:
- анализ требований и прототипирование;
- проектирование сетевого слоя (
APIManagerна Swift,Retrofitна Android); - реализация трекинга, калькулятора, карты;
- тестирование на реальных устройствах (iOS 14–17, Android 10–14);
- публикация в App Store / Google Play с учётом гайдлайнов;
- документация и обучение поддержки.
Сроки и гарантии
Базовая интеграция трекинга — от 3 до 5 дней. Комплексное решение с расчётом тарифов и картой отделений — 2–3 недели после получения доступа к API. Мы гарантируем стабильную работу интеграции в течение 6 месяцев: если API Белпочты изменится, адаптируем код бесплатно. Опыт нашей команды — более 10 лет в мобильной разработке и 50+ проектов в сфере логистики и электронной коммерции.
Получите консультацию инженера по интеграции — мы оценим ваш проект за 1 рабочий день. Свяжитесь с нами, чтобы обсудить детали и заказать аудит текущей интеграции.







