Вступ
Недостатньо обрати модуль для створення відправлень з Odoo — важливо, щоб рішення мало ефективний механізм синхронізації для коректної роботи та оперативного оновлення.
Рішення Odoo Nova Post Delivery забезпечує оптимізований механізм синхронізації відділень і точок видачі та оперативне оновлення статусів ТТН.
Оновлення відбувається як через заплановані дії, так і за допомогою вебхуків, що забезпечує майже миттєве отримання оновлень.
Методи синхронізації
Базовий механізм періодичного запуску процесів в Odoo — це заплановані дії. Цей механізм зручний та дозволяє розв'язати питання синхронізації ефективно, якщо він використовується коректно, з розумінням всіх нюансів.
Модулі серії Delivery Hub мають додаткову логіку розділення процесів синхронізації, що працюють з великими обсягами даних — це завдання синхронізації. Ці завдання створюються і виконуються автоматично, з пріоритетом на мінімізацію навантаження на систему та підтримку актуального стану даних.
Альтернативний механізм синхронізації — це оновлення через вебхуки — спеціальні URL, котрі знаходяться в режимі очікування і реагують миттєво при отриманні запиту на них.
Розглянемо, як ці механізми використовуються та налаштовуються в модулі від Garazd Creation — Odoo Nova Post Delivery.
Заплановані дії
Заплановані дії використовуються для оновлення основних довідників, відділень та точок прийому/видачі Nova Post. Дії виконуються з певною періодичністю, яку можна змінити відповідно до особистих потреб бізнесу.
Запланована дія Синхронізація ТТН оновлює статуси товарно-транспортних накладних кожні 30 хвилин за замовчуванням. Оновлення виконується лише для відправлень, що вже надані перевізнику, але ще не отримані.
Друга запланована дія буде розглянута далі.
Завдання синхронізації
У модулі Odoo Nova Post Delivery для роботи з великими масивами даних використовується гнучкий механізм завдань синхронізації. Нижче розглянемо, як працюють завдання синхронізації, як ними керувати та що робити у випадку помилок під час їх виконання.
Принцип роботи
Ціль завдань синхронізації — розділити процес оновлення великих обсягів даних на частини. Це дозволяє оптимально використовувати ресурси сервера та підтримувати актуальний стан даних в Odoo.
Для перегляду завдань синхронізації оберіть меню Delivery Hub — Конфігурація — Синхронізація — Завдання, або відкрийте акаунт служби доставки та натисніть Завдання синхронізації:
Cписок завдань синхронізації для Nova Post містить два записи:
- Синхронізація відділень Nova Post
- Синхронізація одиниць виміру для пакувань
Кожне завдання налаштоване таким чином, щоб час його виконання не перевищував 1–2 хвилини. Також враховується рекомендована періодичність оновлення, котра може мати наступні значення:
- Щоденно — запуск завдання синхронізації відбувається кожного дня. Ця опція використовується для синхронізації найбільш важливих даних, актуальність яких є критичною.
- Щотижнево — перезапуск завдання синхронізації відбувається кожні 7 днів. Ця періодичність підходить для даних з середнім ступенем важливості.
- Щомісячно — перезапуск завдання синхронізації відбувається кожні 30 днів. Використовується для синхронізації даних з мінімальним рівнем важливості або тих, що оновлюються нечасто.
Розглянемо, як відбувається процес на прикладі завдання синхронізації відділень, що має періодичність Щотижнево. Тобто раз на 7 днів відбувається перезапуск цього завдання. Після чого його обробку здійснює запланована дія Доставка Nova Post: Запуск завдань синхронізації, що виконується кожні 15 хвилин, оновлюючи довідник відділень частинами, приблизно по 500 записів.
Після оновлення всіх відділень поточне завдання встає на паузу, статус — Виконано, і буде перезапущено через 7 днів від попередньої дати початку.
Дії з завданнями
Можна запустити завдання вручну, натиснувши кнопку Запуск. Буде виконана часткова обробка, і дані будуть оновлені.
Для аналізу роботи завдання дивіться значення у полі Час для обробки. Воно показує витрачений час на виконання завдання у вашій системі. Рекомендується, щоб він не перевищував 1–2 хвилин. Якщо значення часу значно більше, зменшіть параметр Кількість запитів за виконання, наприклад, з 5 до 3.
Інша дія — це перезапуск завдання синхронізації. Вона доступна у двох випадках:
- Коли завдання повністю виконано і потрібно вручну перезапустити його
- Коли при виконанні завдання сталася помилка і необхідно зробити перезапуск
Щоб виконати перезапуск, натисніть Скинути до початкового стану:
Стан завдання при цьому змінюється на Готовий до обробки, а всі лічильники прогресу обнуляються:
Обробка помилок
У разі виникнення помилок потрібно з’ясувати причину та перезапустити завдання.
Виконайте наступні дії для ручного перезапуску завдання:
- Перегляньте поле Повідомлення для визначення причини помилки
- Натисніть кнопку Скинути до початкового стану
- Натисніть кнопку Запуск для повторного виконання завдання
Вебхуки
Nova Post надає сучасний механізм оновлення даних: це оновлення шляхом реєстрації вебхуків. Після реєстрації Nova Post оновлює статуси ваших ТТН у реальному часі. Цей функціонал реалізовано в модулі, і для його активації потрібно зробити наступні налаштування на боці Odoo.
Активація
Для створення та активації вебхуку, відкрийте меню Конфігурація — Вебхуки — Підписки Nova Post:
Створіть нову підписку і вкажіть наступні дані:
- Назву підписки
- Акаунт служби доставки
- Тип підписки — один з 4 варіантів:
- Особисті посилки — для особистих облікових записів
- Посилки організацій — для бізнес-облікових записів, що потребують додаткових даних про компанію
- Список ТТН — для відстеження конкретних номерів відправлень
- Всі відправлення, створені клієнтом — для відстеження всіх відправлень, створених клієнтом (незалежно від того, чи вказаний він як відправник)
- Активуйте опцію Надсилати попередження та введіть Email, у разі якщо потрібно отримувати повідомлення про помилки для даного вебхука
По завершенні натисніть Підписатись, щоб зареєструвати вебхук на боці Nova Post. У разі успіху статус підписки змінюється на Створено.
Типи підписок
Деякі типи підписок мають додаткові параметри — розглянемо ці випадки.
Тип підписки Особисті посилки призначений для особистих облікових записів. У разі вибору цього типу потрібно додатково вказати номер телефону:
Інший тип, Посилки організацій, дозволяє відстежувати відправлення, зроблені бізнес-акаунтами. Потрібно вказати у відповідному полі податкові ідентифікаційні номери юридичної особи, через кому:
При виборі типу підписки Список ТТН вкажіть номери ТТН для відстеження. Для цього:
- Додайте в таблицю новий рядок
- Оберіть одну зі створених ТТН
- Зареєструйте номер цієї ТТН на боці Nova Post, натиснувши Зареєструвати
Дії з підписками
Для активованих підписок доступні наступні дії:
- Внесення зміни — відредагуйте налаштування підписки й натисніть кнопку Оновити, щоб оновлення було виконано і на боці Nova Post.
- Оновлення токена — якщо потрібно змінити токен у цілях безпеки або з інших причин, натисніть кнопку Оновити токен.
- Деактивація підписки — для тимчасової деактивації підписки, вимкніть опцію Активно на вкладці Налаштування та натисніть кнопку Оновити. Таким самим чином відбувається і повторна активація.
- Видалення підписки — для повної деактивації підписки натисніть кнопку Видалити. Ця дія є незворотньою, та її результат неможливо скасувати.
Лог статусів ТТН
Після створення статус ТТН постійно оновлюється за описаними вище методами. Всі зміни фіксуються в таблиці та доступні до перегляду при відкритті ТТН:
Записи логів містять інформацію про новий статус ТТН, код статусу, дату зміни статусу та відображаються в хронологічному порядку.
Підсумки
Інтеграція Odoo зі службами доставки може бути виконана різними способами. Модулі, що забезпечують цю інтеграцію, можуть добре працювати при невеликих обсягах відправлень, але питання виникають при довгостроковій експлуатації рішення і великій кількості відправлень.
Уникнути складнощів можливо, якщо механізми коректної синхронізації закладені в архітектуру рішення. Це дозволить інтеграції працювати без затримок та завжди мати актуальні дані.
Інтеграція Nova Post від Garazd Creation базується на механізмах, що враховують навантаження на систему та диверсифікують шляхи оновлення даних. Ви отримуєте інструмент, який підтримує масштабування вашого бізнесу на міжнародні ринки, забезпечуючи автоматизацію повного циклу обробки відправлень з синхронізацією даних у режимі реального часу.