YOM Docs

Modificação de pedidos

Configuração de URL Base

Um pedido já criado é modificado com PUT {{URL_BASE}}/orders/admin/{id}, que aceita tanto o conteúdo do pedido quanto seu status e data de entrega.

O que se quer alterar Endpoint
Linhas, endereço de entrega, observação, tipo, centro de distribuição, status, data de entrega PUT {{URL_BASE}}/orders/admin/{id}
Apenas o status e a data de entrega, ou identificar o pedido pelo seu número POST {{URL_BASE}}/orders/status/{order_id}

Editar um pedido

PUT {{URL_BASE}}/orders/admin/{id}

{id} aceita dois identificadores:

<aside> 📝

Todos os campos são opcionais. Só é modificado o que vier no corpo da solicitação; o resto do pedido permanece intacto. Qualquer outro campo enviado é ignorado.

</aside>

O que enviar

Campo Tipo Obrigatoriedade Descrição Exemplos
products 🔡 Lista de Objetos ⚪ Opcional Linhas do pedido. Aceita dois formatos, ver abaixo.
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 na URL, 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"

<aside> 🔑

</aside>

Quando a solicitação traz campos de status, primeiro são aplicadas as 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.

Formato A — alterar apenas quantidades

Cada item leva sku e/ou productId mais quantity, sem pricing. Só são enviadas as linhas que se quer modificar; o resto do pedido permanece como está.

PUT {{URL_BASE}}/orders/admin/66f0a1b2c3d4e5f6a7b8c9d0

{
  "products": [
    { "productId": "650a1b2c3d4e5f6a7b8c9d01", "quantity": 8 }
  ]
}

Formato B — substituir todas as linhas

Cada item leva seu pricing. É preciso enviar o pedido completo: as linhas que não vierem ficam fora do pedido.

PUT {{URL_BASE}}/orders/admin/66f0a1b2c3d4e5f6a7b8c9d0

{
  "products": [
    {
      "sku": "ABC-1",
      "productId": "650a1b2c3d4e5f6a7b8c9d01",
      "quantity": 3,
      "pricing": { "pricePerUnit": 1000 },
      "pricingAfterDiscounts": { "pricePerUnit": 900 }
    }
  ]
}

Status externo

Além do status, um 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.

<aside> 📝

</aside>