Integrationer / ERP / ProShop ERP
Guide til ProShop ERP integration med SkyPlanner APS til produktionsplanlægning
Denne integrationsguide viser administratorer, konsulenter og IT-teams, hvordan de forbinder ProShop ERP med SkyPlanner APS. SkyPlanner integreres med ProShop i begge retninger via ProShops egen API:
- Work Orders med tilhørende operationer, Parts, Work Order BOM-poster, Work Cells, Users, Tools, Fixtures og Purchase Orders overføres til SkyPlanner.
- Planlagte start- og slutdatoer skrives tilbage til produktionsordrerne.
- Operatørernes tidsregistreringer kan skrives tilbage til ProShop Time Tracking, hvis I ønsker det.
- SkyPlanner-webhooks sender ændringer i planen, så snart de sker.
SkyPlanner-teamet tilpasser integrationen til jeres ProShop-opsætning under onboarding og yder support efter idriftsættelsen. Denne guide er til partnere og udviklere, der vil deltage eller selv bygge videre på SkyPlanners dokumenterede REST API (API-reference).
ProShops integrationsgrænseflader
ProShop tilbyder to integrationsveje til et eksternt planlægningssystem. Begge er beskrevet i ProShop API Developer Documents:
- ProShop GraphQL API. “ProShop provides a GraphQL API, available via HTTP(S).” (ProShop stiller en GraphQL API til rådighed via HTTP(S).) Der er ét endpoint: Alle kald er HTTP POST til
<proshop root>/api/graphqlmedquery,variablesogoperationNamei en JSON-body. Hvert modul har en forespørgsel i ental til én post og en forespørgsel i flertal til lister. Lister sideinddeles medpageSize(standard 20) ogpageStart, returnererrecordsogtotalRecordsog accepterer argumenternefilterogquery, som svarer til modulets Advanced Search. Skemaet understøtter introspektion. (Introduktion til ProShop API) - Recently Updated Records API. “A simple REST interface allows external integrations to request information between arbitrary points in time.” (En enkel REST-grænseflade lader eksterne integrationer hente oplysninger mellem vilkårlige tidspunkter.) Kald
<proshop root>/recentlyupdatedrecordsmedstart(ISO 8601) og eventueltendogfilterby, for eksempelworkorders,workcells,purchaseorders,timetracking,deletions. ProShop-teamet skal først aktivere indekset. (Recently Updated Records API)
Skrivning sker via GraphQL-mutationer. Time Tracking Login er det dokumenterede eksempel, og skriveadgang tildeles pr. modul via scopes.
Autentificering og scopes
- Adgangstoken ved hvert kald. Send det som
Authorization: Bearer <token>eller som query-parameterentoken. - OAuth 2.0 Client Credentials (ProShop 5.2.3 og nyere). En ProShop-systemadministrator åbner System Config > Manage Authorizations, opretter en Authorization med Name og Maximum Scope og markerer Direct Login og Active. Unique ID og Shared Secret bruges som
client_idogclient_secret. Appen sendergrant_type=client_credentialsmed POST til<proshop root>/home/member/oauth/accesstokenog modtager et Bearer-token medexpires_in. Der er intet refresh-token, så anmod om et nyt token, når det udløber. (Forløb med Client Credentials) - OAuth 2.0 Authorization Flow til kald, der kræver en brugerkontekst, såsom Time Tracking Login.
- Scopes. Formatet er
SCOPE_NAME:[{r|w|d|p}]for læsning, skrivning, sletning og præferencer. Et planlægningssystem anmoder typisk omworkorders:rw parts:r purchaseorders:r users:r tools:rsamt Time Tracking, hvis tidsregistreringer skrives tilbage. Fra ProShop 5.1.9 gælder: “a scope grant request is now required on all connections to the API.” (Alle forbindelser til API’et kræver nu en anmodning om tildeling af scopes.) (Scopes til autorisation) - Revisionsspor. Ved kald med klientlegitimationsoplysninger vises applikationens navn, ikke en bruger.
På SkyPlanner-siden sker autentificering til REST API med et API-token i headeren Authorization-Token (SkyPlanner Settings > API). API’et er dokumenteret i Swagger/OpenAPI. Integrationsvejledningen gennemgår de første kald.
Hændelser og polling
ProShops udviklerdokumentation beskriver hverken udgående webhooks eller GraphQL-abonnementer. Data fra ProShop hentes derfor med polling, og Recently Updated Records API holder ressourceforbruget nede: Hent alt, der er oprettet, ændret eller slettet siden sidste kørsel, filtreret til de posttyper, planen har brug for. Hent derefter de ændrede produktionsordrer via deres nummer med GraphQL. Ifølge ProShop er det hurtigere end at søge på lastModifiedTime.
Et typisk valg er at hente produktionsordrer og tidsregistreringer hvert femte minut og emner og indkøbsordrer hver time. SkyPlanner sender webhooks, når tilstanden eller planen ændres, så tilbageskrivningen er hændelsesstyret.
Datamapping
| ProShop-objekt (API) | Objekt i SkyPlanner | Retning | Hyppighed |
|---|---|---|---|
Parts, COTS (GraphQL-scope parts) | Produkter og materialer | ProShop → SkyPlanner | Første indlæsning, derefter ved ændringer |
| Work Order BOM-poster | Produktstruktur, materialer pr. ordre | ProShop → SkyPlanner | Med hver produktionsordre |
| Operationer på produktionsordren: arbejdscelle, estimeret opstillings- og cyklustid (normtider) | Procestrin med varighed samt opstillings- og nedtagningstider | ProShop → SkyPlanner | Med hver produktionsordre |
| Work Cells (maskine, arbejdsbord, udstyr) | Arbejdsstationer, grupper af arbejdsstationer, effektivitetsgrader | ProShop → SkyPlanner | Ved første indlæsning, derefter sjældent |
| Work Cells tildelt personer, Users | Personale og operatørtildelinger | ProShop → SkyPlanner | Ved første indlæsning, derefter ved ændringer |
| Arbejdscellernes kalendere (tilgængelige timer, skift) | Skift og arbejdsfri dage | ProShop → SkyPlanner | Dagligt, eller vedligehold skiftene i SkyPlanner |
| Work Orders (antal, leveringsdato, status) | Ordrer og opgaver med leveringsdatoer og prioritet | ProShop → SkyPlanner | Polling med få minutters mellemrum |
| Tools, Toolpots, Fixtures, RTAs | Værktøjer som fælles ressourcer med begrænset kapacitet | ProShop → SkyPlanner | Ved første indlæsning, derefter ved ændringer |
| Purchase Orders med leveringsdatoer | Indkøbsordrer, indgående materialer efter leveringsdato | ProShop → SkyPlanner | Polling hver time eller ved planlægningskørsel |
Produktionsordrens planlagte start og slut (GraphQL-mutation, workorders:w) | Planlagt start og slut pr. opgave | SkyPlanner → ProShop | Ved planændringer via en SkyPlanner-webhook |
| Time Tracking: opstillings- og køretid samt færdige emner pr. operation på produktionsordren | Tidsregistreringer og operatørtilbagemeldinger | SkyPlanner → ProShop | Pr. tilbagemelding eller pr. skift, hvis det tilvælges |
| Findes ikke i ProShop | Omstillingstidsmatrix, opgaver med flere operatører, alternative maskiner og medarbejdere | Vedligeholdes i SkyPlanner | Opsættes under onboarding |
Integrationsmønstre
1. Første indlæsning af stamdata. Hent Parts, Work Cells, Users, Tools og Fixtures side for side med GraphQL-forespørgsler i flertal. Sæt pageSize højt ved første indlæsning, og gentag hentningen ud fra totalRecords. Fastlæg, hvordan arbejdscellerne skal mappes: Arbejdsceller, der repræsenterer maskiner, bliver til arbejdsstationer, og arbejdsceller, der repræsenterer personer, bliver til personale, så samme operation kan reservere en maskine og dens operatør samlet.
2. Synkronisering af produktionsordrer. Hent aktive produktionsordrer med tilhørende operationer, normtider og BOM-poster samt åbne indkøbsordrer. SkyPlanner regner bestilte materialer som tilgængelige på indkøbsordrens leveringsdato og opdaterer lagerbeholdningen, når indkøbsordren markeres som Delivered. Ændringer registreres via Recently Updated Records med filterby=workorders,purchaseorders,deletions.
3. Tilbageskrivning af planen. Når planlægningsmotoren placerer eller flytter en opgave, udløser en SkyPlanner-webhook en GraphQL-mutation, som sætter produktionsordrens planlagte datoer via en Authorization med workorders:w. ProShops prognose for rettidig levering og behovsdatoerne for indkøb baseres derefter på SkyPlanners datoer.
4. Tilbagemeldinger fra produktionen. Operatørerne registrerer arbejdet med SkyPlanner Mobile Confirmations eller Production Timer, og tidsregistreringerne holder planen ajour. I vælger, om den faktiske tid skal skrives tilbage til ProShop Time Tracking på produktionsordrens operation. Hvis ikke, registrerer operatørerne tiden i ProShop som hidtil, og SkyPlanner henter den via timetracking.
5. Dataejerskab og konfliktregler. Skriv dem ned inden idriftsættelsen:
| Data | Ejer |
|---|---|
| Emner, operationer, normtider, antal, produktionsordrestatus | ProShop |
| Operationernes rækkefølge, start- og sluttider, tildeling af maskiner og operatører | SkyPlanner |
| Omstillingstidsmatrix, krav til værktøjer og operatører, alternative ressourcer | SkyPlanner |
| Skift og arbejdsfri dage | Ét system, valgt under afklaringen |
| Time Tracking, lager, indkøb, ordrekalkulation | ProShop, med direkte registrering eller overførsel fra SkyPlanners tidsregistreringer |
Vælg ét system til at skrive produktionsordrernes datoer. Når SkyPlanner overtager planlægningen af en arbejdscelle, holder planlæggerne op med at ændre rækkefølgen på cellens liste i ProShop. Så konkurrerer de to planer aldrig.
Typiske trin i projektet
Implementeringen er normalt færdig inden for uger efter starten på onboarding. Inden da skal I validere planen i den gratis prøveperiode på 30 dage med arbejdsceller, operationer og åbne produktionsordrer eksporteret fra ProShop som CSV eller Excel.
- Mapping. Fastlæg mappingtabellen, regler for dataejerskab, synkroniseringsfrekvenser og om tidsregistreringer skal skrives tilbage.
- Adgang til ProShop. Administratoren opretter en Authorization med det aftalte Maximum Scope og beder ProShop-teamet om at aktivere Recently Updated Records.
- Første indlæsning. Parts, Work Cells, Users, Tools, Fixtures og arbejdscellernes kalendere.
- Synkronisering af produktions- og indkøbsordrer. Polling efter ændringer med sideinddeling og gentagne forsøg ved fejl.
- Opsætning af begrænsninger i SkyPlanner. Omstillingstidsmatrix, værktøjer, antal operatører pr. operation og alternative maskiner eller medarbejdere.
- Tilbageskrivning af planen. Mutationer udløst af webhooks fra SkyPlanner samt Time Tracking, hvis det er valgt.
- Parallel test. Kør SkyPlanner sideløbende med den nuværende plan i ProShop, sammenlign datoerne, og ret normtiderne.
- Idriftsættelse. Aktivér tilbageskrivning, når data stemmer overens.
Det skal du tage højde for i en ProShop-integration
- Normtiderne er afgørende. ProShop beregner varigheden ud fra estimerede omstillings- og cyklustider. Hent de aktuelle normtider, ikke det oprindelige estimat, og hold omstillingstid adskilt fra køretid, så omstillingsmatricen kan erstatte den faste omstillingstid.
- Personer som arbejdsceller. En arbejdscelle kan være en person. Knyt disse arbejdsceller til personale i SkyPlanner, ikke til maskiner. Ellers behandles hver operatør som en maskine, der kan køre parallelt med de øvrige.
- Time Tracking kræver en bruger. Siden april 2026 har mutationen Time Tracking Login haft kravet “requires user context” (kræver brugerkontekst) og er ikke tilladt med Client Credentials. Send operatørernes tidsregistreringer via OAuth 2.0 Authorization Flow, eller behold tidsregistreringen i ProShop, og læs den derfra.
- Aktivér ændringsindekset. Recently Updated Records virker først, når ProShop-teamet har aktiveret det. Bed om det i den første uge.
- ITAR-poster. ProShop filtrerer ITAR-begrænsede poster for hver forbindelse, og en indstilling i Developer System Config afgør, om de returneres som null-værdier eller udelades. Aftal, hvilke produktionsordrer integrationen har adgang til, og håndtér null-værdier ved hver læsning.
- Ekstern bearbejdning. Operationer hos leverandører tager tid, men belaster ikke din kapacitet. Modellér dem som trin, der kun optager tid.
Hvem konfigurerer og supporterer ProShop-integrationen?
- SkyPlanner-teamet konfigurerer integrationen under opstarten og yder support efter idriftsættelsen. Det omfatter de aftalte GraphQL-forespørgsler, mutationer og polling efter ændringer. Hver virksomhed bruger ProShop på sin egen måde, og den viden indgår i opsætningen.
- Din ProShop-administrator eller -konsulent deltager. De opretter Authorization, angiver scopes, anmoder om ændringsindekset og kender opsætningen af dine arbejdsceller.
- Dine egne udviklere kan bygge videre på integrationen via SkyPlanners REST API med et API-token. Et API-token er nok til at komme i gang, og SkyPlanner-teamet hjælper efter behov. Du finder dokumentationen i SkyPlanners integrationsdokumentation.
SkyPlanner fås fra 199 € pr. måned med 5 arbejdsstationer inkluderet og månedlig fakturering. Du får på forhånd et tilbud på integrationen sammen med dit abonnement, tilpasset dine processer og behov. Se priser, produktionsplanlægning med ProShop, der tager højde for maskinernes og medarbejdernes faktiske kapacitet, siden om ProShop ERP, SkyPlanners funktioner og oversigten over ERP-integrationer.
Produktionsvirksomheders erfaringer med SkyPlanner
2 hsparet hver uge
“SkyPlanner har flyttet vores produktionsplanlægning fra Excel-regneark til optimering af produktionen i realtid.”
Kalle Kalliomäki, forsyningskædespecialist
UTU · Eltavler og koblingsanlæg
Produktionsplanlægningen sparer 2 timers arbejdstid hver uge, og en ny opgavekø når ud til produktionslinjen på få sekunder.
+90%produktionseffektivitet
“Effektiviteten i produktionen er steget med 90%.”
Abdul Rucyinga, IT-chef
Laboratory & Allied · Lægemiddelproduktion
Produktionseffektiviteten er steget med 90%, og det tager under 30 minutter at lave en optimeret plan for tre måneder på tværs af alle arbejdsstationer.
98%leveringssikkerhed, op fra ca. 50%
“SkyPlanner spiller en afgørende rolle i at opretholde vores leveringssikkerhed.”
Hannu Lahtinen, administrerende direktør
KJH-Comp · Pladebearbejdning og kontraktproduktion
Leveringssikkerheden steg fra omkring 50% til helt op til 98%, og planlægningen kræver nu én arbejdsleder i stedet for to.
1.000-visaf produktionsordrer planlagt automatisk
“Vi har fået styr på produktionen på en helt anden måde, og vores forståelse af kapaciteten er på et helt andet niveau.”
Hannu Ryynänen, administrerende direktør
Mamec · Industrielle blandere, pumper og højteknologisk kontraktproduktion
Tusindvis af produktionsordrer planlægges automatisk, og hele organisationen har overblik over produktionen i realtid.
Ofte stillede spørgsmål
Har ProShop et API?
Ja. ProShop har et GraphQL API på <proshop root>/api/graphql med OAuth 2.0 eller Basic Authentication og scopes for de enkelte moduler. Et REST-endpoint, Recently Updated Records, returnerer poster, der er oprettet, ændret eller slettet inden for et tidsinterval.
Understøtter ProShop webhooks?
ProShops udviklerdokumentation beskriver ingen udgående webhooks. Integrationen forespørger Recently Updated Records API med et interval, der fastlægges for den enkelte virksomhed. SkyPlanners egne webhooks sender ændringer i planen, så snart de sker.
Hvordan skrives planlagte datoer tilbage til ProShop?
Via en GraphQL-mutation på produktionsordren med en Authorization, der har skrivescope til workorders. SkyPlanner udløser mutationen via en webhook, hver gang planen ændres.
Hvem opretter adgangsoplysningerne til ProShops API?
Det gør en ProShop-systemadministrator under System Config > Manage Authorizations. Direct Login aktiverer Client Credentials-flowet, og Maximum Scope begrænser, hvad integrationen kan læse og skrive.
Bør en ProShop-konsulent anbefale ProShops produktionsplanlægning eller SkyPlanner?
SkyPlanner, når rækkefølgen i kundens produktion er afgørende for leveringen. ProShops plan viser prioritet og prognoser for rettidig levering pr. arbejdscelle, og planlæggerne justerer prioriteterne. SkyPlanner forbindes via GraphQL API, optimerer automatisk hele planen og planlægger omstillinger, operatører, værktøjer og materialer. Det inkluderer et ubegrænset antal brugere og fås fra 199 € pr. måned.
Kan vi teste SkyPlanner, før vi bygger integrationen?
Ja. Den gratis prøveperiode på 30 dage understøtter op til 20 arbejdsstationer med import fra ProShop via CSV eller Excel. Det kræver ikke noget kreditkort. Start prøveperioden, eller tal med salg for at få afklaret integrationens omfang.