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ção | O que faz |
|---|---|
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. |
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/procura | As linhas de procura registadas para o planeamento. |
POST /api/producao/planeamento/procura | Regista linhas de procura. |
POST /api/producao/planeamento/procura/{id}/cancelar | Cancela uma linha de procura. |
GET /api/producao/planeamento/qualidade | A qualidade dos dados do planeamento: o que corrigir antes de correr o plano. |
GET /api/producao/planeamento/carga | A carga dos centros de trabalho para as próximas semanas, face à capacidade de cada centro. |
GET /api/producao/planeamento/planos | Os 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/planos | Corre o plano de necessidades para um armazém e um horizonte em semanas. |
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. |
POST /api/producao/planeamento/planos/{id}/ignorar | Marca sugestões do plano como ignoradas. |
GET /api/producao/planeamento/calendario | O calendário do planeamento: os dias úteis da semana e os dias de encerramento. |
PUT /api/producao/planeamento/calendario/dias-uteis | Define os dias úteis da semana. |
POST /api/producao/planeamento/calendario/encerramentos | Acrescenta um dia de encerramento ao calendário. |
DELETE /api/producao/planeamento/calendario/encerramentos/{id} | Remove um dia de encerramento do calendário. |
/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.
filtro pesquisa por texto.
A resposta é uma página: itens e proximoCursor. Ver Paginação.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
filtro | na pesquisa | texto | |
cursor | na pesquisa | texto | |
tamanho | na pesquisa | número inteiro |
Pedido
curl 'https://<endereço-da-API>/api/producao/planeamento/parametros' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/parametros/{produtoId}#Define os parâmetros de planeamento de um artigo.
politica e, conforme ela, prazoDeEntregaDias, loteMinimo, multiplo e stockDeSeguranca.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
produtoId | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · ParametrosDePlaneamentoRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
politica | texto | sim |
prazoDeEntregaDias | número inteiro | |
loteMinimo | número ou nulo | |
multiplo | número ou nulo | |
stockDeSeguranca | número |
Pedido
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"
}'
/api/producao/planeamento/parametros/{produtoId}#Remove os parâmetros de planeamento de um artigo.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
produtoId | no caminho | identificador (UUID) | sim |
Pedido
curl -X DELETE 'https://<endereço-da-API>/api/producao/planeamento/parametros/<produtoId>' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/procura#As linhas de procura registadas para o planeamento.
Filtros: estado e produtoId.
A resposta é uma página: itens e proximoCursor. Ver Paginação.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
estado | na pesquisa | texto | |
produtoId | na pesquisa | identificador (UUID) | |
cursor | na pesquisa | texto | |
tamanho | na pesquisa | número inteiro |
Pedido
curl 'https://<endereço-da-API>/api/producao/planeamento/procura' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/procura#Regista linhas de procura.
Devolve o número de linhas registadas.
Corpo do pedido (JSON · CriarProcuraDeProducaoCommand)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
linhas | lista de objectos | sim | |
linhas[].produtoId | identificador (UUID) | sim | O artigo. |
linhas[].quantidade | número | sim | A quantidade. |
linhas[].dataDeEntrega | data (AAAA-MM-DD) | sim | |
linhas[].origem | texto ou nulo | ||
linhas[].referencia | texto ou nulo | ||
linhas[].observacao | texto ou nulo | O texto livre. |
Pedido
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"
}
]
}'
/api/producao/planeamento/procura/{id}/cancelar#Cancela uma linha de procura.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X POST 'https://<endereço-da-API>/api/producao/planeamento/procura/<id>/cancelar' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/qualidade#A qualidade dos dados do planeamento: o que corrigir antes de correr o plano.
Assinala, por exemplo, fichas sem parâmetros, artigos para fabricar sem ficha, compras sem fornecedor habitual e procura já atrasada. Só leitura.
Pedido
curl 'https://<endereço-da-API>/api/producao/planeamento/qualidade' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/carga#A carga dos centros de trabalho para as próximas semanas, face à capacidade de cada centro.
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
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
semanas | na pesquisa | número inteiro | |
sugestoes | na pesquisa | verdadeiro/falso |
Pedido
curl 'https://<endereço-da-API>/api/producao/planeamento/carga' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/planos#Os planos de necessidades já corridos.
quantos (por omissão 20) limita a lista.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
quantos | na pesquisa | número inteiro |
Pedido
curl 'https://<endereço-da-API>/api/producao/planeamento/planos' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/planos/{id}#Um plano de necessidades com as sugestões de produzir e de comprar.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl 'https://<endereço-da-API>/api/producao/planeamento/planos/<id>' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/planos#Corre o plano de necessidades para um armazém e um horizonte em semanas.
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)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
armazemId | identificador (UUID) ou nulo | O armazém de onde saiu (ou para onde voltou) o stock. | |
semanas | número inteiro |
Resposta
Devolve 201 com o id do registo criado.
Pedido
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 '{}'
/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.
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
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · FirmarSugestoesRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
sugestoes | lista de objectos | sim |
sugestoes[].sugestaoId | identificador (UUID) | sim |
sugestoes[].fornecedorId | identificador (UUID) ou nulo |
Pedido
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"
}
]
}'
/api/producao/planeamento/planos/{id}/ignorar#Marca sugestões do plano como ignoradas.
Devolve o número de sugestões ignoradas.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Corpo do pedido (JSON · IgnorarSugestoesRequest)
| Campo | Tipo | Obrigatório |
|---|---|---|
sugestaoIds | lista de identificador (UUID) | sim |
Pedido
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"
]
}'
/api/producao/planeamento/calendario#O calendário do planeamento: os dias úteis da semana e os dias de encerramento.
Pedido
curl 'https://<endereço-da-API>/api/producao/planeamento/calendario' \
-H 'X-Api-Key: <a-sua-chave>'
/api/producao/planeamento/calendario/dias-uteis#Define os dias úteis da semana.
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)
| Campo | Tipo | Obrigatório |
|---|---|---|
diasUteis | lista de número inteiro | sim |
Pedido
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
]
}'
/api/producao/planeamento/calendario/encerramentos#Acrescenta um dia de encerramento ao calendário.
Corpo do pedido (JSON · DiaDeEncerramentoRequest)
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
data | data (AAAA-MM-DD) | sim | A data e hora (UTC). |
descricao | texto | sim | A descrição. |
Resposta
Devolve 201 com o id do registo criado.
Pedido
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"
}'
/api/producao/planeamento/calendario/encerramentos/{id}#Remove um dia de encerramento do calendário.
Devolve 204, sem corpo.
Parâmetros
| Nome | Onde | Tipo | Obrigatório |
|---|---|---|---|
id | no caminho | identificador (UUID) | sim |
Pedido
curl -X DELETE 'https://<endereço-da-API>/api/producao/planeamento/calendario/encerramentos/<id>' \
-H 'X-Api-Key: <a-sua-chave>'