Інтеграція логістичних сервісів Boxberry у мобільний додаток

Проблема: ігнорування CityCode призводить до порожнього списку ПВЗ Користувач вводить місто, а додаток показує «Нічого не знайдено». Типова ситуація: в запиті ListPoints не вказано параметр CityCode, або він переданий у вигляді рядка замість int. Boxberry API суворо вимагає числовий CityCode, отр

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція логістичних сервісів Boxberry у мобільний додаток
Середній
~3-5 днів

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

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • 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

Проблема: ігнорування CityCode призводить до порожнього списку ПВЗ

Користувач вводить місто, а додаток показує «Нічого не знайдено». Типова ситуація: в запиті ListPoints не вказано параметр CityCode, або він переданий у вигляді рядка замість int. Boxberry API суворо вимагає числовий CityCode, отриманий з методу ListCities. Ми в своїй практиці стикалися з цим десятки разів; рішення — завжди кешувати CityCode після першої відповіді. Помилка не очевидна, оскільки API повертає порожній масив без коду помилки.

Як працює Boxberry API і чим він відрізняється від СДЭК?

Boxberry API — це не стандартний REST, а єдиний ендпоінт https://api.boxberry.ru/json.php, де метод передається параметром method у query string. На відміну від СДЭК v2, де кожен ресурс має свій URL, тут всі запити йдуть на одну адресу. Це означає, що Retrofit-інтерфейс буде з одним базовим URL і багатьма @Query параметрами. Аутентифікація — токен у параметрі token, без заголовків. Токен не має терміну дії за замовчуванням, тому його потрібно зберігати в захищеному сховищі пристрою (Keychain на iOS, EncryptedSharedPreferences на Android). Boxberry API Documentation

Тестового оточення немає — розробка ведеться на бойовому токені. Це накладає вимоги до агресивного кешування та мінімізації запитів. Список ПВЗ ми кешуємо в локальну базу (Room на Android, CoreData на iOS, Hive на Flutter) на 24 години.

Основні методи Boxberry API

Метод Endpoint Основні параметри Відповідь
ListPoints GET json.php?method=ListPoints token, CityCode, prepaid Масив ПВЗ з полями Code, Name, Address, GPS, WorkShedule, Phone
DeliveryCosts GET json.php?method=DeliveryCosts token, zip, weight, ordersum price (руб), delivery_period (дні)
ParselCreate POST json.php?method=ParselCreate token, JSON body з даними замовлення track (трек-номер)
ListStatuses GET json.php?method=ListStatuses token, ImId (трек) Масив статусів з Date, Name, Comment
Типові параметри запитівДля DeliveryCosts обов'язкові: zip, weight (в грамах), ordersum (в копійках). Опціонально: height, width, depth. Якщо weight > 30000 г, потрібне попереднє узгодження.

Особлива увага — полю GPS. Воно приходить рядком "55.7558,37.6173", а не окремими координатами. Парсинг на Swift:

let coords = point.gps.split(separator: ",") let lat = Double(coords[0]) ?? 0 let lon = Double(coords[1]) ?? 0 

Чому Boxberry краще СДЭК для деяких сценаріїв?

Мережа Boxberry налічує понад 18 000 пунктів видачі — це в 1.3 рази більше, ніж у СДЭК у регіонах з населенням менше 50 000 осіб. Однак API Boxberry менш RESTful і вимагає більше ручної роботи при інтеграції. Тим не менш, для додатків, де ключовий фактор — кількість ПВЗ і швидкість доставки (в середньому 2–3 дні по РФ), Boxberry часто виявляється вигіднішим. При цьому ми гарантуємо стабільне з'єднання за рахунок перехоплювача OkHttp і ретрай-логіки з експоненційною затримкою.

Як ми інтегруємо Boxberry у мобільний додаток

iOS (Swift)

На iOS ми використовуємо SwiftUI + Combine/async/await. Список ПВЗ завантажуємо за допомогою URLSession, парсимо через Codable. Для карти — Google Maps SDK з кластеризацією при zoom < 12 (GMUMarkerClusterer). При тапі на кластер — анімований zoom до меж групи. Фільтрація ПВЗ (з приміркою, робота у вихідні, оплата карткою) реалізована через SearchResultController з UISearchController і фільтрами у вигляді SegmentedControl.

Android (Kotlin)

На Android — Retrofit з OkHttp Interceptor для автоматичної підстановки токена. Приклад інтерфейсу:

interface BoxberryApi { @GET("json.php") suspend fun listPoints( @Query("token") token: String, @Query("method") method: String = "ListPoints", @Query("CityCode") cityCode: Int, @Query("prepaid") prepaid: Int = 1 ): List<BoxberryPoint> @GET("json.php") suspend fun getDeliveryCosts( @Query("token") token: String, @Query("method") method: String = "DeliveryCosts", @Query("zip") zip: String, @Query("weight") weight: Int ): BoxberryDeliveryCosts } 

Flutter

На Flutter використовуємо Dio для HTTP, Hive для кешу. Карта — google_maps_flutter або flutter_map. Список ПВЗ відображається ListView.builder з пошуком за назвою/адресою та фільтрами (FilterChip).

Процес роботи над інтеграцією

  1. Аналіз — вивчаємо поточну архітектуру вашого додатку, визначаємо необхідні методи API та обсяг запитів.
  2. Проектування — створюємо схему запитів, кешування, офлайн-режиму з урахуванням особливостей Boxberry (відсутність тестового оточення).
  3. Реалізація — пишемо клієнт на обраній платформі, інтегруємо карту з кластеризацією та фільтрами.
  4. Тестування — перевіряємо на реальних токенах, симулюємо сценарії (немає мережі, невірні координати, порожня відповідь).
  5. Деплой — публікуємо оновлення в App Store/Google Play, налаштовуємо Firebase Distribution для бета-тестів.

Що входить в роботу

  • Розробка та інтеграція Boxberry API (розрахунок вартості доставки, створення та трекінг замовлень, список ПВЗ).
  • Відображення ПВЗ на карті з кластеризацією та фільтрацією.
  • Документація по використанню API у вашому проекті.
  • Навчання вашої команди (супровід протягом місяця).
  • Допомога з публікацією в магазинах додатків (App Store, Google Play).

Терміни інтеграції

Від 3 до 5 робочих днів на одну платформу (iOS, Android або Flutter). Комплексне рішення під ключ для двох платформ — до 8 днів. Вартість від 30 000 руб. на одну платформу, від 50 000 руб. на дві.

Висновок

Наш досвід показує, що Boxberry — надійний партнер для доставки, якщо правильно підійти до його API. Ми гарантуємо, що інтеграція Boxberry API пройде без сюрпризів, допомагаючи вашому мобільному додатку швидко розраховувати доставку та відстежувати замовлення. Оцініть свій проект — зв'яжіться з нами, і ми підготуємо пропозицію за один день. Вартість інтеграції на одній платформі — від 30 000 руб. Економія на логістиці до 25%. Ми маємо понад 10 років досвіду та більше 45 успішних проектів у сфері мобільної розробки та інтеграції логістичних сервісів. Замовте інтеграцію Boxberry API для вашого мобільного додатку вже сьогодні!