No ERP Bluesoft, é possível realizar diversos fluxos logísticos destinados a operação do centro de distribuição (CD) via API.

Confira a seguir algumas funcionalidades já implementadas:

  • Consulta de lotes logísticos
  • Importação de lotes logísticos
  • Carga externa
  • Consultar itens separados e pendentes de faturamento
  • Faturamento
  • Consulta de status de faturamento async
  • Cancelamento de lotes
  • Cancelamento de itens dentro de um lote

Consulta de lotes logísticos

A consulta de lotes logísticos retorna todos os lotes disponíveis para separação, seja originado por onda de distribuição, importação de lotes, pedidos cross ou distribuição forçada.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Lotes-Logisticos/operation/consultar

  • Metodo: GET
  • Endpoint: /api/wms/externo/loteslogisticos

Exemplo de consulta via API utilizando o Postman:

Exemplo de retorno da consulta de lotes:

      {
         "numeroLote": 32015,
         "dataHora": "19/02/2025 13:03",
         "cdKey": 50,
         "tipoDistribuicao": "DISTRIBUICAO_LOGISTICA",
         "tipoSeparacao": "Cross Docking",
         "itens": [
            {
               "produtoUnitarioKey": 1841,
               "logisticaLoteItemKey": 290540,
               "quantidadeUnitaria": 6,
               "embalagemKey": "UN",
               "fatorEstoque": 1.0,
               "gtinPrincipal": 7795232000463
            },
            {
               "produtoUnitarioKey": 1825,
               "logisticaLoteItemKey": 290539,
               "quantidadeUnitaria": 6,
               "embalagemKey": "UN",
               "fatorEstoque": 1.0,
               "gtinPrincipal": 659525562342
            },
            {
               "produtoUnitarioKey": 1823,
               "logisticaLoteItemKey": 290541,
               "quantidadeUnitaria": 3,
               "embalagemKey": "UN",
               "fatorEstoque": 1.0,
               "gtinPrincipal": 659525562687
            }
         ],
         "lojaKey": 1
      }

Importação de lotes logísticos

A Importação permite a criação de lotes de distribuição através de uma lista de produtos e lojas enviados na integração.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Lotes-Logisticos/operation/importarLotesLogisticos

  • Metodo: POST
  • Endpoint: /api/wms/lotes-logisticos/importar

Exemplo de Importação de lote via API utilizando o Postman:

Json da requisição utilizada no exemplo:

{
	"importarComDivergencia": false,
	"motivo": 1,
	"itens": [
		{
			"lojaKey": 1,
			"cdKey": 50,
			"produtoKey": 115660,
			"quantidadeSugerida": 60
		}
	]
}
  • Para geração automática de lotes, o parâmetro “Gerar lote automático na importação de lotes logísticos” deve estar ativado.
  • Se utilizar o agrupador externo. (aba logística do cadastro do produto).
    • No ato da importação de lotes este parâmetro será validado. Desta forma o ERP ira gerar lotes separados agrupando os produtos conforme o agrupadorExternoKey definido no cadastro.
    • No exemplo a seguir temos uma requisição onde dois produtos em seu cadastro estão associados a agrupadores diferentes, na importação eles serão agrupados e adicionados em lotes separados.

É possível informar via API ao ERP quais são os produtos e quantidades realmente foram encontrados e separados no CD.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Cargas-Externas

  • Metodo: POST
  • Endpoint: /api/wms/externo/cargasexternas

Exemplo de Criação de carga externa via API utilizando o Postman:

Json da requisição utilizada no exemplo acima:

[
  {
    "numeroLote": 33181,
    "cargaExterna": "0201470839",
    "itens": [
        {
        "produtoUnitarioKey": "115660",
        "quantidadeUnitariaPedida": 60,
        "quantidadeUnitariaSeparada": 60,
        "embalagemKey": "UN",
        "fatorEstoque": 1,
        "gtin": "7896053411633",
        "paleteExterno": "0201470839"
      }
    ]
  }
]
  • Se o objeto quantidadeUnitariaPedida for igual a quantidade solicitada no lote (consulta de lote logistico objeto quantidadeUnitaria), mesmo que quantidadeSeparada seja menor o excedente do pedido inicial sera cancelado.
  • Para manter o saldo pendente de uma pedido de distribuição em aberto (embarque parcial) é necessário que na integração seja enviado o valor do objeto quantidadeUnitariaPedida com o mesmo valor do objeto quantidadeSeparada e os mesmos precisam estar com as quantidades abaixo do saldo solicitado.

Este endpoint retorna através do numero da carga externa os itens que já estão separados e conferidos no ERP e estão com o faturamento da nota fiscal pendente.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Faturamento-de-lote/operation/consultar_2

  • Metodo: GET
  • Endpoint: /api/wms/externo/faturamento/lotes

Exemplo de consulta de itens pendentes de faturamento via API utilizando o Postman:

Json de retorno da consulta realizada acima:

{
   "currentPage": 0,
   "pageSize": 30,
   "data": [
      {
         "cdKey": 50,
         "cargaExterna": "0201470839",
         "lojaDestino": 1,
         "logisticaLoteItemKey": 296742,
         "finalidadeDistribuicao": "Enviar Para uma Loja"
      }
   ]
}
  • Deve ser armazenado no integrador/sistema externo: O array contendo os produtos que estão disponíveis para faturamento (logisticaLoteItemKey) conforme o numero da carga externa utilizado na busca, estas chaves obtidas devem ser utilizadas no endpoint de faturamento.

Este endpoint permite que seja realizado a chamada do faturamento da nota fiscal dos itens listados no passo anterior.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Faturamento-de-lote/operation/faturarLote

  • Metodo: POST
  • Endpoint: /api/wms/externo/faturamento/lotes

Exemplo de requisição de faturamento de lotes via API utilizando o Postman:

Json de retorno do ID da requisição de faturamento realizada acima:

{
   "requestId": "fa827819-9f56-474c-9898-8be0a4374d72"
}
  • Deve ser armazenado no integrador a string contendo a chave da transação assíncrona retornada no objeto requestId e a mesma deve ser utilizada para consulta posterior no endpoint de consulta de status async

Nesta consulta deve ser utilizado os valores obtidos no passo anterior.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Assincrono/operation/async

  • Metodo: GET
  • Endpoint: /api/monitoramento/async/{requestId}

Exemplo de consulta da requisição de faturamento realizada via API utilizando o Postman:

  • Se o fluxo assíncrono ocorrer com sucesso retornaremos os dados da nota fiscal faturada, em caso de erro ou necessidade de cancelamento qualquer tratativa deve ser realizada diretamente no ERP.
  • Este fluxo gera a nota fiscal porem não a transmite diretamente a Sefaz isso precisa ser realizado via ERP.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Lotes-Logisticos/operation/excluirincrono/operation/async

  • Metodo: DELETE
  • Endpoint: /api/wms/externo/loteslogisticos/{numeroLote}

Realizando exclusão de lote completo via API utilizando o Postman:

  • Esta requisição cancela o lote por completo liberando o estoque reservado dos produtos que ainda não estiverem com quantidades conferidas.

Documentação da API disponível no link: https://erp.bluesoft.com.br/api/#tag/Lotes-Logisticos/operation/cancelarItem

  • Metodo: POST
  • Endpoint: /api/wms/externo/loteslogisticos/cancelamento

Retirando um produto de um lote via API e cancelando o estoque reservado utilizando o Postman:

  • Esta requisição só deve ser realizada mediante necessidade de remover itens específicos de lotes, caso seja necessário realizar o embarque parcial não é preciso cancelar o item pois o saldo restante permanecera em aberto desde que não seja enviado a quantidade total no objeto quantidadeUnitariaPedida na criação da carga externa.

Caso precise de mais informações sobre nossas APIs entre em contato com o suporte ou acesse a nossa documentação através do link: https://erp.bluesoft.com.br/api/