Tutaj można znaleźć kompleksowy przewodnik na temat tworzenia zamówienia w Skyplanner ze wszystkimi powiązanymi danymi. Niektóre z tych zagadnień zostały omówione w samouczku integracji, ale tutaj omówimy bardziej szczegółowo strukturę danych Skyplanner i proces integracji.
Struktura danych #
Najpierw omówimy strukturę zamówienia Skyplanner. Punkty końcowe API dla wspomnianych tutaj jednostek danych są wyróżnione w następujący sposób: /phaser-orders
Na najwyższym poziomie mamy zamówienie(/phaser-orders)
Każde zamówienie musi mieć klienta(/customers).
Każde zamówienie może mieć wiele pozycji zamówienia(/phaser-Order-items).
Każda pozycja zamówienia może mieć dołączony produkt(/products), ale nie jest to obowiązkowe. Każdy produkt ma jeden stan magazynowy(/saldos). Należy pamiętać, że jednostka magazynowa jest tworzona automatycznie, gdy produkt jest tworzony za pomocą interfejsu API.
Każda pozycja zamówienia może mieć wiele zadań (aka etapów procesu)(/phaser-jobs).
Każde zadanie musi mieć etap roboczy(/workstages).
Przepływ pracy integracji #
Oto przykład krok po kroku, jak można zorganizować integrację z systemu ERP do Skyplanner.
- Pobieranie sprzedaży/zamówień roboczych z systemu ERP
- Utwórz klienta (uzyskaj identyfikator klienta w odpowiedzi)
- Utwórz zamówienie z identyfikatorem klienta (uzyskaj identyfikator zamówienia w odpowiedzi)
- Pobieranie danych pozycji zamówienia sprzedaży/zamówienia roboczego z systemu ERP
- Utwórz produkt (uzyskaj identyfikator produktu w odpowiedzi)
- Utwórz pozycję zamówienia z identyfikatorem zamówienia i innymi danymi (uzyskaj identyfikator pozycji zamówienia w odpowiedzi)
- Pobieranie danych etapu procesu z systemu ERP
- Utwórz etap roboczy (uzyskaj identyfikator etapu roboczego w odpowiedzi)
- Tworzenie zadania z identyfikatorem etapu roboczego i innymi danymi
Dodatkowe wskazówki #
Przy usuwaniu #
Usuwanie phaser-orders, phaser-Order-items lub phaser-jobs za pośrednictwem interfejsu API (i interfejsu użytkownika) odbywa się w sposób miękki. Oznacza to, że dane nie są faktycznie usuwane z bazy danych, ale są oznaczane jako zarchiwizowane. W efekcie atrybut is_archive encji jest ustawiany na true, gdy jest ona usuwana. Zarchiwizowane/usunięte encje mogą być nadal dostępne za pomocą API przy użyciu parametru include_archived. Gdy include_archived=true, żądanie GET pobierze encję, nawet jeśli jest zarchiwizowana.
Należy pamiętać, że miękkie usuwanie nie jest dostępne w każdym punkcie końcowym API! Należy więc zachować ostrożność, ponieważ usuwanie np. klientów, osób itp. jest trwałe!
Korzystanie z domyślnych kroków procesu dla pozycji zamówienia #
Jeśli utworzyłeś kilka domyślnych kroków procesu dla produktu, który wytwarza pozycja zamówienia, możesz powiedzieć systemowi, aby wprowadził wartości domyślne do pozycji zamówienia za pomocą interfejsu API przy użyciu atrybutu get_default_steps.
Dodawanie materiałów do pozycji zamówienia #
Jeśli do wyprodukowanego produktu dołączono materiały, są one automatycznie dołączane do wiersza zamówienia.
Jeśli jednak nie chcesz używać materiałów dołączonych do produktu (na przykład, jeśli produkt jest zamówieniem specjalnym i chcesz użyć innych materiałów itp.), możesz użyć atrybutu use_custom_materials.