Referência

Planeamento da produção

O que produzir e quando: parâmetros de planeamento por artigo, procura, plano de necessidades com sugestões de produzir e de comprar, carga dos centros de trabalho e calendário. Correr um plano não altera stock, ordens nem encomendas: só firmar as sugestões cria ordens de produção e notas de encomenda.

O que produzir e quando: parâmetros de planeamento por artigo, procura, plano de necessidades com sugestões de produzir e de comprar, carga dos centros de trabalho e calendário. Correr um plano não altera stock, ordens nem encomendas: só firmar as sugestões cria ordens de produção e notas de encomenda.

OperaçãoO que faz
GET /api/producao/planeamento/parametrosOs parâmetros de planeamento de cada artigo: política, prazo de entrega, lote mínimo, múltiplo e stock de segurança.
PUT /api/producao/planeamento/parametros/{produtoId}Define os parâmetros de planeamento de um artigo.
DELETE /api/producao/planeamento/parametros/{produtoId}Remove os parâmetros de planeamento de um artigo.
GET /api/producao/planeamento/procuraAs linhas de procura registadas para o planeamento.
POST /api/producao/planeamento/procuraRegista linhas de procura.
POST /api/producao/planeamento/procura/{id}/cancelarCancela uma linha de procura.
GET /api/producao/planeamento/qualidadeA qualidade dos dados do planeamento: o que corrigir antes de correr o plano.
GET /api/producao/planeamento/cargaA carga dos centros de trabalho para as próximas semanas, face à capacidade de cada centro.
GET /api/producao/planeamento/planosOs planos de necessidades já corridos.
GET /api/producao/planeamento/planos/{id}Um plano de necessidades com as sugestões de produzir e de comprar.
POST /api/producao/planeamento/planosCorre o plano de necessidades para um armazém e um horizonte em semanas.
POST /api/producao/planeamento/planos/{id}/firmarFirma sugestões do plano: cada sugestão de produzir cria uma ordem de produção e cada uma de comprar cria uma nota de encomenda.
POST /api/producao/planeamento/planos/{id}/ignorarMarca sugestões do plano como ignoradas.
GET /api/producao/planeamento/calendarioO calendário do planeamento: os dias úteis da semana e os dias de encerramento.
PUT /api/producao/planeamento/calendario/dias-uteisDefine os dias úteis da semana.
POST /api/producao/planeamento/calendario/encerramentosAcrescenta um dia de encerramento ao calendário.
DELETE /api/producao/planeamento/calendario/encerramentos/{id}Remove um dia de encerramento do calendário.
GET/api/producao/planeamento/parametros#

Os parâmetros de planeamento de cada artigo: política, prazo de entrega, lote mínimo, múltiplo e stock de segurança.

  • Permissão Producao.PlaneamentoVer

filtro pesquisa por texto.

A resposta é uma página: itens e proximoCursor. Ver Paginação.

Parâmetros

NomeOndeTipoObrigatório
filtrona pesquisatexto
cursorna pesquisatexto
tamanhona pesquisanúmero inteiro

Pedido

curl
curl 'https://<endereço-da-API>/api/producao/planeamento/parametros' \
  -H 'X-Api-Key: <a-sua-chave>'
PUT/api/producao/planeamento/parametros/{produtoId}#

Define os parâmetros de planeamento de um artigo.

  • Permissão Producao.ParametrosEditar

politica e, conforme ela, prazoDeEntregaDias, loteMinimo, multiplo e stockDeSeguranca.

Devolve 204, sem corpo.

Parâmetros

NomeOndeTipoObrigatório
produtoIdno caminhoidentificador (UUID)sim

Corpo do pedido (JSON · ParametrosDePlaneamentoRequest)

CampoTipoObrigatório
politicatextosim
prazoDeEntregaDiasnúmero inteiro
loteMinimonúmero ou nulo
multiplonúmero ou nulo
stockDeSegurancanúmero

Pedido

curl
curl -X PUT 'https://<endereço-da-API>/api/producao/planeamento/parametros/<produtoId>' \
  -H 'X-Api-Key: <a-sua-chave>' \
  -H 'Content-Type: application/json' \
  -d '{
  "politica": "texto"
}'
DELETE/api/producao/planeamento/parametros/{produtoId}#

Remove os parâmetros de planeamento de um artigo.

  • Permissão Producao.ParametrosEditar

Devolve 204, sem corpo.

Parâmetros

NomeOndeTipoObrigatório
produtoIdno caminhoidentificador (UUID)sim

Pedido

curl
curl -X DELETE 'https://<endereço-da-API>/api/producao/planeamento/parametros/<produtoId>' \
  -H 'X-Api-Key: <a-sua-chave>'
GET/api/producao/planeamento/procura#

As linhas de procura registadas para o planeamento.

  • Permissão Producao.PlaneamentoVer

Filtros: estado e produtoId.

A resposta é uma página: itens e proximoCursor. Ver Paginação.

Parâmetros

NomeOndeTipoObrigatório
estadona pesquisatexto
produtoIdna pesquisaidentificador (UUID)
cursorna pesquisatexto
tamanhona pesquisanúmero inteiro

Pedido

curl
curl 'https://<endereço-da-API>/api/producao/planeamento/procura' \
  -H 'X-Api-Key: <a-sua-chave>'
POST/api/producao/planeamento/procura#

Regista linhas de procura.

  • Permissão Producao.ProcuraEditar
  • Idempotência aceita Idempotency-Key

Devolve o número de linhas registadas.

Corpo do pedido (JSON · CriarProcuraDeProducaoCommand)

CampoTipoObrigatórioSignificado
linhaslista de objectossim
linhas[].produtoIdidentificador (UUID)simO artigo.
linhas[].quantidadenúmerosimA quantidade.
linhas[].dataDeEntregadata (AAAA-MM-DD)sim
linhas[].origemtexto ou nulo
linhas[].referenciatexto ou nulo
linhas[].observacaotexto ou nuloO texto livre.

Pedido

curl
curl -X POST 'https://<endereço-da-API>/api/producao/planeamento/procura' \
  -H 'X-Api-Key: <a-sua-chave>' \
  -H 'Idempotency-Key: <um-GUID-novo>' \
  -H 'Content-Type: application/json' \
  -d '{
  "linhas": [
    {
      "produtoId": "00000000-0000-0000-0000-000000000000",
      "quantidade": 0,
      "dataDeEntrega": "2026-10-12"
    }
  ]
}'
POST/api/producao/planeamento/procura/{id}/cancelar#

Cancela uma linha de procura.

  • Permissão Producao.ProcuraEditar

Devolve 204, sem corpo.

Parâmetros

NomeOndeTipoObrigatório
idno caminhoidentificador (UUID)sim

Pedido

curl
curl -X POST 'https://<endereço-da-API>/api/producao/planeamento/procura/<id>/cancelar' \
  -H 'X-Api-Key: <a-sua-chave>'
GET/api/producao/planeamento/qualidade#

A qualidade dos dados do planeamento: o que corrigir antes de correr o plano.

  • Permissão Producao.PlaneamentoVer

Assinala, por exemplo, fichas sem parâmetros, artigos para fabricar sem ficha, compras sem fornecedor habitual e procura já atrasada. Só leitura.

Pedido

curl
curl 'https://<endereço-da-API>/api/producao/planeamento/qualidade' \
  -H 'X-Api-Key: <a-sua-chave>'
GET/api/producao/planeamento/carga#

A carga dos centros de trabalho para as próximas semanas, face à capacidade de cada centro.

  • Permissão Producao.PlaneamentoVer

semanas (por omissão 8) é o horizonte; sugestoes (por omissão verdadeiro) inclui as ordens que o último plano sugere. A capacidade é infinita: assinala o excesso, não reprograma. Só leitura.

Parâmetros

NomeOndeTipoObrigatório
semanasna pesquisanúmero inteiro
sugestoesna pesquisaverdadeiro/falso

Pedido

curl
curl 'https://<endereço-da-API>/api/producao/planeamento/carga' \
  -H 'X-Api-Key: <a-sua-chave>'
GET/api/producao/planeamento/planos#

Os planos de necessidades já corridos.

  • Permissão Producao.PlaneamentoVer

quantos (por omissão 20) limita a lista.

Parâmetros

NomeOndeTipoObrigatório
quantosna pesquisanúmero inteiro

Pedido

curl
curl 'https://<endereço-da-API>/api/producao/planeamento/planos' \
  -H 'X-Api-Key: <a-sua-chave>'
GET/api/producao/planeamento/planos/{id}#

Um plano de necessidades com as sugestões de produzir e de comprar.

  • Permissão Producao.PlaneamentoVer

Parâmetros

NomeOndeTipoObrigatório
idno caminhoidentificador (UUID)sim

Pedido

curl
curl 'https://<endereço-da-API>/api/producao/planeamento/planos/<id>' \
  -H 'X-Api-Key: <a-sua-chave>'
POST/api/producao/planeamento/planos#

Corre o plano de necessidades para um armazém e um horizonte em semanas.

  • Permissão Producao.PlaneamentoCorrer
  • Idempotência aceita Idempotency-Key

armazemId (opcional) e semanas (por omissão 13). Não altera stock, ordens nem encomendas: grava uma fotografia, de onde se firmam as sugestões.

Corpo do pedido (JSON · CorrerPlanoRequest)

CampoTipoObrigatórioSignificado
armazemIdidentificador (UUID) ou nuloO armazém de onde saiu (ou para onde voltou) o stock.
semanasnúmero inteiro

Resposta

Devolve 201 com o id do registo criado.

Pedido

curl
curl -X POST 'https://<endereço-da-API>/api/producao/planeamento/planos' \
  -H 'X-Api-Key: <a-sua-chave>' \
  -H 'Idempotency-Key: <um-GUID-novo>' \
  -H 'Content-Type: application/json' \
  -d '{}'
POST/api/producao/planeamento/planos/{id}/firmar#

Firma sugestões do plano: cada sugestão de produzir cria uma ordem de produção e cada uma de comprar cria uma nota de encomenda.

  • Permissão Producao.PlaneamentoFirmar
  • Idempotência aceita Idempotency-Key

Cada sugestão é independente: uma que falha (sem fornecedor, sem ficha activa) não impede as outras, e a resposta diz o que aconteceu a cada uma. Exige as permissões de criar ordens e encomendas.

Parâmetros

NomeOndeTipoObrigatório
idno caminhoidentificador (UUID)sim

Corpo do pedido (JSON · FirmarSugestoesRequest)

CampoTipoObrigatório
sugestoeslista de objectossim
sugestoes[].sugestaoIdidentificador (UUID)sim
sugestoes[].fornecedorIdidentificador (UUID) ou nulo

Pedido

curl
curl -X POST 'https://<endereço-da-API>/api/producao/planeamento/planos/<id>/firmar' \
  -H 'X-Api-Key: <a-sua-chave>' \
  -H 'Idempotency-Key: <um-GUID-novo>' \
  -H 'Content-Type: application/json' \
  -d '{
  "sugestoes": [
    {
      "sugestaoId": "00000000-0000-0000-0000-000000000000"
    }
  ]
}'
POST/api/producao/planeamento/planos/{id}/ignorar#

Marca sugestões do plano como ignoradas.

  • Permissão Producao.PlaneamentoFirmar
  • Idempotência aceita Idempotency-Key

Devolve o número de sugestões ignoradas.

Parâmetros

NomeOndeTipoObrigatório
idno caminhoidentificador (UUID)sim

Corpo do pedido (JSON · IgnorarSugestoesRequest)

CampoTipoObrigatório
sugestaoIdslista de identificador (UUID)sim

Pedido

curl
curl -X POST 'https://<endereço-da-API>/api/producao/planeamento/planos/<id>/ignorar' \
  -H 'X-Api-Key: <a-sua-chave>' \
  -H 'Idempotency-Key: <um-GUID-novo>' \
  -H 'Content-Type: application/json' \
  -d '{
  "sugestaoIds": [
    "00000000-0000-0000-0000-000000000000"
  ]
}'
GET/api/producao/planeamento/calendario#

O calendário do planeamento: os dias úteis da semana e os dias de encerramento.

  • Permissão Producao.PlaneamentoVer

Pedido

curl
curl 'https://<endereço-da-API>/api/producao/planeamento/calendario' \
  -H 'X-Api-Key: <a-sua-chave>'
PUT/api/producao/planeamento/calendario/dias-uteis#

Define os dias úteis da semana.

  • Permissão Producao.ParametrosEditar

Os dias vão de 1 (segunda-feira) a 7 (domingo), e tem de haver pelo menos um.

Devolve 204, sem corpo.

Corpo do pedido (JSON · DiasUteisRequest)

CampoTipoObrigatório
diasUteislista de número inteirosim

Pedido

curl
curl -X PUT 'https://<endereço-da-API>/api/producao/planeamento/calendario/dias-uteis' \
  -H 'X-Api-Key: <a-sua-chave>' \
  -H 'Content-Type: application/json' \
  -d '{
  "diasUteis": [
    1
  ]
}'
POST/api/producao/planeamento/calendario/encerramentos#

Acrescenta um dia de encerramento ao calendário.

  • Permissão Producao.ParametrosEditar
  • Idempotência aceita Idempotency-Key

Corpo do pedido (JSON · DiaDeEncerramentoRequest)

CampoTipoObrigatórioSignificado
datadata (AAAA-MM-DD)simA data e hora (UTC).
descricaotextosimA descrição.

Resposta

Devolve 201 com o id do registo criado.

Pedido

curl
curl -X POST 'https://<endereço-da-API>/api/producao/planeamento/calendario/encerramentos' \
  -H 'X-Api-Key: <a-sua-chave>' \
  -H 'Idempotency-Key: <um-GUID-novo>' \
  -H 'Content-Type: application/json' \
  -d '{
  "data": "2026-10-12",
  "descricao": "texto"
}'
DELETE/api/producao/planeamento/calendario/encerramentos/{id}#

Remove um dia de encerramento do calendário.

  • Permissão Producao.ParametrosEditar

Devolve 204, sem corpo.

Parâmetros

NomeOndeTipoObrigatório
idno caminhoidentificador (UUID)sim

Pedido

curl
curl -X DELETE 'https://<endereço-da-API>/api/producao/planeamento/calendario/encerramentos/<id>' \
  -H 'X-Api-Key: <a-sua-chave>'