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} |
PUT {{URL_BASE}}/orders/admin/{id}
{id} aceita dois identificadores:
_id — o identificador do pedido na YOM, o que é retornado ao criá-lo.orderId — o identificador do pedido no ERP do cliente.<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>
| 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.
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 }
]
}
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 }
}
]
}
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>