Integrationer / ERP / ProShop ERP
Guide till integration av ProShop ERP för produktionsplanering med SkyPlanner APS
Den här integrationsguiden visar administratörer, konsulter och IT-team hur de ansluter ProShop ERP till SkyPlanner APS. SkyPlanner integreras med ProShop i båda riktningarna via ProShops eget API:
- Work Orders med tillhörande operationer, Parts, Work Order BOM-poster, Work Cells, Users, Tools, Fixtures och Purchase Orders läses in.
- Planerade start- och slutdatum förs tillbaka till tillverkningsorderna.
- Operatörernas tid kan återföras till ProShop Time Tracking om ni väljer det.
- SkyPlanners webhooks skickar planändringar direkt när de sker.
SkyPlanner-teamet anpassar integrationen till er ProShop-konfiguration under införandet och ger support efter driftstart. Den här guiden är till för partner och utvecklare som vill delta eller själva bygga vidare på SkyPlanners dokumenterade REST API (API-referens).
ProShops integrationsgränssnitt
ProShop erbjuder två anslutningsvägar för externa planeringssystem. Båda beskrivs i ProShop API Developer Documents:
- ProShop GraphQL API. ”ProShop provides a GraphQL API, available via HTTP(S).” (ProShop tillhandahåller ett GraphQL API som är tillgängligt via HTTP(S).) Det finns en enda endpoint: varje anrop är en HTTP POST till
<proshop root>/api/graphqlmedquery,variablesochoperationNamei en JSON-kropp. Varje modul har en fråga i singular för en enskild post och en i plural för listor. Listorna sidindelas medpageSize(standardvärde 20) ochpageStart, returnerarrecordsochtotalRecordsoch tar emot argumentenfilterochquery, som motsvarar respektive moduls Advanced Search. Schemat kan granskas med introspektion. (Introduktion till ProShop API) - Recently Updated Records API. ”A simple REST interface allows external integrations to request information between arbitrary points in time.” (Ett enkelt REST-gränssnitt låter externa integrationer begära information mellan valfria tidpunkter.) Anropa
<proshop root>/recentlyupdatedrecordsmedstart(ISO 8601) samt de valfria parametrarnaendochfilterby, till exempelworkorders,workcells,purchaseorders,timetracking,deletions. ProShop-teamet måste först aktivera indexet. (Recently Updated Records API)
Skrivningar görs via mutationer i GraphQL. Time Tracking Login är det dokumenterade exemplet. Skrivbehörighet ges per modul genom scopes.
Autentisering och scopes
- Åtkomsttoken vid varje anrop. Skicka den som
Authorization: Bearer <token>eller som frågeparameterntoken. - OAuth 2.0 Client Credentials (ProShop 5.2.3 och senare). En systemadministratör i ProShop öppnar System Config > Manage Authorizations, skapar en Authorization med Name och Maximum Scope och markerar Direct Login och Active. Unique ID och Shared Secret används som
client_idrespektiveclient_secret. Appen skickargrant_type=client_credentialsmed POST till<proshop root>/home/member/oauth/accesstokenoch får en Bearer-token medexpires_in. Det finns ingen uppdateringstoken, så begär en ny token när den gamla löper ut. (Flöde för klientautentisering) - OAuth 2.0 Authorization Flow används för anrop som kräver en användarkontext, till exempel Time Tracking Login.
- Scopes. Formatet är
SCOPE_NAME:[{r|w|d|p}], för läsning, skrivning, radering och inställningar. Ett planeringssystem begär normaltworkorders:rw parts:r purchaseorders:r users:r tools:r, samt Time Tracking om tid ska återföras. Sedan ProShop 5.1.9 gäller följande: ”a scope grant request is now required on all connections to the API.” (En begäran om scope-behörighet krävs nu för alla anslutningar till API:et.) (Behörighetsomfattning för auktorisering) - Spårbarhet. För anrop som görs med klientautentisering visas applikationens namn, inte en användare.
På SkyPlanner-sidan autentiseras REST API med en API-token i headern Authorization-Token (SkyPlanner Settings > API). API:et är dokumenterat i Swagger/OpenAPI. Integrationshandledningen går igenom de första anropen.
Händelser och pollning
ProShops utvecklardokumentation beskriver inga utgående webhooks eller GraphQL-prenumerationer. ProShop-sidan pollas, och Recently Updated Records API gör det resurssnålt: begär allt som har skapats, ändrats eller raderats sedan den senaste körningen, filtrerat till de posttyper som planeringen behöver. Hämta sedan de ändrade tillverkningsorderna via GraphQL med ordernumret. Enligt ProShop är det snabbare än att söka med lastModifiedTime.
Ett vanligt val är att polla tillverkningsorder och tidrapportering var femte minut samt artiklar och inköpsorder varje timme. SkyPlanner skickar webhooks när status eller planeringen ändras, så återföringen är händelsestyrd.
Datamappning
| Objekt i ProShop (API) | Objekt i SkyPlanner | Riktning | Frekvens |
|---|---|---|---|
Parts, COTS (scope parts i GraphQL) | Produkter och material | ProShop → SkyPlanner | Första inläsningen, därefter vid ändring |
| Work Order BOM-poster | Produktstruktur, material per order | ProShop → SkyPlanner | Med varje tillverkningsorder |
| Tillverkningsorderns operationer: arbetscell, beräknad ställ- och cykeltid (riktider) | Processteg med varaktighet, ställtid och efterställtid | ProShop → SkyPlanner | Med varje tillverkningsorder |
| Work Cells (maskin, arbetsbänk, utrustning) | Produktionsgrupper, grupperingar av produktionsgrupper, effektivitetsgrader | ProShop → SkyPlanner | Vid första inläsningen, därefter sällan |
| Work Cells tilldelade personer, Users | Personal och operatörstilldelningar | ProShop → SkyPlanner | Vid första inläsningen, därefter vid ändringar |
| Arbetscellernas scheman (tillgängliga timmar, skift) | Skift och arbetsfria dagar | ProShop → SkyPlanner | Dagligen, eller egna skift i SkyPlanner |
| Work Orders (antal, leveransdatum, status) | Order och operationer med leveransdatum och prioritet | ProShop → SkyPlanner | Pollning med några minuters mellanrum |
| Tools, Toolpots, Fixtures, RTAs | Verktyg som delade resurser med begränsad tillgänglighet | ProShop → SkyPlanner | Vid första inläsningen, därefter vid ändringar |
| Purchase Orders med leveransdatum | Inköpsorder, inkommande material efter leveransdatum | ProShop → SkyPlanner | Pollning varje timme eller vid planeringskörning |
Tillverkningsorderns planerade start och slut (GraphQL-mutation, workorders:w) | Planerad start och sluttid per operation | SkyPlanner → ProShop | När planeringen ändras, via en webhook från SkyPlanner |
| Time Tracking: ställtid, körtid och antal färdiga artiklar per operation på tillverkningsordern | Tidrapporter och operatörskvitteringar | SkyPlanner → ProShop | Per kvittering eller skift, om funktionen väljs |
| Finns inte i ProShop | Ställtidsmatris, operationer med flera operatörer, alternativa maskiner och personal | Underhålls i SkyPlanner | Konfigureras under införandet |
Integrationsmönster
1. Första inläsning av grunddata. Läs in Parts, Work Cells, Users, Tools och Fixtures sida för sida med GraphQL-frågor i plural. Sätt pageSize högt vid den första inläsningen och använd totalRecords för att styra loopen. Bestäm hur arbetscellerna ska mappas: arbetsceller som representerar maskiner blir produktionsgrupper, medan de som representerar personer blir personal. Då kan samma operation boka både maskinen och dess operatör.
2. Synkronisering av tillverkningsorder. Läs in aktiva tillverkningsorder med operationer, riktider och BOM-poster samt öppna inköpsorder. SkyPlanner räknar beställt material som tillgängligt på inköpsorderns leveransdatum och uppdaterar lagersaldot när inköpsordern markeras som Delivered. Ändringar identifieras via Recently Updated Records med filterby=workorders,purchaseorders,deletions.
3. Återföring av planeringen. När planeringsmotorn placerar eller flyttar en operation utlöser en webhook från SkyPlanner en GraphQL-mutation som anger tillverkningsorderns planerade datum. Det sker med en Authorization som har workorders:w. ProShops prognos för leverans i tid och inköpens behovsdatum baseras då på datumen från SkyPlanner.
4. Kvitteringar från produktionen. Operatörerna registrerar arbetet med SkyPlanner Mobile Confirmations eller Production Timer, och tidrapporterna håller planeringen aktuell. Ni väljer om den faktiska tiden ska återföras till ProShop Time Tracking på tillverkningsorderns operation. Om inte registrerar operatörerna tid i ProShop som tidigare, och SkyPlanner läser in den via timetracking.
5. Regler för dataägarskap och konflikter. Dokumentera dem före driftsättning:
| Data | Ägare |
|---|---|
| Artiklar, operationer, riktider, antal, tillverkningsorderns status | ProShop |
| Operationsföljd, start- och sluttider, tilldelning av maskiner och operatörer | SkyPlanner |
| Ställtidsmatris, krav på verktyg och operatörer, alternativa resurser | SkyPlanner |
| Skift och arbetsfria dagar | Ett system, som väljs under kartläggningen |
| Time Tracking, lager, inköp, orderkalkylering | ProShop, med registrering där eller överföring från SkyPlanners tidrapporter |
Välj ett enda system som får skriva tillverkningsorderns datum. När SkyPlanner börjar planera en arbetscell ska planerarna sluta ändra ordningsföljden i arbetscellens lista i ProShop. Då konkurrerar de två planerna aldrig med varandra.
Vanliga projektsteg
Implementeringen blir normalt klar inom några veckor efter att införandet har startat. Validera först planeringen under den kostnadsfria provperioden på 30 dagar med arbetsceller, operationer och öppna tillverkningsorder som exporterats från ProShop som CSV eller Excel.
- Mappning. Fastställ mappningstabellen, reglerna för dataägarskap, synkroniseringsintervallen och om tid ska återföras.
- Åtkomst till ProShop. Administratören skapar en Authorization med överenskommen Maximum Scope och ber ProShop-teamet att aktivera Recently Updated Records.
- Första inläsning. Parts, Work Cells, Users, Tools, Fixtures och arbetscellernas scheman.
- Synkronisering av tillverkningsorder och inköpsorder. Regelbunden hämtning av ändringar med sidindelning och återförsök.
- Konfigurera begränsningar i SkyPlanner. Ställtidsmatris, verktyg, antal operatörer per operation och alternativa maskiner eller medarbetare.
- Återskrivning av planen. Mutationer som utlöses av webhooks från SkyPlanner, samt Time Tracking om det valts.
- Parallelltestning. Kör SkyPlanner parallellt med den befintliga planen i ProShop, jämför datum och korrigera riktider.
- Driftsättning. Aktivera återskrivningen när uppgifterna stämmer överens.
Att tänka på inför en integration med ProShop
- Riktiderna avgör allt. ProShop beräknar tidsåtgången utifrån uppskattade ställ- och cykeltider. Hämta de aktuella riktiderna, inte den ursprungliga uppskattningen, och skilj ställtid från körtid så att ställtidsmatrisen kan ersätta det enskilda ställtidsvärdet.
- Arbetsceller som är personer. En arbetscell kan vara en person. Mappa dessa till personal i SkyPlanner, inte till maskiner. Annars blir varje operatör en parallell maskin.
- Time Tracking kräver en användare. Sedan april 2026 gäller att mutationen Time Tracking Login ”requires user context” (kräver användarkontext) och inte är tillåten med Client Credentials. Skicka operatörernas tid via OAuth 2.0 Authorization Flow, eller fortsätt med tidsstämpling i ProShop och läs in uppgifterna därifrån.
- Aktivera ändringsindexet. Recently Updated Records fungerar först när ProShop-teamet har aktiverat det. Begär det under första veckan.
- ITAR-poster. ProShop filtrerar ITAR-begränsade poster per anslutning. En inställning i Developer System Config avgör om de returneras som null-värden eller utelämnas. Kom överens om vilka tillverkningsorder integrationen ska kunna se och hantera null-värden vid varje läsning.
- Legobearbetning. Operationer hos leverantörer tar tid men belastar inte er kapacitet. Modellera dem som steg som bara tar tid i anspråk.
Vem konfigurerar integrationen med ProShop och ger support?
- SkyPlanner-teamet konfigurerar integrationen under införandet och ger support efter driftsättningen. Det omfattar överenskomna GraphQL-frågor, mutationer och regelbunden hämtning av ändringar. Varje verkstad använder ProShop på sitt sätt, och här kommer den kunskapen till användning.
- Er ProShop-administratör eller konsult deltar. De skapar en Authorization, anger scopes, begär ändringsindexet och känner till hur era arbetsceller är konfigurerade.
- Era egna utvecklare kan bygga vidare på integrationen via SkyPlanners REST API med en API-token. En API-token räcker för att komma igång, och SkyPlanner-teamet hjälper till vid behov. Dokumentationen finns i SkyPlanners integrationsdokumentation.
SkyPlanner kostar från 199 € per månad med 5 produktionsgrupper inkluderade och faktureras månadsvis. Ni får en offert i förväg för integrationen utifrån era processer och behov, tillsammans med ert abonnemang. Se priser, finplanering för ProShop, sidan om ProShop ERP, SkyPlanners funktioner och översikten över ERP-integrationer.
Tillverkare berättar om SkyPlanner
2 hsparade varje vecka
”SkyPlanner har tagit vår produktionsplanering från Excel-ark till produktionsoptimering i realtid.”
Kalle Kalliomäki, specialist inom försörjningskedjan
UTU · Elcentraler och ställverk
Produktionsplaneringen sparar 2 timmars arbetstid varje vecka, och en ny arbetskö når produktionslinjen på några sekunder.
+90%produktionseffektivitet
”Effektiviteten i produktionen har ökat med 90%.”
Abdul Rucyinga, IT-chef
Laboratory & Allied · Läkemedelstillverkning
Produktionseffektiviteten har ökat med 90%, och det tar under 30 minuter att skapa en optimerad tremånadersplan för alla produktionsgrupper.
98%leveransprecision, upp från cirka 50%
”SkyPlanner spelar en avgörande roll för att vi ska kunna upprätthålla vår leveransprecision.”
Hannu Lahtinen, vd
KJH-Comp · Plåtmekanik och kontraktstillverkning
Leveransprecisionen steg från cirka 50% till hela 98%, och produktionsplaneringen kräver nu en arbetsledare i stället för två.
1 000-talstillverkningsorder planeras automatiskt
”Vi har kontroll över produktionen på ett annat sätt, och vår förståelse för kapaciteten ligger på en helt annan nivå.”
Hannu Ryynänen, vd
Mamec · Industriella blandare, pumpar och högteknologisk kontraktstillverkning
Tusentals tillverkningsorder planeras automatiskt, och hela organisationen får en realtidsbild av produktionen.
Vanliga frågor
Har ProShop ett API?
Ja. ProShop har ett GraphQL API på <proshop root>/api/graphql, med OAuth 2.0 eller Basic Authentication och scopes per modul. En REST-endpoint, Recently Updated Records, returnerar poster som skapats, ändrats eller tagits bort inom ett tidsintervall.
Har ProShop stöd för webhooks?
ProShops utvecklardokumentation beskriver inga utgående webhooks. Integrationen hämtar regelbundet ändringar via API:et Recently Updated Records, med ett intervall som ställs in för varje verkstad. SkyPlanners egna webhooks skickar planändringar så snart de sker.
Hur skrivs planerade datum tillbaka till ProShop?
Via en GraphQL-mutation på tillverkningsordern, med en Authorization som har skrivbehörighet för workorders. SkyPlanner utlöser den via en webhook varje gång planen ändras.
Vem skapar API-inloggningsuppgifterna i ProShop?
En systemadministratör i ProShop, under System Config > Manage Authorizations. Direct Login aktiverar Client Credentials-flödet, och Maximum Scope begränsar vad integrationen får läsa och skriva.
Bör en ProShop-konsult föreslå produktionsplanering i ProShop eller SkyPlanner?
SkyPlanner, när körordningen hos kunden avgör leveransen. ProShops plan visar prioritet och prognoser för leverans i tid per arbetscell, och planerarna justerar prioriteringarna. SkyPlanner ansluter via GraphQL API, optimerar hela planen automatiskt och planerar omställningar, operatörer, verktyg och material. Ett obegränsat antal användare ingår, från 199 € per månad.
Kan vi testa SkyPlanner innan vi bygger integrationen?
Ja. Under den kostnadsfria provperioden på 30 dagar kan ni använda upp till 20 produktionsgrupper med CSV- eller Excel-import från ProShop. Inget kreditkort behövs. Starta provperioden eller kontakta säljteamet för att kartlägga integrationen.