Integrações / ERP / ProShop ERP

Guia de integração do ProShop ERP para programação da produção com SkyPlanner APS

Este guia de integração do ProShop mostra a administradores, consultores e equipas de TI como ligar o ProShop ERP ao SkyPlanner APS. A integração entre SkyPlanner e ProShop é bidirecional e utiliza a API do próprio ProShop:

  • São importados Work Orders com as respetivas operações, Parts, registos de Work Order BOM, Work Cells, Users, Tools, Fixtures e Purchase Orders.
  • As datas de início e fim planeadas são enviadas de volta para as ordens de fabrico.
  • Se assim o decidir, os tempos dos operadores podem ser enviados de volta para o ProShop Time Tracking.
  • Os webhooks do SkyPlanner enviam as alterações à programação assim que ocorrem.
Cronograma de Gantt do SkyPlanner APS com tarefas programadas por centro de trabalho e uma lista de ordens em baixo.

A equipa SkyPlanner configura a integração de acordo com a sua configuração do ProShop durante a implementação inicial e presta suporte após a entrada em produção. Este guia destina-se a parceiros e programadores que queiram participar ou desenvolver as suas próprias soluções com a REST API documentada do SkyPlanner (referência da API).

Interfaces de integração do ProShop

O ProShop disponibiliza duas vias para um sistema externo de programação da produção, descritas na documentação da API do ProShop para programadores:

  1. ProShop GraphQL API. “ProShop provides a GraphQL API, available via HTTP(S).” (O ProShop disponibiliza uma API GraphQL através de HTTP(S).) Existe um único endpoint: cada chamada é um pedido HTTP POST para <proshop root>/api/graphql, com query, variables e operationName num corpo JSON. Cada módulo tem uma consulta no singular para obter um registo e uma consulta no plural para obter listas. As listas são paginadas com pageSize (20 por predefinição) e pageStart, devolvem records e totalRecords e aceitam os argumentos filter e query, que correspondem à funcionalidade Advanced Search de cada módulo. O esquema permite introspeção. (Introdução à API do ProShop)
  2. Recently Updated Records API. “A simple REST interface allows external integrations to request information between arbitrary points in time.” (Uma interface REST simples permite às integrações externas pedir informações entre dois momentos quaisquer.) Faça uma chamada a <proshop root>/recentlyupdatedrecords com start (ISO 8601) e, opcionalmente, end e filterby, por exemplo workorders,workcells,purchaseorders,timetracking,deletions. A equipa ProShop tem de ativar primeiro o índice. (Recently Updated Records API)

A escrita é feita através de mutações GraphQL. Time Tracking Login é o exemplo documentado, e o acesso de escrita é concedido por módulo através de âmbitos.

Autenticação e âmbitos

  • Token de acesso em todas as chamadas. Envie-o como Authorization: Bearer <token> ou como parâmetro de consulta token.
  • OAuth 2.0 Client Credentials (ProShop 5.2.3 e versões posteriores). Um administrador de sistema do ProShop acede a System Config > Manage Authorizations, cria uma Authorization com Name e Maximum Scope e seleciona Direct Login e Active. Unique ID e Shared Secret correspondem a client_id e client_secret. A aplicação envia grant_type=client_credentials por POST para <proshop root>/home/member/oauth/accesstoken e recebe um token Bearer com expires_in. Não existe token de renovação, pelo que deve pedir um novo token quando o atual expirar. (Fluxo de credenciais do cliente)
  • OAuth 2.0 Authorization Flow para chamadas que precisam de um contexto de utilizador, como Time Tracking Login.
  • Âmbitos. O formato é SCOPE_NAME:[{r|w|d|p}], para leitura, escrita, eliminação e preferências. Um sistema de programação da produção pede normalmente workorders:rw parts:r purchaseorders:r users:r tools:r, além de Time Tracking se os tempos forem enviados de volta. Desde o ProShop 5.1.9, “a scope grant request is now required on all connections to the API.” (é obrigatório um pedido de concessão de âmbitos em todas as ligações à API.) (Âmbitos de autorização)
  • Registo de auditoria. As chamadas feitas com credenciais do cliente apresentam o nome da aplicação, não o de um utilizador.

No SkyPlanner, a REST API usa um token de API no cabeçalho Authorization-Token para autenticação (SkyPlanner Settings > API) e está documentada em Swagger/OpenAPI. O tutorial de integração explica passo a passo as primeiras chamadas.

Eventos e consulta periódica

A documentação do ProShop para programadores não descreve webhooks de saída nem subscrições GraphQL. Os dados do ProShop são consultados periodicamente, e a Recently Updated Records API reduz o custo dessas consultas: peça tudo o que foi criado, alterado ou eliminado desde a última execução, filtrando pelos tipos de registo necessários à programação. Depois, obtenha as ordens de fabrico alteradas pelo respetivo número através de GraphQL. Segundo o ProShop, esta abordagem é mais rápida do que consultar por lastModifiedTime.

Uma opção habitual é consultar as ordens de fabrico e os registos de tempos a cada cinco minutos, e as peças e encomendas de compra a cada hora. O SkyPlanner envia webhooks quando o estado ou a programação muda, pelo que o envio de dados de volta ao ProShop é acionado por eventos.

Mapeamento de dados

Objeto ProShop (API)Objeto do SkyPlannerSentidoFrequência
Parts, COTS (âmbito GraphQL parts)Produtos e materiaisProShop → SkyPlannerCarregamento inicial e, depois, a cada alteração
Registos de Work Order BOMEstrutura do produto, materiais por ordemProShop → SkyPlannerCom cada ordem de fabrico
Operações da ordem de fabrico: célula de trabalho, tempos estimados de preparação e de ciclo (tempos previstos)Etapas do processo com durações e tempos de preparação e desmontagemProShop → SkyPlannerCom cada ordem de fabrico
Work Cells (máquina, bancada, equipamento)Centros de trabalho, grupos de centros de trabalho, eficiênciasProShop → SkyPlannerCarga inicial; raramente depois
Work Cells atribuídas a pessoas, UsersPessoal e afetação de operadoresProShop → SkyPlannerCarga inicial e, depois, a cada alteração
Horários das células de trabalho (horas disponíveis, turnos)Turnos e dias não úteisProShop → SkyPlannerDiariamente, ou gestão dos turnos no SkyPlanner
Work Orders (quantidade, data de entrega, estado)Ordens e tarefas com datas de entrega e prioridadeProShop → SkyPlannerConsulta em intervalos de poucos minutos
Tools, Toolpots, Fixtures, RTAsFerramentas como recursos partilhados de disponibilidade limitadaProShop → SkyPlannerCarga inicial e, depois, a cada alteração
Purchase Orders com datas de entregaEncomendas de compra, material a receber por data de entregaProShop → SkyPlannerConsulta periódica, a cada hora ou a cada execução da programação
Início e fim planeados da ordem de fabrico (mutação GraphQL, workorders:w)Início e fim planeados por tarefaSkyPlanner → ProShopA cada alteração da programação, através de um webhook do SkyPlanner
Time Tracking: tempos de preparação e execução e peças concluídas, por operação da ordem de fabricoRegistos de tempos e confirmações dos operadoresSkyPlanner → ProShopPor confirmação ou por turno, se esta opção for escolhida
Não existe no ProShopMatriz de tempos de preparação, tarefas com vários operadores, máquinas e pessoal alternativosGerido no SkyPlannerConfigurado durante a implementação inicial

Modelos de integração

1. Carga inicial de dados mestre. Percorra as páginas de Parts, Work Cells, Users, Tools e Fixtures com consultas GraphQL no plural. Defina um valor elevado de pageSize para a primeira carga e use totalRecords para controlar o ciclo de leitura. Decida como mapear as células de trabalho: as que representam máquinas passam a centros de trabalho e as que representam pessoas passam a pessoal. Assim, a mesma operação pode reservar uma máquina e o respetivo operador em conjunto.

2. Sincronização de ordens de fabrico. Leia as ordens de fabrico ativas com as respetivas operações, tempos previstos e registos de BOM, bem como as encomendas de compra em aberto. O SkyPlanner considera o material encomendado disponível na data de entrega da encomenda de compra e atualiza o stock quando esta é marcada como Delivered. A deteção de alterações é feita através de Recently Updated Records com filterby=workorders,purchaseorders,deletions.

3. Envio da programação de volta ao ProShop. Quando o motor agenda ou desloca uma tarefa, um webhook do SkyPlanner aciona uma mutação GraphQL que define as datas planeadas da ordem de fabrico, ao abrigo de uma Authorization com workorders:w. A previsão de cumprimento de prazos do ProShop e as datas em que os materiais comprados são necessários passam então a basear-se nas datas do SkyPlanner.

4. Confirmações na produção. Os operadores registam o trabalho com SkyPlanner Mobile Confirmations ou Production Timer, e os registos de tempos mantêm a programação atualizada. Pode optar por enviar os tempos reais de volta para o ProShop Time Tracking, associados à operação da ordem de fabrico. Caso contrário, os operadores continuam a registar os tempos no ProShop como antes, e o SkyPlanner lê-os através de timetracking.

5. Responsabilidade pelos dados e regras de conflito. Documente estas regras antes da entrada em produção:

DadosSistema responsável
Peças, operações, tempos previstos, quantidades, estado da ordem de fabricoProShop
Sequência de operações, horas de início e fim, atribuição de máquinas e operadoresSkyPlanner
Matriz de tempos de preparação e transição, necessidades de ferramentas e operadores, recursos alternativosSkyPlanner
Turnos e dias não úteisUm único sistema, escolhido na definição do âmbito
Time Tracking, inventário, compras, apuramento de custos por tarefaProShop, com introdução direta ou envio a partir dos registos de tempos do SkyPlanner

Escolha um único sistema para escrever as datas das ordens de fabrico. Quando o SkyPlanner passa a programar uma célula de trabalho, os responsáveis pelo planeamento deixam de reordenar a lista dessa célula no ProShop, para que os dois planos nunca entrem em conflito.

Etapas típicas do projeto

A implementação fica normalmente concluída em poucas semanas após o início do acompanhamento inicial. Antes disso, valide a programação durante o período de avaliação gratuita de 30 dias, com células de trabalho, operações e ordens de fabrico em aberto exportadas do ProShop em CSV ou Excel.

  1. Mapeamento. Defina a tabela de mapeamento, as regras de responsabilidade pelos dados, as frequências de sincronização e se os tempos serão enviados de volta.
  2. Acesso ao ProShop. O administrador cria a Authorization com o Maximum Scope acordado e pede à equipa ProShop que ative Recently Updated Records.
  3. Carga inicial. Parts, Work Cells, Users, Tools, Fixtures e horários das células de trabalho.
  4. Sincronização de ordens de fabrico e encomendas de compra. Consulta periódica de alterações com paginação e novas tentativas em caso de falha.
  5. Configuração de restrições no SkyPlanner. Matriz de tempos de preparação, ferramentas, número de operadores por operação e máquinas ou pessoal alternativos.
  6. Envio da programação de volta ao ProShop. Mutações acionadas por webhooks do SkyPlanner e, se essa opção for escolhida, Time Tracking.
  7. Testes em paralelo. Execute o SkyPlanner em paralelo com a programação atual do ProShop, compare as datas e corrija os tempos previstos.
  8. Entrada em produção. Ative a escrita no ERP quando os dados coincidirem.

O que prever numa integração com o ProShop

  • Os tempos previstos são decisivos. O ProShop calcula a duração a partir dos tempos estimados de preparação e de ciclo. Obtenha os tempos previstos atuais, não a estimativa original, e separe a preparação da execução para que a matriz de tempos de preparação possa substituir o valor único de preparação.
  • Células de trabalho que representam pessoas. Uma célula de trabalho pode ser uma pessoa. Faça a correspondência com o pessoal no SkyPlanner, não com máquinas. Caso contrário, cada operador passa a ser tratado como uma máquina em paralelo.
  • O Time Tracking precisa de um utilizador. Desde abril de 2026, a mutação Time Tracking Login “requires user context” (requer o contexto de um utilizador) e não é autorizada com Client Credentials. Envie os tempos dos operadores através do OAuth 2.0 Authorization Flow ou mantenha o registo de tempos no ProShop e leia esses dados.
  • Ative o índice de alterações. O Recently Updated Records só funciona depois de a equipa do ProShop o ativar. Peça a ativação na primeira semana.
  • Registos ITAR. O ProShop filtra os registos sujeitos a restrições ITAR por ligação. Uma opção em Developer System Config determina se são devolvidos como valores nulos ou omitidos. Acorde quais as ordens de fabrico a que a integração terá acesso e trate os valores nulos em todas as leituras.
  • Operações subcontratadas. As operações realizadas nos fornecedores representam tempo decorrido, não capacidade interna. Modele-as como etapas apenas com duração.

Quem configura e dá suporte à integração com o ProShop

  1. A equipa do SkyPlanner configura a integração durante a implementação e dá suporte após a entrada em produção, abrangendo as consultas GraphQL, as mutações e a consulta periódica de alterações acordadas. Cada fábrica utiliza o ProShop de forma diferente, e é aqui que esse conhecimento é aplicado.
  2. O seu administrador ou consultor ProShop participa no processo. Cria a Authorization, define os âmbitos de acesso, pede o índice de alterações e conhece a configuração das suas células de trabalho.
  3. Os seus programadores podem alargar esta integração através da REST API do SkyPlanner, com um token de API. Basta um token de API para começar, e a equipa do SkyPlanner presta apoio quando necessário. Consulte a documentação de integração do SkyPlanner.

O SkyPlanner está disponível a partir de 199 € por mês, com 5 centros de trabalho incluídos e faturação mensal. O orçamento da integração é apresentado antecipadamente, em conjunto com o plano, de acordo com o seu processo e as suas necessidades. Consulte os preços, a programação da produção com o ProShop, que respeita a capacidade real das máquinas e do pessoal, a página do ProShop ERP, as funcionalidades do SkyPlanner e a área de integrações ERP.

Testemunhos de fabricantes sobre o SkyPlanner

Kalle Kalliomäki, especialista em cadeia de abastecimento na UTU, na área de produção de quadros elétricos em Ulvila

2 hpoupadas por semana

“Com o SkyPlanner, passámos de planear a produção em folhas de Excel para otimizar a produção em tempo real.”

Kalle Kalliomäki, especialista em cadeia de abastecimento
UTU · Quadros elétricos e aparelhagem de manobra

O planeamento da produção permite poupar 2 horas de trabalho por semana, e uma nova fila de tarefas chega à linha em segundos.

Ler o testemunho da UTU

Operadores com vestuário de sala limpa numa linha de enchimento de frascos da fábrica farmacêutica da Laboratory & Allied, em Nairobi

+90%de eficiência na produção

“A eficiência na produção aumentou 90%.”

Abdul Rucyinga, responsável de TI
Laboratory & Allied · Produção farmacêutica

A eficiência na produção aumentou 90%, e criar um plano otimizado para três meses que abrange todos os centros de trabalho demora menos de 30 minutos.

Ler o testemunho da Laboratory & Allied

Um soldador da KJH-Comp a rebarbar uma estrutura de aço soldada na fábrica de Alahärmä

98%de fiabilidade das entregas, face a cerca de 50% anteriormente

“O SkyPlanner tem um papel decisivo na manutenção da fiabilidade das nossas entregas.”

Hannu Lahtinen, diretor-geral
KJH-Comp · Construção mecânica em chapa e fabrico por contrato

A fiabilidade das entregas passou de cerca de 50% para valores que chegam aos 98%, e a programação exige agora apenas um supervisor em vez de dois.

Ler o testemunho da KJH-Comp

Hannu Ryynänen, CEO da Mamec, no pavilhão de produção da empresa em Lohja

Mais de 1.000 ordens de fabrico programadas automaticamente

“Temos outro controlo sobre a produção, e o nosso conhecimento da capacidade está num patamar completamente diferente.”

Hannu Ryynänen, CEO
Mamec · Misturadores industriais, bombas e fabrico de alta tecnologia por contrato

Milhares de ordens de fabrico são programadas automaticamente, com uma visão da produção em tempo real para toda a organização.

Ler o testemunho da Mamec

Perguntas frequentes

O ProShop tem uma API?

Sim. O ProShop tem uma API GraphQL em <proshop root>/api/graphql, com OAuth 2.0 ou Basic Authentication e âmbitos de acesso por módulo. O endpoint REST Recently Updated Records devolve os registos criados, modificados ou eliminados num intervalo de tempo.

O ProShop suporta webhooks?

A documentação do ProShop para programadores não descreve webhooks de saída. A integração consulta periodicamente a API Recently Updated Records, com uma frequência definida para cada fábrica. Os webhooks do próprio SkyPlanner enviam as alterações à programação à medida que ocorrem.

Como são gravadas as datas planeadas no ProShop?

Através de uma mutação GraphQL na ordem de fabrico, usando uma Authorization com âmbito de escrita em workorders. O SkyPlanner aciona-a através de um webhook sempre que a programação muda.

Quem cria as credenciais da API do ProShop?

Um administrador de sistema do ProShop, em System Config > Manage Authorizations. A opção Direct Login ativa o fluxo Client Credentials, e o Maximum Scope limita o que a integração pode ler e escrever.

Um consultor ProShop deve propor a programação do ProShop ou o SkyPlanner?

O SkyPlanner, quando a sequência de produção do cliente determina o cumprimento das entregas. A programação do ProShop mostra as prioridades e as previsões de cumprimento dos prazos por célula de trabalho, e os responsáveis pela programação ajustam as prioridades. O SkyPlanner liga-se através da API GraphQL, otimiza automaticamente todo o plano e planeia as mudanças de série, os operadores, as ferramentas e os materiais. Inclui utilizadores ilimitados, a partir de 199 € por mês.

Podemos testar o SkyPlanner antes de desenvolver a integração?

Sim. O teste gratuito de 30 dias permite utilizar até 20 centros de trabalho, com importações de ficheiros CSV ou Excel do ProShop, sem necessidade de cartão de crédito. Inicie o teste ou fale com a equipa comercial para definir o âmbito da integração.