Pular para o conteúdo principal

Finaliza (ou rascunha) o packing de um pedido

POST 

/fulfillment/packing/order/:idorder

Coração do fluxo de packing. Dois modos:

Modo Rascunho (Draft=1): apenas guarda o corpo enviado como rascunho temporário da picking-list informada em IDPickingList, indexado pelo pedido, com validade de 4 dias. Nada é gravado no cadastro. Retorna "sucesso". É chamado a cada bipagem pelo frontend para preservar o progresso do operador, e é esse conteúdo que volta em Draft no detalhe da picking-list.

Modo Final (sem Draft): processa o packing completo:

  1. Conferência: compara os Items enviados com os itens esperados do pedido. Em caso de divergência, falha com a lista detalhada (itens não enviados / a maior / a menor). Aceita divergência apenas quando PartialInvoice=1.
  2. Faturamento parcial: quando há itens conferidos a menos, ajusta as quantidades do pedido proporcionalmente e recalcula os valores dos itens e das contas a receber. Se a parametrização Endereço transferência faturamento parcial pedido packing estiver configurada, transfere as quantidades removidas para o endereço de quarentena indicado.
  3. Validação de série: para SKUs que controlam número de série, libera as séries antes amarradas ao pedido, valida cada série informada e a amarra ao item conferido.
  4. Reconciliação de volumes: cria ou remove volumes para bater com QuantityPackages e grava peso e dimensões vindos em Volumes.
  5. Embalagens: cada item de Packages entra como linha de embalagem no pedido, com preço zero.
  6. NF-e: dispara a emissão da nota fiscal, a menos que NoInvoice=1.
  7. Cesto de separação: o cesto vinculado ao pedido — ou à picking-list — é liberado, e o uso fica registrado no histórico de cestos junto com o pedido e a picking-list de origem.
  8. Transição de status: com transportadora definida, transportadora não marcada para ignorar romaneio, parametrização Não criar romaneio automaticamente após packing desligada e sem IDOrderStatusTo → status 6 (Aguardando expedição), com o pedido incluído no romaneio aberto da transportadora naquele centro de distribuição (criando um novo romaneio se não houver). Com a parametrização Marcar como enviado após finalizar packing ou com IDOrderStatusTo informado, o pedido é movido para o status alvo (por padrão 7, Enviado). Caso contrário → status 22 (Aguardando romaneio).
  9. Status da picking-list: 5 (Packing Concluido) quando todos os pedidos da lista terminaram, ou 4 (Packing Processando) caso contrário.

A conclusão só ocorre com a nota fiscal em 3 (Emitida) ou 5 (Pendente Conciliação EPEC), com o estado de entrega na lista de declaração de conteúdo da transportadora, ou com NoInvoice=1 — fora desses casos a resposta é Nota Fiscal não emitida.

Chamadas idênticas para o mesmo pedido dentro de 3 segundos são recusadas, para evitar disparo duplicado pelo operador.

Quando a parametrização Ignorar itens tipo serviço na emissão da nota fiscal (IgnoreServiceItemsOnInvoice) está habilitada, os itens cujo SKU é do tipo Serviço são desconsiderados da conferência — não precisam ser enviados em Items.

Retorna o detalhe atualizado do pedido.

Request

Responses

Em modo Rascunho: literal "sucesso". Em modo Final: detalhe do pedido atualizado.