Ghid de integrare ProShop ERP pentru programarea producției cu SkyPlanner APS
Acest ghid de integrare ProShop le arată administratorilor, consultanților și echipelor IT cum să conecteze ProShop ERP la SkyPlanner APS. SkyPlanner se integrează bidirecțional cu ProShop, folosind API-ul propriu al ProShop:
- În SkyPlanner sunt importate Work Orders cu operațiile aferente, Parts, înregistrările Work Order BOM, Work Cells, Users, Tools, Fixtures și Purchase Orders.
- Datele planificate de început și de finalizare sunt trimise înapoi în comenzile de producție.
- Dacă doriți, timpul lucrat de operatori poate fi trimis înapoi în ProShop Time Tracking.
- Webhook-urile SkyPlanner transmit modificările programului pe măsură ce apar.
În etapa de implementare inițială, echipa SkyPlanner configurează integrarea în funcție de configurația dumneavoastră ProShop și oferă asistență și după punerea în funcțiune. Acest ghid se adresează partenerilor și dezvoltatorilor care doresc să participe sau să dezvolte singuri soluții pe baza REST API documentat al SkyPlanner (documentația API).
Interfețele de integrare ProShop
ProShop oferă unui sistem extern de programare două căi de integrare, descrise în documentația ProShop API pentru dezvoltatori:
- ProShop GraphQL API. “ProShop provides a GraphQL API, available via HTTP(S).” (ProShop oferă un API GraphQL, disponibil prin HTTP(S).) Există un singur endpoint: fiecare apel este o cerere HTTP POST către
<proshop root>/api/graphql, cuquery,variablesșioperationNameîn corpul JSON. Fiecare modul are o interogare la singular pentru o singură înregistrare și una la plural pentru liste. Listele sunt paginate cupageSize(implicit 20) șipageStart, returneazărecordsșitotalRecordsși acceptă argumentelefilterșiquery, care corespund funcției Advanced Search din fiecare modul. Schema permite introspecția. (Introducere în API-ul ProShop) - Recently Updated Records API. “A simple REST interface allows external integrations to request information between arbitrary points in time.” (O interfață REST simplă permite integrărilor externe să solicite informații pentru orice interval de timp.) Apelați
<proshop root>/recentlyupdatedrecordscustart(ISO 8601) și, opțional, cuendșifilterby, de exempluworkorders,workcells,purchaseorders,timetracking,deletions. Echipa ProShop trebuie mai întâi să activeze indexul. (Recently Updated Records API)
Scrierea datelor se face prin mutații GraphQL. Exemplul documentat este Time Tracking Login, iar accesul de scriere se acordă pentru fiecare modul prin permisiuni de tip scope.
Autentificare și permisiuni de tip scope
- Token de acces la fiecare apel. Trimiteți-l ca
Authorization: Bearer <token>sau ca parametru de interogaretoken. - OAuth 2.0 Client Credentials (ProShop 5.2.3 și versiunile ulterioare). Un administrator de sistem ProShop deschide System Config > Manage Authorizations, creează o Authorization cu Name și Maximum Scope și bifează Direct Login și Active. Unique ID și Shared Secret devin
client_idșiclient_secret. Aplicația trimite prin POSTgrant_type=client_credentialscătre<proshop root>/home/member/oauth/accesstokenși primește un token Bearer cuexpires_in. Nu există token de reîmprospătare, așadar solicitați un token nou când cel curent expiră. (Fluxul Client Credentials) - OAuth 2.0 Authorization Flow pentru apelurile care necesită un context de utilizator, cum ar fi Time Tracking Login.
- Permisiuni de tip scope. Formatul este
SCOPE_NAME:[{r|w|d|p}], pentru citire, scriere, ștergere și preferințe. Un sistem de programare solicită de obiceiworkorders:rw parts:r purchaseorders:r users:r tools:r, plus Time Tracking dacă timpul lucrat este trimis înapoi. Începând cu ProShop 5.1.9, “a scope grant request is now required on all connections to the API.” (O cerere de acordare a permisiunilor de tip scope este acum obligatorie pentru toate conexiunile la API.) (Permisiuni de autorizare de tip scope) - Jurnal de audit. Pentru apelurile efectuate cu credențialele clientului apare numele aplicației, nu un utilizator.
În SkyPlanner, autentificarea pentru REST API se face cu un token API în antetul Authorization-Token (SkyPlanner Settings > API), iar documentația este disponibilă în Swagger/OpenAPI. Tutorialul de integrare vă ghidează prin primele apeluri.
Evenimente și interogare periodică
Documentația ProShop pentru dezvoltatori nu descrie webhook-uri de ieșire sau abonamente GraphQL. Datele din ProShop sunt preluate prin interogare periodică, iar Recently Updated Records API reduce costul acestei operații: solicitați tot ce a fost creat, modificat sau șters de la ultima rulare, filtrând după tipurile de înregistrări necesare programării. Apoi preluați prin GraphQL comenzile de producție modificate, după număr. ProShop precizează că această metodă este mai rapidă decât interogarea după lastModifiedTime.
O alegere obișnuită este un ciclu de cinci minute pentru comenzile de producție și pontaj și unul de o oră pentru piese și comenzile de achiziție. SkyPlanner trimite webhook-uri când se modifică starea sau programul de producție, astfel încât scrierea datelor înapoi este declanșată de evenimente.
Corespondența datelor
| Obiect ProShop (API) | Obiect SkyPlanner | Sens | Frecvență |
|---|---|---|---|
Parts, COTS (permisiunea GraphQL parts) | Produse și materiale | ProShop → SkyPlanner | La încărcarea inițială, apoi la fiecare modificare |
| Înregistrări Work Order BOM | Structura produsului, materiale pentru fiecare comandă | ProShop → SkyPlanner | La fiecare comandă de producție |
| Operațiile comenzii de producție: celulă de lucru, timp estimat de pregătire și de ciclu (timpi-țintă) | Etape de proces cu durate, timpi de pregătire și de demontare | ProShop → SkyPlanner | La fiecare comandă de producție |
| Work Cells (utilaj, banc de lucru, echipament) | Centre de lucru, grupuri de centre de lucru, valori de eficiență | ProShop → SkyPlanner | Încărcare inițială, apoi rar |
| Work Cells atribuite persoanelor, Users | Personal și alocări de operatori | ProShop → SkyPlanner | Încărcare inițială, apoi la modificări |
| Programele celulelor de lucru (ore disponibile, schimburi) | Schimburi și zile nelucrătoare | ProShop → SkyPlanner | Zilnic sau schimburi gestionate în SkyPlanner |
| Work Orders (cantitate, termen de livrare, stare) | Comenzi și operații cu termene de livrare și prioritate | ProShop → SkyPlanner | Interogare periodică la câteva minute |
| Tools, Toolpots, Fixtures, RTAs | Scule ca resurse partajate cu disponibilitate limitată | ProShop → SkyPlanner | Încărcare inițială, apoi la modificări |
| Purchase Orders cu termene de livrare | Comenzi de achiziție, materiale de recepționat în funcție de data livrării | ProShop → SkyPlanner | Interogare periodică, la fiecare oră sau la rularea programării |
Începutul și finalul planificate ale comenzii de producție (mutație GraphQL, workorders:w) | Începutul și finalul planificate pentru fiecare operație | SkyPlanner → ProShop | La modificarea programului de producție, prin webhook SkyPlanner |
| Time Tracking: timp de pregătire și de execuție, piese finalizate, pentru fiecare operație a comenzii de producție | Înregistrări de timp și confirmări ale operatorilor | SkyPlanner → ProShop | La fiecare confirmare sau schimb, dacă se optează pentru aceasta |
| Nu există în ProShop | Matricea timpilor de pregătire, operații cu mai mulți operatori, utilaje și personal alternativ | Gestionate în SkyPlanner | Configurate în etapa de implementare inițială |
Modele de integrare
1. Încărcarea inițială a nomenclatoarelor. Parcurgeți înregistrările Parts, Work Cells, Users, Tools și Fixtures pagină cu pagină, folosind interogări GraphQL la plural. Setați o valoare mare pentru pageSize la prima încărcare și continuați iterarea pe baza totalRecords. Stabiliți maparea celulelor de lucru: cele care reprezintă utilaje devin centre de lucru, iar cele care reprezintă persoane devin personal, astfel încât aceeași operație să poată rezerva simultan un utilaj și operatorul său.
2. Sincronizarea comenzilor de producție. Citiți comenzile de producție active cu operațiile, timpii-țintă și înregistrările BOM aferente, precum și comenzile de achiziție deschise. SkyPlanner consideră materialul comandat disponibil la data de livrare din comanda de achiziție și actualizează stocul când aceasta este marcată Delivered. Modificările sunt detectate prin Recently Updated Records cu filterby=workorders,purchaseorders,deletions.
3. Scrierea programului de producție înapoi în ProShop. Când motorul plasează sau mută o operație, un webhook SkyPlanner declanșează o mutație GraphQL care stabilește datele planificate ale comenzii de producție, folosind o Authorization cu workorders:w. Prognoza ProShop privind respectarea termenelor și datele de necesar pentru achiziții se bazează apoi pe datele din SkyPlanner.
4. Confirmări din atelier. Operatorii înregistrează munca folosind SkyPlanner Mobile Confirmations sau Production Timer, iar înregistrările de timp mențin programul de producție la zi. Dumneavoastră alegeți dacă timpul efectiv lucrat este trimis înapoi în ProShop Time Tracking pentru operația aferentă comenzii de producție. Dacă nu, operatorii pontează în ProShop ca înainte, iar SkyPlanner citește datele prin timetracking.
5. Responsabilitatea pentru date și regulile de soluționare a conflictelor. Documentați-le înainte de punerea în producție:
| Date | Sistem responsabil |
|---|---|
| Piese, operații, timpi-țintă, cantități, starea comenzii de producție | ProShop |
| Succesiunea operațiilor, orele de început și de finalizare, alocarea utilajelor și a operatorilor | SkyPlanner |
| Matricea timpilor de pregătire și tranziție, necesarul de scule și operatori, resurse alternative | SkyPlanner |
| Schimburi și zile nelucrătoare | Un singur sistem, ales la definirea domeniului |
| Time Tracking, stocuri, achiziții, calculul costurilor pe comandă | ProShop, cu date introduse direct acolo sau trimise din înregistrările de timp SkyPlanner |
Alegeți un singur sistem care să scrie datele comenzilor de producție. După ce SkyPlanner preia programarea unei celule de lucru, planificatorii nu mai schimbă ordinea listei acelei celule în ProShop. Astfel, cele două programe nu intră niciodată în conflict.
Etapele obișnuite ale proiectului
Implementarea se finalizează de regulă în câteva săptămâni de la începerea configurării inițiale. Înainte de această etapă, validați programul de producție în perioada de probă gratuită de 30 de zile, folosind celule de lucru, operații și comenzi de producție deschise exportate din ProShop în format CSV sau Excel.
- Mapare. Stabiliți tabelul de mapare, regulile privind sistemul responsabil de date, frecvențele de sincronizare și dacă timpul lucrat va fi trimis înapoi.
- Acces la ProShop. Administratorul creează Authorization cu Maximum Scope convenit și solicită echipei ProShop să activeze Recently Updated Records.
- Încărcare inițială. Parts, Work Cells, Users, Tools, Fixtures, programele celulelor de lucru.
- Sincronizarea comenzilor de producție și de achiziție. Interogare periodică pentru detectarea modificărilor, cu paginare și reîncercări.
- Configurarea constrângerilor în SkyPlanner. Matricea timpilor de pregătire, scule, numărul de operatori pentru fiecare operație și utilaje sau personal alternativ.
- Scrierea programului de producție înapoi în ProShop. Mutații declanșate de webhook-urile SkyPlanner, plus Time Tracking dacă se optează pentru acesta.
- Testare în paralel. Rulați SkyPlanner în paralel cu programul actual din ProShop, comparați datele și corectați timpii țintă.
- Punerea în producție. Activați scrierea datelor înapoi în ProShop după ce datele coincid.
Ce trebuie să aveți în vedere la integrarea cu ProShop
- Timpii țintă sunt decisivi. ProShop calculează durata pe baza timpilor estimați de pregătire și de ciclu. Preluați timpii țintă actuali, nu estimarea inițială, și separați timpul de pregătire de timpul de execuție, astfel încât matricea timpilor de pregătire să poată înlocui valoarea unică de pregătire.
- Celule de lucru care reprezintă persoane. O celulă de lucru poate fi o persoană. Asociați aceste celule cu personalul din SkyPlanner, nu cu utilajele; altfel, fiecare operator devine un utilaj care lucrează în paralel.
- Time Tracking necesită un utilizator. Din aprilie 2026, mutația Time Tracking Login „requires user context” (necesită contextul unui utilizator) și nu este autorizată prin Client Credentials. Transmiteți timpii operatorilor prin OAuth 2.0 Authorization Flow sau păstrați pontajul în ProShop și citiți-l de acolo.
- Activați indexul modificărilor. Recently Updated Records funcționează doar după ce echipa ProShop îl activează. Solicitați activarea în prima săptămână.
- Înregistrări supuse restricțiilor ITAR. ProShop filtrează înregistrările supuse restricțiilor ITAR pentru fiecare conexiune, iar o opțiune din Developer System Config stabilește dacă acestea sunt returnate ca valori null sau sunt omise. Stabiliți de comun acord la ce comenzi de producție are acces integrarea și tratați valorile null la fiecare citire.
- Prelucrări externalizate. Operațiile efectuate de furnizori înseamnă timp scurs, nu consum din capacitatea proprie. Modelați-le ca etape care au doar durată.
Cine configurează integrarea cu ProShop și asigură asistența
- Echipa SkyPlanner configurează integrarea în etapa de implementare și asigură asistență după punerea în funcțiune, pentru interogările GraphQL, mutațiile și verificările periodice ale modificărilor convenite. Fiecare atelier folosește ProShop în felul său, iar această experiență practică este valorificată aici.
- Administratorul sau consultantul dumneavoastră ProShop participă la proiect. Acesta creează Authorization, stabilește permisiunile, solicită indexul modificărilor și cunoaște configurația celulelor de lucru.
- Dezvoltatorii dumneavoastră pot extinde integrarea folosind REST API din SkyPlanner și un token API. Un token API este suficient pentru a începe, iar echipa SkyPlanner oferă asistență la nevoie. Detaliile tehnice se găsesc în documentația de integrare SkyPlanner.
SkyPlanner pornește de la 199 € pe lună, cu 5 centre de lucru incluse și facturare lunară. Oferta pentru integrare se stabilește de la început, în funcție de procesele și nevoile dumneavoastră, împreună cu abonamentul ales. Consultați prețurile, programarea cu capacitate finită pentru ProShop, pagina ProShop ERP, funcționalitățile SkyPlanner și pagina integrărilor ERP.
Ce spun producătorii despre SkyPlanner
2 heconomisite în fiecare săptămână
„Cu SkyPlanner, am trecut de la planificarea producției în foi de calcul Excel la optimizarea producției în timp real.”
Kalle Kalliomäki, specialist în lanțul de aprovizionare
UTU · Tablouri electrice și aparataj de comutație
Planificarea producției economisește 2 ore de lucru în fiecare săptămână, iar o nouă listă de operații ajunge la linia de producție în câteva secunde.
+90%eficiență în producție
„Eficiența în producție a crescut cu 90%.”
Abdul Rucyinga, director IT
Laboratory & Allied · Producție farmaceutică
Eficiența în producție a crescut cu 90%, iar realizarea unui plan optimizat pe trei luni pentru toate centrele de lucru durează mai puțin de 30 de minute.
98%respectarea termenelor de livrare, față de aproximativ 50% anterior
„SkyPlanner joacă un rol decisiv în menținerea nivelului de respectare a termenelor noastre de livrare.”
Hannu Lahtinen, director general
KJH-Comp · Prelucrarea tablei și producție la comandă
Rata de respectare a termenelor de livrare a crescut de la aproximativ 50% până la 98%, iar programarea necesită acum un singur șef de echipă în loc de doi.
1.000+comenzi de producție programate automat
„Avem un alt nivel de control asupra producției, iar înțelegerea capacității noastre este la un nivel cu totul diferit.”
Hannu Ryynänen, director general
Mamec · Mixere industriale, pompe și producție la comandă de înaltă tehnologie
Mii de comenzi de producție sunt programate automat, iar întreaga organizație are o imagine în timp real asupra producției.
Întrebări frecvente
ProShop are un API?
Da. ProShop are un GraphQL API la <proshop root>/api/graphql, cu OAuth 2.0 sau Basic Authentication și permisiuni la nivel de modul. Un endpoint REST, Recently Updated Records, returnează înregistrările create, modificate sau șterse într-un interval de timp.
ProShop acceptă webhook-uri?
Documentația ProShop pentru dezvoltatori nu descrie webhook-uri de ieșire. Integrarea interoghează periodic API-ul Recently Updated Records, la intervale stabilite pentru fiecare atelier. Webhook-urile proprii SkyPlanner transmit modificările programului pe măsură ce apar.
Cum sunt transmise înapoi în ProShop datele planificate?
Printr-o mutație GraphQL asupra comenzii de producție, folosind o Authorization cu permisiune de scriere pentru workorders. SkyPlanner o declanșează printr-un webhook de fiecare dată când programul se modifică.
Cine creează datele de autentificare pentru API-ul ProShop?
Un administrator de sistem ProShop, din System Config > Manage Authorizations. Direct Login activează fluxul Client Credentials, iar Maximum Scope limitează ce poate citi și scrie integrarea.
Un consultant ProShop ar trebui să recomande programarea din ProShop sau SkyPlanner?
SkyPlanner, atunci când ordinea operațiilor clientului este decisivă pentru livrare. Programul din ProShop afișează prioritățile și previziunile privind respectarea termenelor pentru fiecare celulă de lucru, iar planificatorii ajustează prioritățile. SkyPlanner se conectează prin GraphQL API, optimizează automat întregul plan, planifică schimbările de fabricație, operatorii, sculele și materialele și permite un număr nelimitat de utilizatori, de la 199 € pe lună.
Putem testa SkyPlanner înainte de a realiza integrarea?
Da. Perioada de testare gratuită de 30 de zile permite utilizarea a până la 20 de centre de lucru, cu importuri CSV sau Excel din ProShop, fără card bancar. Începeți testarea sau discutați cu echipa de vânzări pentru definirea domeniului integrării.