Łączy się z systemami ERP i MES takimi jak

Integracje / ERP / ProShop ERP

Przewodnik po integracji ProShop ERP na potrzeby harmonogramowania produkcji w SkyPlanner APS

Ten przewodnik pokazuje administratorom, konsultantom i zespołom IT, jak połączyć ProShop ERP ze SkyPlanner APS. SkyPlanner wymienia dane z ProShop w obu kierunkach, korzystając z API ProShop:

  • Do SkyPlanner trafiają Work Orders wraz z operacjami, Parts, rekordy Work Order BOM, Work Cells, Users, Tools, Fixtures i Purchase Orders.
  • Planowane daty rozpoczęcia i zakończenia są zapisywane z powrotem w zleceniach produkcyjnych.
  • Jeśli wybierzesz taką opcję, czas pracy operatorów może być przesyłany z powrotem do ProShop Time Tracking.
  • Webhooki SkyPlanner przesyłają zmiany w harmonogramie na bieżąco.
Wykres Gantta w SkyPlanner APS z operacjami zaplanowanymi na stanowiskach roboczych i listą zleceń poniżej.

Podczas wdrożenia zespół SkyPlanner dostosowuje integrację do konfiguracji ProShop i zapewnia jej wsparcie po uruchomieniu produkcyjnym. Ten przewodnik jest przeznaczony dla partnerów i programistów, którzy chcą uczestniczyć w pracach lub samodzielnie tworzyć rozwiązania oparte na udokumentowanym REST API SkyPlanner (dokumentacja API).

Interfejsy integracyjne ProShop

ProShop udostępnia zewnętrznemu systemowi harmonogramowania dwie możliwości połączenia, opisane w dokumentacji ProShop API Developer Documents:

  1. ProShop GraphQL API. „ProShop provides a GraphQL API, available via HTTP(S).” (ProShop udostępnia GraphQL API przez HTTP(S)). Dostępny jest jeden endpoint: każde wywołanie to żądanie HTTP POST do <proshop root>/api/graphql z polami query, variables i operationName w treści JSON. Każdy moduł ma zapytanie w liczbie pojedynczej do pobierania jednego rekordu oraz zapytanie w liczbie mnogiej do pobierania list. Listy są stronicowane za pomocą pageSize (domyślnie 20) i pageStart. Zwracają records i totalRecords oraz przyjmują argumenty filter i query, które odpowiadają funkcji Advanced Search danego modułu. Schemat można odczytać za pomocą introspekcji. (Wprowadzenie do API ProShop)
  2. Recently Updated Records API. „A simple REST interface allows external integrations to request information between arbitrary points in time.” (Prosty interfejs REST pozwala zewnętrznym integracjom pobierać informacje z dowolnego przedziału czasu). Wywołaj <proshop root>/recentlyupdatedrecords z parametrem start (ISO 8601) oraz opcjonalnymi parametrami end i filterby, na przykład workorders,workcells,purchaseorders,timetracking,deletions. Zespół ProShop musi najpierw włączyć indeks. (Recently Updated Records API)

Zapis odbywa się przez mutacje GraphQL. Udokumentowanym przykładem jest Time Tracking Login, a uprawnienia do zapisu przyznaje się osobno dla każdego modułu za pomocą zakresów uprawnień.

Uwierzytelnianie i zakresy uprawnień

  • Token dostępu w każdym wywołaniu. Przesyłaj go jako Authorization: Bearer <token> lub w parametrze zapytania token.
  • OAuth 2.0 Client Credentials (ProShop 5.2.3 i nowsze wersje). Administrator systemu ProShop otwiera System Config > Manage Authorizations, tworzy Authorization z polami Name i Maximum Scope oraz zaznacza Direct Login i Active. Wartości Unique ID i Shared Secret służą odpowiednio jako client_id i client_secret. Aplikacja wysyła żądanie POST z grant_type=client_credentials do <proshop root>/home/member/oauth/accesstoken i otrzymuje token Bearer z expires_in. Nie ma tokenu odświeżania, więc po wygaśnięciu tokenu trzeba pobrać nowy. (Przepływ Client Credentials)
  • OAuth 2.0 Authorization Flow służy do wywołań wymagających kontekstu użytkownika, takich jak Time Tracking Login.
  • Zakresy uprawnień. Mają format SCOPE_NAME:[{r|w|d|p}], gdzie litery oznaczają odczyt, zapis, usuwanie i preferencje. System harmonogramowania zwykle żąda workorders:rw parts:r purchaseorders:r users:r tools:r, a dodatkowo uprawnień do Time Tracking, jeśli czas pracy ma być przesyłany z powrotem. Od wersji ProShop 5.1.9 „a scope grant request is now required on all connections to the API.” (Żądanie przyznania zakresu uprawnień jest teraz wymagane przy każdym połączeniu z API). (Zakresy uprawnień autoryzacji)
  • Ślad audytowy. Przy wywołaniach z użyciem danych uwierzytelniających klienta widnieje nazwa aplikacji, a nie użytkownika.

Po stronie SkyPlanner uwierzytelnianie w REST API odbywa się za pomocą tokenu API w nagłówku Authorization-Token (SkyPlanner Settings > API). Dokumentacja jest dostępna w Swagger/OpenAPI. Samouczek integracji prowadzi przez pierwsze wywołania.

Zdarzenia i cykliczne odpytywanie

Dokumentacja dla programistów ProShop nie opisuje wychodzących webhooków ani subskrypcji GraphQL. Dane z ProShop pobiera się przez cykliczne odpytywanie. Recently Updated Records API ogranicza związane z tym obciążenie: wystarczy pobrać informacje o wszystkich rekordach utworzonych, zmodyfikowanych lub usuniętych od ostatniego uruchomienia, z filtrem obejmującym typy rekordów potrzebne do harmonogramowania. Następnie pobierz zmienione zlecenia produkcyjne według numeru przez GraphQL. Jak wskazuje ProShop, jest to szybsze niż zapytania według lastModifiedTime.

Zwykle wybiera się cykl pięciominutowy dla zleceń produkcyjnych i ewidencji czasu pracy oraz godzinny dla części i zamówień zakupu. SkyPlanner wysyła webhooki przy zmianie stanu lub harmonogramu, więc zapis zwrotny jest sterowany zdarzeniami.

Mapowanie danych

Obiekt ProShop (API)Obiekt SkyPlannerKierunekCzęstotliwość
Parts, COTS (zakres parts w GraphQL)Produkty i materiałyProShop → SkyPlannerWczytanie początkowe, następnie przy każdej zmianie
Rekordy Work Order BOMStruktura produktu, materiały dla danego zleceniaProShop → SkyPlannerWraz z każdym zleceniem produkcyjnym
Operacje zlecenia produkcyjnego: komórka robocza, szacowany czas przezbrojenia i czas cyklu (czasy docelowe)Etapy procesu z czasem trwania, przygotowania i zakończenia pracProShop → SkyPlannerWraz z każdym zleceniem produkcyjnym
Work Cells (maszyna, stół roboczy, wyposażenie)Stanowiska robocze, grupy stanowisk roboczych, wskaźniki wydajnościProShop → SkyPlannerPoczątkowe wczytanie, później rzadko
Work Cells przypisane do osób, UsersPersonel i przypisania operatorówProShop → SkyPlannerPoczątkowe wczytanie, następnie po zmianie
Kalendarze komórek roboczych (dostępne godziny, zmiany)Zmiany i dni wolne od pracyProShop → SkyPlannerCodziennie lub zarządzanie zmianami w SkyPlanner
Work Orders (ilość, termin realizacji, status)Zlecenia i operacje z terminami realizacji i priorytetemProShop → SkyPlannerOdpytywanie co kilka minut
Tools, Toolpots, Fixtures, RTAsNarzędzia jako współdzielone zasoby o ograniczonej dostępnościProShop → SkyPlannerPoczątkowe wczytanie, następnie po zmianie
Purchase Orders z terminami dostawyZamówienia zakupu, oczekiwane materiały według daty dostawyProShop → SkyPlannerOdpytywanie co godzinę lub przy uruchomieniu harmonogramowania
Planowane rozpoczęcie i zakończenie zlecenia produkcyjnego (mutacja GraphQL, workorders:w)Planowane rozpoczęcie i zakończenie każdej operacjiSkyPlanner → ProShopPo zmianie harmonogramu, przez webhook SkyPlanner
Time Tracking: czas przezbrojenia i wykonania oraz liczba wykonanych części dla każdej operacji zlecenia produkcyjnegoWpisy czasu pracy i potwierdzenia operatorówSkyPlanner → ProShopPrzy każdym potwierdzeniu lub raz na zmianę, jeśli wybrano tę opcję
Brak w ProShopMacierz czasów przezbrojeń, operacje wymagające wielu operatorów, alternatywne maszyny i personelZarządzanie w SkyPlannerKonfiguracja podczas wdrożenia

Schematy integracji

1. Początkowe wczytanie danych podstawowych. Pobieraj kolejne strony Parts, Work Cells, Users, Tools i Fixtures za pomocą zapytań GraphQL w liczbie mnogiej. Przy pierwszym wczytaniu ustaw wysoką wartość pageSize i pobieraj dane w pętli na podstawie totalRecords. Ustal mapowanie komórek roboczych: komórki odpowiadające maszynom stają się stanowiskami roboczymi, a komórki odpowiadające osobom — personelem. Dzięki temu ta sama operacja może jednocześnie rezerwować maszynę i jej operatora.

2. Synchronizacja zleceń produkcyjnych. Odczytuj aktywne zlecenia produkcyjne wraz z operacjami, czasami docelowymi i rekordami BOM, a także otwarte zamówienia zakupu. SkyPlanner uznaje zamówiony materiał za dostępny w dniu dostawy określonym w zamówieniu zakupu i aktualizuje stan magazynowy po oznaczeniu zamówienia jako Delivered. Wykrywanie zmian odbywa się przez Recently Updated Records z filterby=workorders,purchaseorders,deletions.

3. Zapis zwrotny harmonogramu. Gdy silnik umieszcza operację w harmonogramie lub ją przesuwa, webhook SkyPlanner wyzwala mutację GraphQL, która ustawia planowane daty zlecenia produkcyjnego. Odbywa się to z użyciem Authorization z uprawnieniem workorders:w. Prognoza terminowości w ProShop oraz daty zapotrzebowania zakupowego opierają się wówczas na datach ze SkyPlanner.

4. Potwierdzenia z hali produkcyjnej. Operatorzy rejestrują pracę za pomocą SkyPlanner Mobile Confirmations lub Production Timer, a wpisy czasu pracy zapewniają aktualność harmonogramu. To Ty decydujesz, czy rzeczywisty czas pracy ma być przesyłany z powrotem do ProShop Time Tracking dla danej operacji zlecenia produkcyjnego. Jeśli nie, operatorzy rejestrują czas w ProShop tak jak dotychczas, a SkyPlanner odczytuje go przez timetracking.

5. Odpowiedzialność za dane i zasady rozstrzygania konfliktów. Spisz je przed uruchomieniem produkcyjnym:

DaneSystem odpowiedzialny
Części, operacje, czasy docelowe, ilości, status zlecenia produkcyjnegoProShop
Kolejność operacji, czasy rozpoczęcia i zakończenia, przypisanie maszyny i operatoraSkyPlanner
Macierz czasów przezbrojenia, wymagania dotyczące narzędzi i operatorów, alternatywne zasoby produkcyjneSkyPlanner
Zmiany robocze i dni wolneJeden system, wybrany podczas określania zakresu
Time Tracking, stany magazynowe, zakupy, kalkulacja kosztów zleceńProShop — dane wprowadzane bezpośrednio lub przesyłane z wpisów czasu pracy w SkyPlanner

Wybierz jeden system odpowiedzialny za zapis dat zleceń produkcyjnych. Gdy SkyPlanner zacznie harmonogramować pracę danej komórki roboczej, planiści przestają zmieniać kolejność na jej liście w ProShop. Dzięki temu oba plany nie będą ze sobą kolidować.

Typowe etapy projektu

Wdrożenie zwykle kończy się w ciągu kilku tygodni od jego rozpoczęcia. Wcześniej zweryfikuj harmonogram w ramach 30-dniowego bezpłatnego okresu próbnego, korzystając z komórek roboczych, operacji i otwartych zleceń produkcyjnych wyeksportowanych z ProShop do plików CSV lub Excel.

  1. Mapowanie. Ustal tabelę mapowania, odpowiedzialność za dane, częstotliwość synchronizacji oraz to, czy czas pracy będzie przesyłany z powrotem.
  2. Dostęp do ProShop. Administrator tworzy Authorization z uzgodnioną wartością Maximum Scope i prosi zespół ProShop o włączenie Recently Updated Records.
  3. Początkowe wczytanie. Parts, Work Cells, Users, Tools, Fixtures i kalendarze komórek roboczych.
  4. Synchronizacja zleceń produkcyjnych i zamówień zakupu. Odpytywanie o zmiany ze stronicowaniem i ponawianiem żądań.
  5. Konfiguracja ograniczeń w SkyPlanner. Macierz czasów przezbrojeń, narzędzia, liczba operatorów dla każdej operacji oraz alternatywne maszyny lub personel.
  6. Zapis zwrotny harmonogramu. Mutacje wyzwalane przez webhooki SkyPlanner, a także Time Tracking, jeśli wybrano tę opcję.
  7. Testy równoległe. Uruchom SkyPlanner równolegle z obecnym harmonogramem w ProShop, porównaj terminy i skoryguj czasy normatywne.
  8. Uruchomienie produkcyjne. Włącz zapis zwrotny, gdy dane będą zgodne.

Co uwzględnić przy integracji z ProShop

  • Czasy normatywne decydują o wszystkim. ProShop oblicza czas trwania na podstawie szacowanych czasów przezbrojenia i cyklu. Pobieraj aktualne czasy normatywne, a nie pierwotne szacunki. Oddziel czas przezbrojenia od czasu wykonania, aby macierz czasów przezbrojeń mogła zastąpić pojedynczą wartość czasu przezbrojenia.
  • Osoby jako gniazda robocze. Gniazdem roboczym może być osoba. Takie gniazda mapuj na personel w SkyPlanner, a nie na maszyny — w przeciwnym razie każdy operator stanie się maszyną pracującą równolegle.
  • Time Tracking wymaga użytkownika. Od kwietnia 2026 mutacja Time Tracking Login „requires user context” (wymaga kontekstu użytkownika) i nie jest autoryzowana w trybie Client Credentials. Przesyłaj czas pracy operatorów przez OAuth 2.0 Authorization Flow albo nadal rejestruj go w ProShop i stamtąd odczytuj.
  • Włącz indeks zmian. Recently Updated Records działa dopiero po włączeniu przez zespół ProShop. Poproś o to w pierwszym tygodniu.
  • Rekordy objęte ITAR. ProShop filtruje rekordy objęte ograniczeniami ITAR osobno dla każdego połączenia. Opcja w Developer System Config określa, czy są zwracane jako wartości null, czy pomijane. Ustal, które zlecenia produkcyjne będą widoczne dla integracji, i obsługuj wartości null przy każdym odczycie.
  • Operacje u podwykonawców. Operacje wykonywane u dostawców zajmują czas, ale nie obciążają Twoich zdolności produkcyjnych. Modeluj je jako etapy uwzględniające wyłącznie czas.

Kto konfiguruje i wspiera integrację z ProShop

  1. Zespół SkyPlanner konfiguruje integrację podczas wdrożenia i zapewnia wsparcie po uruchomieniu produkcyjnym. Obejmuje ono uzgodnione zapytania GraphQL, mutacje i cykliczne odpytywanie o zmiany. Każdy zakład korzysta z ProShop inaczej — tę wiedzę wykorzystujemy przy integracji.
  2. W pracach uczestniczy Twój administrator lub konsultant ProShop. Tworzy Authorization, ustawia zakresy uprawnień, wnioskuje o włączenie indeksu zmian i zna konfigurację gniazd roboczych w Twoim zakładzie.
  3. Twoi programiści mogą rozwijać integrację, korzystając z REST API SkyPlanner i tokena API. Do rozpoczęcia wystarczy token API, a zespół SkyPlanner pomaga w razie potrzeby. Szczegóły znajdziesz w dokumentacji integracji SkyPlanner.

Ceny SkyPlanner zaczynają się od 199 € miesięcznie za 5 stanowisk roboczych, przy rozliczeniu miesięcznym. Integrację wyceniamy z góry wraz z planem, stosownie do Twojego procesu i potrzeb. Zobacz cennik, harmonogramowanie produkcji z uwzględnieniem rzeczywistych zdolności produkcyjnych dla ProShop, stronę ProShop ERP, funkcje SkyPlanner i przegląd integracji z ERP.

Opinie firm produkcyjnych o SkyPlanner

Kalle Kalliomäki, specjalista ds. łańcucha dostaw w UTU, w hali produkcji rozdzielnic w Ulvila

2 hoszczędności co tydzień

„Dzięki SkyPlanner przeszliśmy od planowania produkcji w arkuszach Excela do jej optymalizacji 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 operacji trafia na linię w ciągu kilku sekund.

Przeczytaj opinię UTU

Operatorzy w kombinezonach do pomieszczeń czystych przy linii napełniania butelek w zakładzie farmaceutycznym Laboratory & Allied w Nairobi

+90%wydajności produkcji

„Wydajność produkcji wzrosła o 90%.”

Abdul Rucyinga, kierownik 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.

Przeczytaj opinię Laboratory & Allied

Spawacz KJH-Comp szlifujący spawaną konstrukcję stalową w zakładzie w Alahärmä

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 · Produkcja elementów z 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.

Przeczytaj opinię KJH-Comp

Hannu Ryynänen, dyrektor generalny Mamec, w hali produkcyjnej firmy w Lohja

1 000+zleceń produkcyjnych harmonogramowanych automatycznie

„Kontrolujemy produkcję w inny sposób, a nasza wiedza o zdolnościach produkcyjnych jest na zupełnie 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.

Przeczytaj opinię Mamec

Najczęściej zadawane pytania

Czy ProShop ma API?

Tak. ProShop udostępnia GraphQL API pod adresem <proshop root>/api/graphql, z uwierzytelnianiem OAuth 2.0 lub Basic Authentication i zakresami uprawnień do modułów. Endpoint REST Recently Updated Records zwraca rekordy utworzone, zmodyfikowane lub usunięte w określonym przedziale czasu.

Czy ProShop obsługuje webhooki?

Dokumentacja ProShop dla programistów nie opisuje webhooków wychodzących. Integracja cyklicznie odpytuje API Recently Updated Records zgodnie z harmonogramem ustalonym dla danego zakładu. Webhooki SkyPlanner wysyłają zmiany harmonogramu na bieżąco.

Jak planowane terminy są zapisywane z powrotem w ProShop?

Za pomocą mutacji GraphQL na zleceniu produkcyjnym, z użyciem Authorization z uprawnieniami do zapisu w workorders. SkyPlanner wywołuje ją przez webhook przy każdej zmianie harmonogramu.

Kto tworzy dane uwierzytelniające do API ProShop?

Administrator systemu ProShop, w System Config > Manage Authorizations. Direct Login włącza przepływ Client Credentials, a Maximum Scope ogranicza zakres danych, które integracja może odczytywać i zapisywać.

Czy konsultant ProShop powinien proponować harmonogramowanie w ProShop, czy SkyPlanner?

SkyPlanner, gdy u klienta kolejność operacji decyduje o terminie dostawy. Harmonogram ProShop pokazuje priorytety i prognozy terminowości dla poszczególnych gniazd roboczych, a planiści dostosowują priorytety. SkyPlanner łączy się przez GraphQL API, automatycznie optymalizuje cały plan oraz planuje przezbrojenia, operatorów, narzędzia i materiały. Nie ogranicza liczby użytkowników, a ceny zaczynają 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 umożliwia import danych z ProShop w plikach CSV lub Excel. Nie wymaga karty płatniczej. Rozpocznij okres próbny lub porozmawiaj z działem sprzedaży, aby określić zakres integracji.