Integracje / ERP / JobBOSS²
Przewodnik po integracji JobBOSS² ze SkyPlanner APS na potrzeby harmonogramowania produkcji
Ten przewodnik pokazuje partnerom i zespołom IT, jak połączyć JobBOSS² firmy ECI ze SkyPlanner APS. SkyPlanner wymienia dane z JobBOSS² w obu kierunkach, korzystając z API firmy ECI:
- Do SkyPlanner trafiają Orders i Order Line Items, Order Routings, Estimates, Routings i materiały, Work Centers, Employees, Company Calendar, Job Requirements oraz pozycje zamówień zakupu.
- Planowane daty rozpoczęcia i zakończenia są zapisywane zwrotnie dla każdego etapu Order Routing.
- Jeśli wybierzesz tę opcję, zapisy czasu pracy operatorów mogą być przesyłane zwrotnie jako Time Ticket Details.
- Webhooki SkyPlanner przesyłają zmiany w harmonogramie na bieżąco.
Podczas wdrożenia zespół SkyPlanner dostosowuje integrację do konfiguracji JobBOSS² i zapewnia jej wsparcie po uruchomieniu produkcyjnym. Ten przewodnik jest dla partnerów i programistów, którzy chcą uczestniczyć w tych pracach lub samodzielnie tworzyć rozwiązania oparte na udokumentowanym REST API SkyPlanner (dokumentacja API). Tak właśnie postąpił już jeden z amerykańskich zakładów produkujących na zlecenie:
Interfejsy integracyjne JobBOSS²
ECI publikuje API dla swoich systemów produkcyjnych wraz ze specyfikacjami OpenAPI na stronie dokumentacji API ECI dla produkcji. Dwa z nich mają znaczenie dla harmonogramowania:
- JobBOSS² API (v1). API przeznaczone dla JobBOSS², oparte na REST i JSON. Umożliwia odczyt i zapis zamówień, Order Line Items, Order Routings, Estimates, Routings, materiałów, Job Requirements, Work Centers, Company Calendar, Employees, zamówień zakupu, Time Tickets i Time Ticket Details. ECI podaje: „is currently only supported for JobBOSS² hosted (Cloud) customers.” (obecnie jest obsługiwane wyłącznie dla klientów korzystających z JobBOSS² w chmurze).
- ECI ERP API (v2.1). Wspólne REST API dla Deacom, M1 i JobBOSS², niezależne od produktu. W przypadku JobBOSS² obejmuje zlecenia, operacje i materiały zleceń, części, operacje części, gniazda produkcyjne, pozycje zamówień zakupu i pozycje kart czasu pracy. ECI zaznacza: „the actual ERP database could be a cloud hosted ERP or on premises install,” (baza danych ERP może znajdować się w chmurze lub w instalacji lokalnej), więc jest to ścieżka integracji dla lokalnej instalacji JobBOSS².
Oba API stosują te same konwencje: wyrażenia filtrujące, takie jak lastModDate[gte]=, parametr fields=, sort= oraz stronicowanie za pomocą take i skip. Domyślna wartość take to 200. „All dates submitted to the API are assumed to be in UTC.” (Wszystkie daty przesyłane do API są traktowane jako daty w UTC).
Dla obu API obowiązuje zasada ECI: „All APIs must be activated by ECI before use.” (Każde API musi zostać aktywowane przez ECI przed użyciem). Zwróć się z tym do swojego opiekuna w ECI z wyprzedzeniem.
Uwierzytelnianie i dostęp
- Użytkownicy API. Integracja korzysta z konta użytkownika API utworzonego w Integration Engine Management Console firmy ECI. Konto to określa, do którego produktu, klienta i bazy danych trafiają wywołania.
- OAuth 2.0 client credentials. Identyfikator klienta i jego sekret służą do uzyskania tokenu w punkcie końcowym tokenów Authentication API. Każde kolejne wywołanie przesyła
Authorization: Bearer [token]. - Zakres dostępu. Przyznaj użytkownikowi API dostęp wyłącznie do zasobów wymaganych w poniższej tabeli mapowania.
Po stronie SkyPlanner REST API korzysta z uwierzytelniania tokenem API (SkyPlanner Settings > API), a jego dokumentacja jest dostępna w formacie Swagger/OpenAPI. Samouczek integracji prowadzi przez pierwsze wywołania.
Zdarzenia i cykliczne odpytywanie
Dokumentacja żadnego z API firmy ECI nie opisuje webhooków. Dane z JobBOSS² pobiera się przez cykliczne odpytywanie: Order Line Items, Order Routings i pozycje zamówień zakupu filtruje się według lastModDate od ostatniego uruchomienia, a wyniki stronicuje za pomocą take i skip. Częstotliwość ustala się dla danego zakładu — od odpytywania co kilka minut dla zleceń po odpytywanie co godzinę dla stanów magazynowych.
SkyPlanner wysyła webhooki przy zmianie stanu lub harmonogramu, więc zapis zwrotny jest sterowany zdarzeniami.
Mapowanie danych
| Obiekt JobBOSS² (zasób JobBOSS² API) | Obiekt SkyPlanner | Kierunek | Częstotliwość |
|---|---|---|---|
Estimates (/estimates), materiały (/materials) | Produkty, materiały, struktura produktu | JobBOSS² → SkyPlanner | Import początkowy, następnie po zmianie |
Routings (/routings): gniazdo produkcyjne, czas przezbrojenia, czas cyklu, wielkość zespołu, maszyny do wykonania operacji | Etapy procesu wraz z czasami trwania i przezbrojenia | JobBOSS² → SkyPlanner | Import początkowy, następnie po zmianie |
Work Centers (/work-centers): liczba godzin na zmianę, praca na zmianach od 1 do 3, dni robocze | Stanowiska robocze, grupy stanowisk roboczych, współczynniki wydajności | JobBOSS² → SkyPlanner | Import początkowy, później sporadycznie |
Company Calendar (/company-calendars), Employees (/employees) | Zmiany robocze, dni wolne, personel | JobBOSS² → SkyPlanner | Codziennie lub zarządzanie zmianami roboczymi w SkyPlanner |
Orders i Order Line Items (/order-line-items): numer zlecenia, termin realizacji, priorytet, ilość do wyprodukowania | Zamówienia z terminami realizacji i priorytetami | JobBOSS² → SkyPlanner | Odpytywanie co kilka minut |
Order Routings (/order-routings): etapy zlecenia, status, pozostałe godziny | Operacje dla poszczególnych etapów procesu | JobBOSS² → SkyPlanner | Odpytywanie co kilka minut |
Job Requirements (/job-requirements), pozycje zamówień zakupu (/purchase-order-line-items) | Zapotrzebowanie materiałowe, zamówienia zakupu według dat dostawy | JobBOSS² → SkyPlanner | Odpytywanie co godzinę lub przy uruchomieniu harmonogramowania |
Order Routing: estimatedStartDate, estimatedEndDate, workCenter, employeeCode (PATCH) | Planowane rozpoczęcie i zakończenie, maszyna i operator dla każdego etapu | SkyPlanner → JobBOSS² | Po zmianie harmonogramu, przez webhook SkyPlanner |
| Time Ticket Details (POST): zlecenie, etap, gniazdo produkcyjne, pracownik, czas przezbrojenia, czas cyklu, liczba sztuk wykonanych i braków, czas rozpoczęcia i zakończenia | Zapisy czasu pracy i potwierdzenia operatorów | SkyPlanner → JobBOSS² | Przy każdym potwierdzeniu lub raz na zmianę, jeśli wybrano tę opcję |
| Brak w JobBOSS² | Macierz czasów przezbrojenia, narzędzia jako zasoby o ograniczonej dostępności, alternatywne maszyny i personel | Zarządzanie w SkyPlanner | Konfiguracja podczas wdrożenia |
W lokalnej instalacji JobBOSS² te same obiekty odczytuje się przez zasoby ERP API: /jobs, /job-operations, /job-materials, /parts, /part-operations, /work-centers i /purchase-order-lines, a zapisy czasu pracy przesyła się do /timecard-lines.
Schematy integracji
1. Początkowy import danych podstawowych. Odczytaj Estimates, Routings, materiały, Work Centers, Company Calendar i Employees. Świadomie ustal mapowanie gniazd produkcyjnych: gniazdo z czterema tokarkami staje się jedną grupą stanowisk roboczych lub czterema stanowiskami roboczymi, aby SkyPlanner ustalał kolejność pracy na każdej maszynie.
2. Synchronizacja zleceń. Odczytaj otwarte Order Line Items wraz z ich Order Routings, Job Requirements i otwartymi pozycjami zamówień zakupu. SkyPlanner traktuje zamówiony materiał jako dostępny w dniu dostawy zamówienia zakupu i aktualizuje stan magazynowy, gdy zamówienie otrzyma status Delivered. Pomiń zlecenia wstrzymane i zamknięte.
3. Zapis zwrotny harmonogramu. Gdy silnik umieści lub przesunie etap w harmonogramie, webhook SkyPlanner wyzwala żądanie PATCH do /api/v1/orders/{orderNumber}/order-line-items/{itemNumber}/order-routings/{stepNumber}. Ustawia ono estimatedStartDate i estimatedEndDate w UTC, a także workCenter i employeeCode, jeśli SkyPlanner przeniósł etap na inną maszynę lub przypisał go innej osobie. Daty trafiają do etapów zleceń widocznych już w Whiteboard, Planning Board i Scheduling Advisor.
4. Potwierdzenia z hali produkcyjnej. Operatorzy rejestrują pracę za pomocą SkyPlanner Mobile Confirmations lub Production Timer, a zapisy czasu pracy pozwalają utrzymywać aktualny harmonogram. Ty decydujesz, czy rzeczywiste czasy mają być przesyłane zwrotnie do JobBOSS². Jeśli tak, każde potwierdzenie staje się rekordem Time Ticket Detail z czasem przezbrojenia, czasem cyklu i liczbą sztuk. Jeśli nie, dane nadal zbierane są w JobBOSS², a SkyPlanner odczytuje postęp z Order Routings.
5. Odpowiedzialność za dane i zasady rozstrzygania konfliktów. Spisz je przed uruchomieniem produkcyjnym:
| Dane | System odpowiedzialny |
|---|---|
| Estimates, Routings, ilości, terminy realizacji, status zlecenia | JobBOSS² |
| Kolejność etapów, czasy rozpoczęcia i zakończenia, maszyna i operator dla każdego etapu | SkyPlanner |
| Macierz czasów przezbrojenia, wymagania dotyczące narzędzi i operatorów, alternatywne zasoby produkcyjne | SkyPlanner |
| Zmiany robocze i dni wolne | Jeden system, wybrany podczas określania zakresu |
| Karty czasu pracy, wydania materiałów, przyjęcia, kalkulacja kosztów | JobBOSS² — dane wprowadzane bezpośrednio lub przesyłane z zapisów czasu pracy w SkyPlanner |
Wybierz jeden system zapisujący daty etapów zleceń. W przypadku zleceń harmonogramowanych w SkyPlanner system ten zastępuje zmianę terminów w Whiteboard. Planiści przesuwają więc pracę w SkyPlanner, a daty trafiają do JobBOSS².
Typowe etapy projektu
Wdrożenie zwykle kończy się w ciągu kilku tygodni od rozpoczęcia prac. Wcześniej zweryfikuj harmonogram w ramach 30-dniowego bezpłatnego okresu próbnego, korzystając z Work Centers, marszrut technologicznych i otwartych zleceń wyeksportowanych z JobBOSS² do plików CSV lub Excel.
- Mapowanie. Ustal tabelę mapowania, zasady odpowiedzialności za dane, częstotliwości synchronizacji oraz to, czy karty czasu pracy mają być przesyłane zwrotnie.
- Dostęp od ECI. Poproś ECI o aktywację JobBOSS² API lub ERP API i utworzenie użytkownika API. Jeśli masz firmę testową w środowisku sandbox, przeprowadź na niej testy.
- Początkowy import danych. Estimates, Routings, Work Centers, kalendarz i pracownicy.
- Synchronizacja zleceń i zamówień zakupu. Cykliczne odpytywanie z filtrami
lastModDate, stronicowaniem i ponawianiem prób. - Konfiguracja ograniczeń w SkyPlanner. Macierz czasów przezbrojenia, narzędzia, liczba operatorów na operację oraz alternatywne maszyny lub pracownicy.
- Zapis harmonogramu w systemie źródłowym. Wywołania PATCH dla Order Routing wyzwalane przez webhooki SkyPlanner, a także Time Ticket Details, jeśli wybrano tę opcję.
- Testy równoległe. Korzystaj ze SkyPlanner równolegle z dotychczasową tablicą planowania, porównaj terminy i popraw dane podstawowe.
- Uruchomienie produkcyjne. Włącz zapis zwrotny, gdy dane będą zgodne.
Co uwzględnić przy integracji z JobBOSS²
- Hosting czy instalacja lokalna. JobBOSS² API obsługuje klientów korzystających z hostingu. Instalacje lokalne korzystają z ERP API, które udostępnia inną listę zasobów. Ustal wariant w kroku 1.
- Wszędzie UTC. API odczytuje i zapisuje czas w UTC. Przeliczaj go na czas lokalny zakładu, inaczej rozpoczęcie planowane na 7:00 zostanie przypisane do niewłaściwej godziny.
- Maszyny ukryte w gniazdach produkcyjnych. Gniazdo produkcyjne może oznaczać maszynę, grupę maszyn, komórkę produkcyjną lub ludzi. Liczba maszyn i wielkość zespołu podane dla każdej operacji marszruty technologicznej informują SkyPlanner, ilu zasobów produkcyjnych wymaga dana operacja.
- Usługi zewnętrzne. Operacje z przypisanym dostawcą zamiast gniazda produkcyjnego wpływają na lead time, ale nie obciążają Twoich zdolności produkcyjnych. Modeluj je jako operacje uwzględniające wyłącznie czas.
- Nakładanie się operacji i praca bezobsługowa. Operacje marszruty technologicznej mogą mieć znaczniki zezwalające na nakładanie się w czasie lub pracę bez operatora. Przenoś oba znaczniki, aby prawidłowo planować pracę bezobsługową.
- Jednostki czasu. Czasy przezbrojenia i cyklu mają własne jednostki, a czas oczekiwania w kolejce nie jest czasem pracy maszyny. Przeliczaj jednostki podczas importu, inaczej wszystkie czasy trwania będą błędne.
- Stronicowanie. Domyślnie strona zawiera 200 rekordów. Stosuj stronicowanie przy każdym odczycie.
Kto konfiguruje i wspiera integrację z JobBOSS²
- Zespół SkyPlanner konfiguruje integrację podczas wdrożenia i zapewnia wsparcie po uruchomieniu produkcyjnym, w zakresie uzgodnionych zasobów i zasad odpytywania. Każdy zakład korzysta z JobBOSS² inaczej — właśnie na tym etapie wykorzystujemy wiedzę o tych różnicach.
- Twój partner JobBOSS² może uczestniczyć w projekcie. Zna Twoją konfigurację i wspólnie z zespołem SkyPlanner może uzgodnić z ECI aktywację API oraz utworzenie użytkownika API.
- Twoi programiści mogą rozwijać integrację, korzystając z REST API SkyPlanner i tokenu API. Do rozpoczęcia prac wystarczy token API, a zespół SkyPlanner pomaga w razie potrzeby. Dokumentację znajdziesz na stronie dokumentacji integracji SkyPlanner.
Cena SkyPlanner zaczyna się od 199 € miesięcznie i obejmuje 5 stanowisk roboczych, z rozliczeniem miesięcznym. Integrację wyceniamy z góry, wraz z wybranym planem, z uwzględnieniem Twoich procesów i potrzeb. Zobacz cennik, harmonogramowanie produkcji z uwzględnieniem dostępnych zdolności produkcyjnych w JobBOSS², stronę JobBOSS², funkcje SkyPlanner oraz przegląd integracji z ERP.
Firmy produkcyjne korzystające ze SkyPlanner
2 hoszczędności co tydzień
„Dzięki SkyPlanner przeszliśmy od planowania produkcji w arkuszach Excela do optymalizacji produkcji w czasie rzeczywistym.”
Kalle Kalliomäki, specjalista ds. łańcucha dostaw
UTU · Rozdzielnice elektryczne i aparatura rozdzielcza
Planowanie produkcji pozwala zaoszczędzić 2 godziny pracy tygodniowo, a nowa kolejka zadań trafia na linię w ciągu kilku sekund.
+90%wydajności produkcji
„Wydajność produkcji wzrosła o 90%.”
Abdul Rucyinga, szef działu IT
Laboratory & Allied · Produkcja farmaceutyczna
Wydajność produkcji wzrosła o 90%, a przygotowanie zoptymalizowanego planu na trzy miesiące dla wszystkich stanowisk roboczych zajmuje mniej niż 30 minut.
1 000+zleceń produkcyjnych harmonogramowanych automatycznie
„Teraz inaczej kontrolujemy produkcję, a nasza wiedza o zdolnościach produkcyjnych jest na całkiem innym poziomie.”
Hannu Ryynänen, dyrektor generalny
Mamec · Mieszalniki przemysłowe, pompy i zaawansowana technologicznie produkcja kontraktowa
Tysiące zleceń produkcyjnych są harmonogramowane automatycznie, a cała organizacja ma wgląd w produkcję w czasie rzeczywistym.
98%terminowości dostaw — wzrost z około 50%
„SkyPlanner odgrywa decydującą rolę w utrzymaniu naszej terminowości dostaw.”
Hannu Lahtinen, dyrektor zarządzający
KJH-Comp · Obróbka blach i produkcja kontraktowa
Terminowość dostaw wzrosła z około 50% do nawet 98%, a harmonogramowaniem zajmuje się teraz jeden kierownik zamiast dwóch.
Najczęściej zadawane pytania
Czy JobBOSS² ma API?
Tak. ECI udostępnia JobBOSS² API oraz niezależne od produktu ERP API — oba oparte na REST, ze specyfikacjami OpenAPI. JobBOSS² API umożliwia klientom korzystającym z hostingu odczyt i zapis zleceń, Order Routings, Estimates, Work Centers, zamówień zakupu i Time Tickets.
Jak integracja uwierzytelnia się w JobBOSS²?
Przez mechanizm client credentials w OAuth 2.0. ECI aktywuje API, użytkownik API jest tworzony w Integration Engine Management Console, a każde wywołanie zawiera token Bearer.
Czy JobBOSS² obsługuje webhooki?
Dokumentacja API ECI nie opisuje webhooków, dlatego integracja odpytuje JobBOSS² z filtrami lastModDate według harmonogramu ustalonego dla danego zakładu. Własne webhooki SkyPlanner przesyłają zmiany harmonogramu na bieżąco.
Jak planowane terminy są zapisywane z powrotem w JobBOSS²?
Osobno dla każdej operacji zlecenia. SkyPlanner aktualizuje każdy Order Routing metodą PATCH, przekazując estimatedStartDate i estimatedEndDate, a także workCenter i employeeCode, gdy operację przeniesiono na inną maszynę lub przypisano innemu operatorowi.
Czy partner JobBOSS² powinien proponować ECI APS czy SkyPlanner?
SkyPlanner, gdy klient chce w ciągu kilku tygodni uruchomić harmonogramowanie produkcji uwzględniające dostępność wielu zasobów produkcyjnych. ECI APS to osobny dodatek oparty na LYNQ. SkyPlanner łączy się przez JobBOSS² API udostępniane przez ECI, planuje przezbrojenia, zespoły, przyrządy mocujące i materiały oraz automatycznie aktualizuje harmonogram. Cena zaczyna się od 199 € miesięcznie.
Czy możemy przetestować SkyPlanner przed zbudowaniem integracji?
Tak. Bezpłatny 30-dniowy okres próbny obejmuje do 20 stanowisk roboczych i import danych z JobBOSS² przez pliki CSV lub Excel, bez podawania karty płatniczej. Rozpocznij okres próbny lub porozmawiaj z działem sprzedaży, aby określić zakres integracji.