Укрпошта обслуговує понад 28 000 відділень по всій Україні — включно з тими населеними пунктами, куди інші перевізники не доставляють. Для інтернет-магазину на OpenCart підключення API Укрпошти означає автоматичний розрахунок вартості доставки на касі, генерацію ТТН після оплати замовлення і трекінг відправлень у реальному часі — без жодної ручної роботи менеджера.
Що отримує бізнес від інтеграції
- Клієнт бачить точну вартість доставки на сторінці оформлення замовлення — конверсія зростає
- ТТН формується автоматично після підтвердження оплати
- Менеджер не вводить адреси вручну — помилки при формуванні накладних зникають
- Статус відправлення оновлюється в адмін-панелі OpenCart і в кабінеті клієнта
- Покриття доставки розширюється без додаткових витрат на логістику
Як побудована інтеграція
1. Отримання API-доступу
Зареєструйтесь у системі Укрпошти для бізнесу на ukrposhta.ua. Після верифікації ви отримаєте Bearer-токен для авторизації запитів. Зберігайте токен у змінних оточення OpenCart — не хардкодьте його в коді модуля, щоб уникнути витоку при передачі коду.
2. Shipping-модуль для OpenCart
OpenCart дозволяє реалізувати власний модуль доставки через стандартний інтерфейс \Cart\Shipping. Модуль звертається до ендпоінту Укрпошти /shipments/calculation і повертає актуальні тарифи на сторінку оформлення замовлення:
class UkrposhtaShipping extends \Cart\Shipping
{
public function getQuote(array $address): array
{
$response = Http::withToken(getenv('UKRPOSHTA_TOKEN'))
->post('https://www.ukrposhta.ua/ecom/0.0.1/shipments/calculation', [
'senderCityId' => $this->config->get('ukrposhta_city_id'),
'recipientCityId' => $this->resolveCityId($address),
'weight' => $this->cart->getWeight(),
'declaredPrice' => $this->cart->getTotal(),
'type' => 'STANDARD',
]);
return $this->formatQuote($response->json());
}
} 3. Автоматична генерація ТТН
Після підтвердження замовлення та оплати хук catalog/model/checkout/order/addOrderHistory/after викликає ендпоінт POST /shipments з даними одержувача та параметрами відправлення. Сформований номер ТТН зберігається в коментарі до замовлення. Менеджер отримує PDF-наклейку для друку одним кліком з адмін-панелі.
4. Трекінг у реальному часі
Cron-завдання кожні 4 години запитує статус відправлення через ендпоінт GET /statuses/{barcode}. Отриманий статус автоматично оновлює стан замовлення в OpenCart і відправляє клієнту email-повідомлення — наприклад, «Ваша посилка прибула у відділення».
Результати в цифрах
- Час обробки одного замовлення скорочується з 15 до 2 хвилин
- Помилки адрес при формуванні ТТН — нуль (дані беруться напряму з форми замовлення)
- Охоплення доставки зростає: усі 28 000+ відділень Укрпошти без змін у процесах
- Клієнт отримує автоматичні сповіщення на кожному етапі доставки
Досвід MaxiMoruM у логістичних інтеграціях
MaxiMoruM реалізував інтеграції з українськими логістичними і платіжними сервісами для десятків інтернет-магазинів на OpenCart і WooCommerce. Кожен модуль ми покриваємо автоматичними тестами і передаємо з документацією для вашої команди підтримки.
Хочете підключити Укрпошту до свого магазину? Звертайтесь до MaxiMoruM на maximorum.com — обговоримо терміни, технічні деталі і вартість у першому дзвінку.