Agora no Bluesoft ERP, é possível criar, consultar, analisar itens e realizar o fechamento de solicitações de compra do tipo E-Procurement via API.

Como Irá Funcionar a Partir de Agora?

A partir desta atualização, os sistemas integradores externos podem realizar o ciclo completo de vida da solicitação de compra e-procurement usando a suite de endpoints públicos disponibilizados:

  • Criação de Solicitação (POST /api/compras/solicitacoes-eprocurement): Permite enviar os dados gerais do cabeçalho da compra exigindo obrigatoriamente os campos descricao, dataCompra, lojaKey e a lista de itens. O endpoint aceita itens estruturados nos blocos de produto (com chave existente no cadastro), serviço (com descrição livre) e produtos sem cadastro (também tratados como descrição livre).
  • Consulta Geral de Solicitações (GET /api/compras/solicitacoes-eprocurement): Retorna uma lista paginada trazendo apenas os dados de cabeçalho das solicitações, permitindo a aplicação de filtros por chave (solicitacaoCompraKey), status e período.
  • Consulta de Itens da Solicitação (GET /api/compras/solicitacoes-eprocurement/{solicitacaoCompraKey}): Endpoint dedicado para retornar os itens de uma solicitação específica, permitindo refinar a busca com filtros por produtoKey, lojaKey e status.
  • Envio para Aprovação (POST /api/compras/solicitacoes-eprocurement/{solicitacaoCompraKey}/enviar-itens-para-aprovacao): Muda o status da solicitação para FECHAMENTO_PENDENTE. Esse passo é obrigatório, pois as rotas de aprovação, reprovação e fechamento exigem que a solicitação esteja nesta condição prévia.
  • Alteração Individual de Item (PUT /api/compras/solicitacoes-eprocurement/{solicitacaoCompraKey}/itens/{solicEprocurementProdKey}/status): Altera pontualmente o status de um único item que esteja vinculado à solicitação informada.
  • Alteração de Itens em Lote (PUT /api/compras/solicitacoes-eprocurement/{solicitacaoCompraKey}/itens/status): Permite o envio de uma lista de chaves (solicEprocurementProdKey) para modificar o status de vários itens pertencentes àquela mesma solicitação de uma só vez.
  • Aprovação ou Reprovação em Massa (POST): Por meio das rotas /aprovar-itens e /reprovar-itens, o sistema atualiza o status de todos os itens da solicitação de forma massiva.
  • Fechamento da Solicitação (POST /api/compras/solicitacoes-eprocurement/{solicitacaoCompraKey}/fechamento): Conclui a solicitação respeitando as validações de governança do ERP.

Exemplo de Payload Válido para Criação

Ao realizar a integração para o endpoint de criação (POST), certifique-se de enviar a estrutura de objetos no seguinte padrão aceito pelo backend:

JSON

{
  "descricao": "Solicitacao notebooks TI",
  "dataCompra": "26/05/2026",
  "lojaKey": 1,
  "fornecedorKey": 4001,
  "divisaoKey": 1,
  "observacao": "Compra para novos colaboradores",
  "itens": {
    "produtos": [
      {
        "produtoKey": 375153,
        "embalagemKey": "UN",
        "quantidade": 5,
        "valorUnitario": 4500,
        "observacao": "Reposição de estoque"
      }
    ],
    "servicos": [
      {
        "descricao": "Adaptador USB-C para HDMI",
        "embalagemKey": "UN",
        "quantidade": 10,
        "valorUnitario": 89.9,
        "observacao": "Modelo reforcado"
      }
    ],
    "produtosSemCadastro": [
      {
        "descricao": "Adaptador USB-C para HDMI",
        "embalagemKey": "UN",
        "quantidade": 10,
        "valorUnitario": 89.9,
        "observacao": "Modelo reforcado"
      }
    ]
  }
}

Observações Importantes!

  • Formato da Data: O campo dataCompra deve seguir estritamente o padrão dd/MM/yyyy.
  • Vínculos de Cadastro: Os campos fornecedorKey e divisaoKey informados precisam obrigatoriamente formar um vínculo prévio e válido dentro do cadastro de fornecedores do ERP. O campo finalidadeKey é opcional, mas se for preenchido, sua chave precisa estar previamente cadastrada.
  • Regras Rígidas para Fechamento: O encerramento da solicitação só será processado se ela cumprir as seguintes condições:
    • Não é permitido fechar caso haja qualquer item com status AGUARDANDO_APROVACAO.
    • Não é permitido fechar se houver algum item com status REPROVADO.
    • Deve existir obrigatoriamente ao menos 1 item com status APROVADO para autorizar a conclusão.
  • Tratamento de Exceções: Qualquer quebra de regra de negócio disparada pelos endpoints será retornada na API sob a exceção técnica padronizada BusinessException.
  • Permissões de Segurança da API: A liberação das credenciais ou tokens de acesso dos sistemas parceiros deve estar associada a um perfil de usuário que possua as seguintes permissões ativas:
    • 4614: Permissão para consultar solicitações e itens.
    • 4615: Permissão para incluir novas solicitações.
    • 4616: Permissão para alterar status e realizar fechamentos.
    • 4617: Permissão para aprovar, reprovar ou enviar itens para a esteira de aprovação.

Para conhecer mais sobre como é a utilização dessa ferramenta, clique aqui.

Para saber mais sobre a utilização das APIs do ERP, clique aqui.

Disponível a partir da versão r370.19