Тут ви можете знайти вичерпний посібник про те, як створити замовлення в Skyplanner з усіма пов’язаними з ним даними. Дещо з цього вже було описано в посібнику з інтеграції, але тут ми розглянемо структуру даних Skyplanner і процес інтеграції більш детально.
Структура даних #
Спочатку ми розглянемо, як структурується замовлення Skyplanner. Кінцеві точки API для згаданих тут сутностей даних позначаються так: /phaser-orders
На верхньому рівні ми маємо замовлення(/phaser-orders)
У кожного замовлення має бути замовник(/замовники).
Кожне замовлення може мати кілька елементів замовлення(/phaser-Order-items)
До кожної позиції замовлення може бути прикріплений товар(/товари), але це не є обов’язковим. Кожен товар має один склад(/saldos). Зверніть увагу, що сутність складу створюється автоматично при створенні товару за допомогою API.
Кожна позиція замовлення може мати кілька завдань (так званих кроків процесу) (/phaser-jobs).
Кожна робота повинна мати робочий етап(/workstages).
Робочий процес інтеграції #
Ось покроковий приклад того, як ви можете структурувати інтеграцію з вашої ERP-системи до Skyplanner.
- Отримання продажів/замовлень з ERP
- Створити клієнта (отримати у відповідь ідентифікатор клієнта)
- Створити замовлення з ідентифікатором клієнта (отримати ідентифікатор замовлення у відповідь)
- Отримання даних про продажі/замовлення з ERP-системи
- Створити товар (отримати у відповідь ідентифікатор товару)
- Створити позицію замовлення з ідентифікатором замовлення та іншими даними (отримати у відповідь ідентифікатор позиції замовлення)
- Отримання даних про етапи процесу з ERP-системи
- Створити робочий етап (отримати у відповідь ідентифікатор робочого етапу)
- Створіть завдання з ідентифікатором робочого етапу та іншими даними
Додаткові поради #
Про видалення #
Видалення фазерних замовлень, позицій фазерних замовлень або фазерних завдань через API (і з інтерфейсу користувача) відбувається у м’який спосіб. Це означає, що дані фактично не видаляються з бази даних, але позначаються як архівовані. Фактично, атрибут is_archive сутності встановлюється в true, коли вона видаляється. До заархівованих/видалених сутностей все ще можна отримати доступ за допомогою API, використовуючи параметр include_archived. Коли include_archived=true, GET-запит отримає сутність, навіть якщо вона заархівована.
Зверніть увагу, що м’яке видалення доступне не в кожній кінцевій точці API! Тому ви повинні бути обережними, оскільки видалення, наприклад, клієнтів, людей і т.д. є безповоротним!
Використання етапів обробки за замовчуванням для позиції замовлення #
Якщо ви створили деякі кроки процесу за замовчуванням для продукту, який виробляє ваша позиція замовлення, ви можете наказати системі застосувати ці кроки за замовчуванням до позиції замовлення за допомогою API, використовуючи атрибут get_default_steps.
Додавання матеріалів до позиції замовлення #
Якщо ви прикріпили матеріали до створеного продукту, вони автоматично додаються до рядка замовлення.
Однак, якщо ви не хочете використовувати матеріали, прикріплені до товару (наприклад, якщо товар є спеціальним замовленням і ви хочете використовувати інші матеріали тощо), ви можете використовувати атрибут use_custom_materials.