YOM Docs

Modificação em massa de pedidos


PUT {{URL_BASE}}/orders/admin/bulk

Aplica a vários pedidos o mesmo que Modificação de pedidos faz sobre um: aceita tanto o conteúdo de cada pedido quanto seu status e data de entrega.

Cada pedido do lote é processado de forma independente: a resposta traz um resultado por pedido e a falha de um não interrompe os demais.

<aside> 📝

Dentro de cada pedido, o único campo obrigatório é id. Só é modificado o que vier nele; o resto do pedido permanece intacto. Qualquer outro campo enviado é ignorado.

</aside>

O que enviar


Campo Tipo Obrigatoriedade Descrição Exemplos
data 🔡 Lista de Objetos → Pedido 🟢 Obrigatório Entre 1 e 500 pedidos. Ver detalhe abaixo.

Não são aceitos outros campos no nível superior do corpo da solicitação.

Pedido

Cada registro de data.

Campo Tipo Obrigatoriedade Descrição Exemplos
id 📝 Texto 🟢 Obrigatório Identificador do pedido a modificar. Aceita o _id da YOM ou o orderId do ERP do cliente.
Não aceita o número do pedido.* "66f0a1b2c3d4e5f6a7b8c9d0"
products 🔡 Lista de Objetos ⚪ Opcional Linhas do pedido. Aceita os mesmos dois formatos que o endpoint de um único pedido.
sellerDiscounts 🔡 Lista de Objetos ⚪ Opcional Descontos aplicados pelo Vendedor.
shippingAddress 📝 Objeto ⚪ Opcional Endereço de entrega do pedido.
observation 📝 Texto ⚪ Opcional Observação do pedido. "Entregar por la mañana"
externalPurchaseOrderId 📝 Texto ⚪ Opcional Ordem de compra no sistema do cliente. "OC-88231"
type 📝 Texto ⚪ Opcional Tipo de pedido.
"order" → pedido
"quote" → cotação "order"
distributionCenterId 🆔 ObjectId ⚪ Opcional Centro de distribuição do pedido.
*\*Aceita *null para deixá-lo sem atribuição. "650a1b2c3d4e5f6a7b8c9d99"
distributionCenterName 📝 Texto ⚪ Opcional Nome do Centro de distribuição.
*\*Aceita *null para deixá-lo sem atribuição. "CD Santiago"
status 📝 Texto ⚪ Opcional Novo status do pedido. Ver valores válidos mais abaixo. "shipped"
externalStatus 📝 Objeto ⚪ Opcional Status externo do pedido, somente de visualização. Leva um único campo key, que deve coincidir com um dos status configurados para o cliente. Ver status externo mais abaixo. { "key": "en_bodega" }
estimatedDeliverAt 📅 Data ⚪ Opcional Data de entrega, no formato ISO 8601.
*\Uma data inválida é ignorada e a anterior é mantida. "2030-01-15T00:00:00.000Z"
orderId 📝 Texto ⚪ Opcional Identificador do pedido no ERP do cliente.
*\*Se o pedido foi identificado pelo seu número ERP em *id, este campo só pode repetir esse mesmo valor. "ERP-99812"
orderCode 📝 Texto ⚪ Opcional Código do pedido. "COD-4471"
integrationErrorDetails 📝 Texto ⚪ Opcional Detalhe do erro de integração. "Timeout al conectar con el ERP"

Quando um pedido traz campos de status, primeiro são aplicadas suas alterações de conteúdo e os totais são recalculados, e depois é executada a transição de status — assim as notificações e o envio ao ERP veem o pedido já em sua forma final.

Status externo

Além do status, cada pedido pode levar um status externo próprio do cliente: uma etiqueta com seu nome e sua cor, que a YOM exibe tal como está no portal B2B, no painel de administração e no aplicativo móvel. É somente de visualização: não substitui o status nem o modifica, e alterá-lo não dispara envios ao ERP, e-mails, notificações nem movimentações de crédito.

É enviado como um objeto com um único campo key, e pode ir sozinho, sem status. A key deve coincidir com um dos status externos configurados para o cliente.

<aside> ⚠️

</aside>

A YOM registra por quais status externos cada pedido foi passando, e essa sequência é a que desenha o acompanhamento do pedido no portal B2B. Esse histórico é mantido pela YOM: não é enviado na solicitação. Enviar a mesma key que o pedido já tem não produz nenhuma alteração.

Valores válidos para status

| --- | --- |

Exemplo

PUT {{URL_BASE}}/orders/admin/bulk

{
  "data": [
    {
      "id": "66f0a1b2c3d4e5f6a7b8c9d0",
      "status": "shipped",
      "estimatedDeliverAt": "2030-01-15T00:00:00.000Z"
    },
    {
      "id": "ERP-99812",
      "products": [
        { "productId": "650a1b2c3d4e5f6a7b8c9d01", "quantity": 8 }
      ]
    },
    {
      "id": "66f0a1b2c3d4e5f6a7b8c9d2",
      "observation": "Entregar por la mañana",
      "status": "delivered"
    },
    {
      "id": "66f0a1b2c3d4e5f6a7b8c9d3",
      "externalStatus": { "key": "en_bodega" }
    }
  ]
}

O que retorna