Pular para o conteúdo principal

Lista pedidos

GET 

/orders

Lista os pedidos da empresa autenticada — endpoint compartilhado entre Outbound (default IDStatusOrder=1 + OrderBy=ASC), Pedidos, Retirada em Mãos (IDStatusOrder=17&Budget=0&SkuView=0) e demais telas que listam pedidos. Paginação fixa em 2000 registros por página (Page=N → offset N*2000).

Etapas internas (handler OrdersGet, Node):

  1. Resolve IDCompany a partir do prefix da conta + accountname do header. Quando o usuário tem mais de uma conta vinculada, busca a posição correspondente em event.context.idcompanylist (CSV indexado por accountnamelist).
  2. Se o usuário tem centros de distribuição vinculados (chave Redis UserCompanyDistributionCenter:<prefix>:<user>), restringe à lista. Querystring IDStockKeepingUnitDistributionCenter é validada contra essa lista — se não pertence, retorna [] imediatamente.
  3. Quando Search é informado, limita IDOrder ≥ IDOrderThreeMonthsAgo (cache Redis) — busca rápida só varre os últimos 3 meses.
  4. Quando o usuário é vendedor (event.context.salesman=1) com restrictaccesssalesman=1, restringe aos pedidos cujos consumidores estão vinculados ao usuário em ConsumerSalesman.
  5. Em duas etapas: primeiro SELECT DISTINCT O.IDOrder ... com paginação (2000 IDs); depois SELECT completo desses IDs com todos os joins (status, integração, nota fiscal, transportadora, faturador, CD).
  6. SkuView=1 muda o segundo SELECT para retornar Items agregados (array JSON de SKUs do pedido com nome, quantidade, valor unitário, kit, inconformidade e imagem principal) em vez das colunas planas. Frontend usa para preview de linha expandida.

Busca rápida (Search) — quando informada, aplica OR entre:

  • Orders.Order (LIKE).
  • Orders.ConsumerNameCorporateName / Orders.ShippingReceiverName (LIKE, exige ≥4 caracteres alfabéticos).
  • Orders.ConsumerEmail (LIKE).
  • Orders.ConsumerCpfCnpj (apenas dígitos, comprimento entre 11 e 14).
  • NfCompany.NfeNumber (apenas dígitos, ≤9).
  • Orders.IDOrder (apenas dígitos, ≤11).
  • OrderFrom.OrderFrom (LIKE, qualquer marketplace).
  • HubOrder.PackId (apenas dígitos com comprimento > 15).

Endpoint compartilhado por várias telas — esta documentação cobre o conjunto completo de querystrings; cada tela usa um subconjunto.

Request

Responses

Array de pedidos. Retorna até 2000 itens por página. Cada item traz o pedido + status + integração + NF principal + transportadora + faturador + CD. Quando SkuView=1, traz também o array Items com os SKUs do pedido. Quando nenhum pedido casa com os filtros, retorna [] (com 200).