Зв'язатись
Автоматизація та інтеграції · Python · 2026

Інтеграція Rozetka, KeyCRM і Нова пошта Фулфілмент

Сервіс на Python: замовлення з Rozetka потрапляє на склад Нова пошта Фулфілмент з ТТН і етикеткою за одним статусом у KeyCRM, плюс повідомлення складу у Viber, передоплата за показником викупу й аналітика залишків.

Магазин продає на Rozetka, веде замовлення в KeyCRM, а товар зберігає на складах Нова пошта Фулфілмент. Склад пакує замовлення лише за етикеткою служби доставки, а вбудована інтеграція KeyCRM передавала замовлення на фулфілмент без неї. Тому ТТН для Rozetka Delivery і Meest менеджери створювали вручну в кабінеті Rozetka, а етикетки пересилали окремо. Ми написали сервіс, який робить це сам: менеджер змінює статус у KeyCRM, а замовлення потрапляє на склад з ТТН і PDF-етикеткою. З 12 жовтня 2026 року сервіс працює на сервері замовника і за перші два з половиною тижні передав на склад понад 170 замовлень.

Технічний стек

Python 3.12 + FastAPI на сервері замовника, вебхуки й тригери KeyCRM, API продавця Rozetka (ТТН Rozetka Delivery, Meest і Нової пошти, етикетки, статуси), SOAP-API складу Нова пошта Фулфілмент і Green API для показника викупу. Аналітика залишків рахується в SQLite за таймером systemd.

Схема: Rozetka → KeyCRM → сервіс → Rozetka API → Нова пошта Фулфілмент
Загальна схема: від замовлення на Rozetka до складу фулфілменту.

Один статус замість ручної роботи

Менеджер ставить у KeyCRM статус «Передати на фулфілмент», і тригер KeyCRM надсилає вебхук у сервіс. Сервіс перевіряє доставку, бере наявну ТТН або створює нову через API Rozetka, забирає PDF-етикетку й створює замовлення на складі НП з етикеткою у вкладенні та номером замовлення Rozetka. Склад обирається той, де є весь товар. Артикул Rozetka перекладається в артикул складу, а якщо треба інший, менеджер вписує заміну в поле замовлення чи товару в KeyCRM. Замовлення, яке вже є на складі, вдруге не відправляється. Перше реальне відвантаження пройшло 7 жовтня, і замовник підтвердив, що етикетка дійшла на склад правильно.

Шість перевірок сервісу перед передачею замовлення на склад
Що сервіс перевіряє, перш ніж передати замовлення на склад.

Статуси в Rozetka

Від статусів на Rozetka залежить комісія, а KeyCRM міг відкотити статус і скинути вже створену ТТН. Ми розібрали переходи статусів Rozetka й узгодили із замовником, які статуси KeyCRM і куди передаються. Правила налаштували в KeyCRM, а статус передачі на фулфілмент на Rozetka не передається зовсім.

Товар зі свого складу

Частина товару відвантажується не з фулфілменту, а з власного складу. Для цього в KeyCRM є статус «Працівник». Автоматичні ТТН Нової пошти в KeyCRM не створювалися жодного разу, бо служба брала як опис повну назву товару, а НП відхиляла її як задовгу. Тепер ТТН створює сервіс через Rozetka з коротким описом. Працівник складу отримує у Viber повідомлення в тому ж форматі, що раніше писали вручну: номер за день, ТТН, служба, отримувач, артикул, примітка для складу, кількість і посилання на етикетку.

Схема статусу «Працівник» і повідомлення у Viber для складу
Статус «Працівник»: ТТН і повідомлення працівнику складу.

Передоплата для ризикових покупців

Для неоплачених замовлень з оплатою при отриманні сервіс бере з Green API Rozetka показник викупу покупця й записує його в замовлення. Якщо він нижчий за поріг, замовлення на Rozetka переходить в очікування передоплати. Поріг власник задає сам в умові тригера KeyCRM.

Схема: показник викупу → поріг → передоплата
Показник викупу й автоматичний перехід на передоплату.

Аналітика залишків

Другим етапом ми зробили аналітику залишків. Щоранку о 7:00 сервіс збирає продажі з KeyCRM, залишки й надходження складів НП і рахує швидкість продажів без днів, коли товару не було, сезонність, прогноз, точку замовлення, кількість до замовлення з кратністю, втрачену виручку й ABC. Кожен артикул отримує статус: критично, уточнити залишок, замовити, норма або застій. Результат — звіт-таблиця по всіх артикулах.

Схема аналітики залишків: дані, розрахунок, результат
Аналітика залишків: які дані беруться, що рахується і що отримує власник.

Безпека й персональні дані

Замовник просив, щоб у сервісу не було публічного доступу через браузер і щоб персональні дані покупців нікуди не витікали. Сервіс працює на його сервері від окремого користувача без входу в систему. Назовні відкриті лише вебхук із секретом і тимчасові посилання на етикетки, а на будь-яку іншу адресу сервер просто закриває з’єднання.

Підсумок

За нами передача замовлень з Rozetka на склад Нова пошта Фулфілмент з ТТН і етикеткою за одним статусом, вибір складу й артикулів, налаштування статусів KeyCRM ↔ Rozetka, ТТН і повідомлення для власного складу, передоплата за показником викупу, щоденна аналітика залишків і запуск на сервері замовника.

Готові обговорити реліз?

Відповідаємо протягом 60 хвилин у робочий час — з оцінкою бюджету, орієнтовним графіком і складом команди під вашу задачу.

Залишити запит