Listar compras de materiais
Lista ordens de compra de material (Page=1, PageSize=50; total em `totalRows`). Status: lista CSV, 0 = todos; compras agrupadas (status 5) não aparecem. Somente leitura.
Criar compra de materiais
Cria o cabeçalho de uma ordem de compra: `almoxarifadoId` e `status` obrigatórios; envie sempre `data`. O `numero` é gerado por almoxarifado. Depois inclua os itens em POST /v1/compras-materiais/{id}/itens/lote. Exija confirmação humana antes de executar a partir de um agente autônomo.
Atualizar compra de materiais
Atualiza o cabeçalho da compra. Mudar o `status` sincroniza o andamento das solicitações vinculadas: compra em 1, 3 ou 4 → 'Aguardando compra'; em 2 ou 5 → 'Compra realizada'. Um ID inexistente também responde sucesso: valide antes. Exija confirmação humana antes de executar a partir de um agente autônomo.
Excluir compra de materiais
Exclui a compra e todos os seus itens, sem verificar o status e sem sincronizar as solicitações vinculadas. Irreversível. Exija confirmação humana antes de executar a partir de um agente autônomo.
Listar itens da compra
Lista os itens de uma compra: quantidade, valores, entradas já recebidas e saldo. Só aparecem itens cujo material está cadastrado no almoxarifado da compra. Somente leitura.
Adicionar item à compra
Adiciona um item à compra (`materialId`, `quantidade` > 0, `valorUnitario`). Com `solicitacaoMaterialItemId`, vincula o item a uma solicitação e sincroniza o andamento dela. Exija confirmação humana antes de executar a partir de um agente autônomo.
Adicionar itens em lote
Adiciona vários itens à compra de uma vez (mesmos campos do item avulso; mínimo 1). Prefira este ao laço de itens avulsos. Com `solicitacaoMaterialItemId`, vincula cada item à solicitação e sincroniza o andamento. Exija confirmação humana antes de executar a partir de um agente autônomo.
Atualizar itens em lote
Atualiza quantidade, valor unitário e nota fiscal de vários itens e recalcula o último valor negociado. Não confere se os itens pertencem à compra {id}: envie só IDs lidos de GET /v1/compras-materiais/{id}/itens. Exija confirmação humana antes de executar a partir de um agente autônomo.
Atualizar item da compra
Atualiza quantidade, valor unitário e nota fiscal de um item. Não confere se o item pertence à compra {id}: use IDs lidos de GET /v1/compras-materiais/{id}/itens. Exija confirmação humana antes de executar a partir de um agente autônomo.
Excluir item da compra
Remove um item da compra, sem verificar solicitação vinculada nem sincronizar andamento. Irreversível. Exija confirmação humana antes de executar a partir de um agente autônomo.
Listar solicitações da compra
Lista as solicitações vinculadas à compra (no máximo 50, sem paginação). Somente leitura.
Agrupar compras de materiais
Agrupa duas ou mais ordens de compra (`compraMaterialIds`) numa nova, copiando os itens; as originais ficam com status 5 (Agrupada). Recusa ordens já agrupadas ou em status avançado (3 ou mais). Não há endpoint para desagrupar e os vínculos com solicitações não migram. Exija confirmação humana antes de executar a partir de um agente autônomo.