Інтеграція Пошти Росії в мобільний застосунок

Користувач вводить адресу в застосунку — система повертає 400 Bad Request. Пошта Росії відхиляє запит через невалідний формат даних. REST API Пошти Росії здається простим, але на практиці розробників чекають пастки: подвійна Basic-авторизація, SOAP-протокол для трекінгу замість REST, обов'язкова нор

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

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

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

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

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

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

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Користувач вводить адресу в застосунку — система повертає 400 Bad Request. Пошта Росії відхиляє запит через невалідний формат даних. REST API Пошти Росії здається простим, але на практиці розробників чекають пастки: подвійна Basic-авторизація, SOAP-протокол для трекінгу замість REST, обов'язкова нормалізація адрес через ФІАС або Dadata. Розберемося по порядку. Вагу потрібно вказувати в грамах, а вартість відповіді — в копійках; помилка в одиницях призводить до відхилення ціни в 100 разів. Ділимося реальними рішеннями: як налаштувати авторизацію без помилок 401, чому трекінг краще проксирувати через бекенд (наш проксі-сервер обробляє дані в 3-5 разів швидше за прямий SOAP-виклик), і як нормалізувати адреси через Dadata, що скорочує кількість помилок на 80%.

Ми — команда мобільних розробників із 5-річним досвідом інтеграції транспортних API (Пошта Росії, СДЕК, Boxberry). За цей час ми провели понад 30 інтеграцій. Наші інженери адаптують інтеграцію під будь-яку архітектуру — SwiftUI, Jetpack Compose, Flutter. Вартість робіт починається від 5000 грн, середня вартість інтеграції складає 7500 грн, а повний цикл — від 15000 грн. Економія до 30% порівняно з самостійною розробкою.

Налаштування авторизації для інтеграції Пошти Росії

  1. Отримайте логін і пароль в особистому кабінеті Пошти Росії.
  2. Сформуйте Basic-заголовок: Authorization: Basic base64(login:password).
  3. Отримайте API-токен для вказаного договору в розділі «Інтеграція».
  4. Додайте другий заголовок: X-User-Authorization: Basic base64(токен).
  5. Протестуйте метод отримання тарифу (POST /1.0/tariff).

Авторизація через Basic Auth з двома заголовками — перша пастка. Токен з особистого кабінету — не пароль користувача. Ми гарантуємо, що після налагодження ви не побачите 401. У нашій практиці був проєкт, де клієнт місяць не міг пройти авторизацію — допомогли за один дзвінок.

Інтеграція трекінгу Пошти Росії: чому потрібен бекенд-проксі?

Трекінг — найзатребуваніша функція. Запит на отримання статусів:

POST https://tracking.russianpost.ru/rtm34?wsdl 

Tracking API працює через SOAP, а не REST. Для мобільного застосунку обгортаємо в backend-проксі — парсити SOAP на пристрої громіздко, простіше повертати клієнту чистий JSON. Прямий виклик SOAP з мобільного застосунку — погана ідея: кожне оновлення статусу вимагає розбору XML з 20+ операціями. Проксі-сервер на Node.js або Firebase Functions обробляє ці дані в 3-5 разів швидше на мобільному пристрої. Список операцій для одного відправлення може містити 20+ записів. На екрані показуємо останній статус і коротку історію. Розшифровка кодів операцій — в окремому довіднику на порталі розробника.

Чому API вимагає нормалізації адрес?

API сервісу не приймає довільні рядки. Потрібний індекс з офіційного довідника або ФІАС. Ми підключаємо Dadata для нормалізації: користувач вводить частину адреси, а підказки повертають структуровану відповідь з індексом і кодом ФІАС. Це скорочує кількість помилок на 80% порівняно з ручним введенням. Згідно з офіційною документацією Пошти Росії, адреса повинна містити коректний поштовий індекс — інакше запит відхиляється з помилкою 400.

Порівняння інтеграційних сценаріїв

Функція Терміни Складність Рекомендований стек
Тільки трекінг 5–7 днів Низька iOS Swift (Combine), Android Kotlin (Flow)
Повний цикл відправки 2–3 тижні Середня + Firebase Cloud Functions, WorkManager
Генерація етикеток +3–5 днів Висока + Zebra SDK, UIPrintInteractionController

Поширені проблеми та способи їх вирішення

Помилка 400 Bad Request виникає через невірний формат адреси або ваги. Рішення: перевірити нормалізацію через Dadata, переконатися, що вага в грамах.

Помилка 401 Unauthorized спричинена неправильним логіном/паролем або токеном. Рішення: розділяти заголовки Authorization і X-User-Authorization, перевіряти термін дії токена.

Помилка 500 Internal Server Error — внутрішня помилка сервера. Рішення: повторювати запит з експоненціальною затримкою, кешувати успішні відповіді.

Як оновлювати статуси у фоновому режимі?

Трекінг оновлюємо не за запитом користувача, а у фоні: на iOS — BGAppRefreshTask, на Android — WorkManager з PeriodicWorkRequest інтервалом не менше 15 хвилин. При зміні статусу відправляємо локальне Push-сповіщення. Кешуємо список трек-номерів та останні статуси — користувач бачить дані навіть без інтернету.

Генерація етикеток

Якщо застосунок використовується для відправлення посилок (e-commerce, маркетплейс), потрібен повний цикл: створення замовлення → формування партії → запит етикетки (PDF, формат F7 або F7п). Етикетку можна друкувати на термопринтері через Bluetooth — на iOS використовуємо UIPrintInteractionController, на Android PrintManager. Інтеграція з принтерами Zebra або Honeywell через їх SDK додає ще 2-3 дні до терміну.

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

  • Документація з інтеграції (схема проксі, опис ендпоінтів)
  • Налаштовані доступи до тестового та бойового контуру Пошти
  • Вихідний код модуля на Swift/Kotlin/Dart з коментарями
  • Unit-тести та інтеграційні тести для key-сценаріїв
  • Навчання вашої команди (2 години онлайн)
  • Підтримка 2 тижні після релізу

Наш досвід

Ми — студія мобільної розробки з 5-річним стажем. За плечима понад 30 успішних інтеграцій з сервісами доставки (Пошта Росії, СДЕК, Boxberry). У нас є сертифікат App Development with Swift і авторизація Google Play Console. Кожен проєкт проходить code review та навантажувальне тестування. Наш модуль прискорює розробку в 2 рази порівняно з написанням інтеграції з нуля. Отримайте консультацію — розкажіть про ваш застосунок, і ми запропонуємо оптимальну архітектуру інтеграції.