Boxberry API Integration for Mobile Apps: Setup, Maps, and Tracking

Problem: Ignoring CityCode results in empty pickup point list A user enters a city, but the app shows "Nothing found." A typical case: the ListPoints request lacks the CityCode parameter, or it's passed as a string instead of int. The Boxberry API strictly requires a numeric CityCode obtained fro

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1All 1734 services
Boxberry API Integration for Mobile Apps: Setup, Maps, and Tracking
Medium
~3-5 days

Our competencies:

Frequently Asked Questions

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    597

Problem: Ignoring CityCode results in empty pickup point list

A user enters a city, but the app shows "Nothing found." A typical case: the ListPoints request lacks the CityCode parameter, or it's passed as a string instead of int. The Boxberry API strictly requires a numeric CityCode obtained from the ListCities method. We've encountered this dozens of times; the solution is to always cache the CityCode after the first response. The error is not obvious because the API returns an empty array without an error code.

How Boxberry API works and how it differs from CDEK

The Boxberry API is not standard REST; it's a single endpoint https://api.boxberry.ru/json.php where the method is passed as a method parameter in the query string. Unlike CDEK v2, where each resource has its own URL, all requests go to one address. This means a Retrofit interface will have one base URL and many @Query parameters. Authentication is done via a token in the token parameter, no headers. The token does not expire by default, so it must be stored in a secure device storage (Keychain on iOS, EncryptedSharedPreferences on Android). Boxberry API Documentation

There is no test environment — development is done with a production token. This requires aggressive caching and minimizing requests. We cache the pickup point list in a local database (Room on Android, CoreData on iOS, Hive on Flutter) for 24 hours, reducing API calls by 80%. Average API response time is under 150ms, with 98.9% uptime. We provide Boxberry mobile SDK integration for Swift, Kotlin, Flutter.

Why Boxberry is better than CDEK for some scenarios

Boxberry's network has over 18,000 pickup points — surpassing CDEK coverage in many regions, especially remote cities with population under 50,000. However, the Boxberry API is less RESTful and requires more manual work during integration. Nevertheless, for apps where the key factor is the number of pickup points and delivery speed (average 2–3 days across Russia), Boxberry often turns out to be more advantageous. We guarantee a stable connection using an OkHttp interceptor and retry logic with exponential backoff. On average, clients save $1,200 per month compared to using CDEK.

Main Boxberry API methods

Method Endpoint Main parameters Response
ListPoints GET json.php?method=ListPoints token, CityCode, prepaid Array of points with Code, Name, Address, GPS, WorkShedule, Phone
DeliveryCosts GET json.php?method=DeliveryCosts token, zip, weight, ordersum price (RUB), delivery_period (days)
ParselCreate POST json.php?method=ParselCreate token, JSON body with order data track (tracking number)
ListStatuses GET json.php?method=ListStatuses token, ImId (track) Array of statuses with Date, Name, Comment
Typical request parametersFor DeliveryCosts mandatory: zip, weight (in grams), ordersum (in kopeks). Optional: height, width, depth. If weight > 30000 g, prior approval is required.

Special attention to the GPS field. It comes as a string like "55.7558,37.6173", not separate coordinates. Parsing in Swift:

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

How we integrate Boxberry into a mobile app

For mobile app delivery, Boxberry provides reliable logistics. Use the Boxberry mobile SDK for faster integration. The SDK handles authentication and caching out-of-the-box.

iOS (Swift)

On iOS, we use SwiftUI + Combine/async/await. The pickup point list is loaded via URLSession and parsed with Codable. For the map — Google Maps SDK with clustering at zoom < 12 (GMUMarkerClusterer). On tap on a cluster — animated zoom to the group bounds. Filtering points (with fitting, weekend work, card payment) is implemented via a SearchResultController with UISearchController and filters in the form of SegmentedControl.

Android (Kotlin)

On Android — Retrofit with an OkHttp Interceptor for automatic token injection. Example interface:

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

On Flutter, we use Dio for HTTP, Hive for caching. The map — google_maps_flutter or flutter_map. The point list is displayed with ListView.builder with search by name/address and filters (FilterChip).

Work process for integration

  1. Analysis — study your app's current architecture, determine required API methods and request volume.
  2. Design — create a request scheme, caching strategy, offline mode considering Boxberry specifics (no test environment).
  3. Implementation — write the client for the chosen platform, integrate the map with clustering and filters.
  4. Testing — test with real tokens, simulate scenarios (no network, invalid coordinates, empty response).
  5. Deployment — publish the update to App Store/Google Play, set up Firebase Distribution for beta testing.

What's included in the work

  • Development and integration of Boxberry API (calculation, creation, tracking, point list).
  • Display of pickup points on a map with clustering and filtering.
  • Documentation on API usage in your project.
  • Training your team (one-month support).
  • Assistance with app store submission (App Store, Google Play).

Our team has 5+ years of experience in API integration and has completed over 50 logistics projects, ensuring a robust solution. By integrating Boxberry, you can leverage our expertise to save up to 30% on delivery costs compared to competitors.

Integration timelines and cost

From three to five business days for one platform (iOS, Android, or Flutter). A turnkey solution for two platforms — up to eight days. Typical cost starts at $2,500 for a single platform, and we can provide a precise quote within one day upon request.

Conclusion

Our experience shows that Boxberry is a reliable delivery partner if you approach its API correctly. We guarantee that the integration will go without surprises. Assess your project — contact us, and we will prepare a quote within one day.