Alterar pedido
Atualiza observações, rastreio, forma de pagamento e códigos de ERP de um pedido existente.
Use esta operação para corrigir ou complementar um pedido que já existe: gravar o código de rastreio, anotar uma observação interna, trocar a forma de pagamento ou gravar o código do pedido no ERP.
/api/v1.0/orders/{id}AdminAlterar um pedido
A mesma rota atende dois usos, escolhidos pelas chaves do corpo:
- Se o corpo tem apenas
status,notify_user,notify_departmente/ounotify_vendor, é uma mudança de status (veja Alterar o status). - Se tem qualquer outra chave (inclusive uma desconhecida), é uma alteração de dados, descrita aqui. Chaves desconhecidas são ignoradas e a resposta é 200.
Parâmetros de caminho
idstringobrigatórioId do pedido (UUID; decimal em string em
/api/orders/{id}).Corpo da requisição
notesstringObservação do cliente. Substitui o texto atual; envie
"" para limpar. HTML é removido.admin_notesstringObservação interna. Substitui o texto atual.
tracking_numberstringCódigo de rastreio do pedido.
shipping_methodstringNome da forma de envio.
payment_idstringCódigo da forma de pagamento. Não é validado: um código inexistente é gravado como veio.
link_notastringLink da nota fiscal. Entra no fim das observações internas como
[NF-e] link_nota=.... Para gravar a nota fiscal de forma estruturada use Sincronização com ERP.codigo_pedido_erpstringCódigo do pedido no ERP. Entra nas observações internas junto com
link_nota.statusstringAceito, mas evite: junto com outras chaves o status passa por uma tabela antiga (
O pending, P processing, C completed, D refunded, F failed, I cancelled, B on_hold) e qualquer outra letra vira pending. Mande o status sozinho, em uma chamada própria.Exemplo de requisição
bash
curl -X PUT "$BASE_URL/api/v1.0/orders/$ORDER_ID" \
-u "$EMAIL:$API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tracking_number": "BR987654321BR",
"admin_notes": "Pedido conferido",
"codigo_pedido_erp": "ERP-8841",
"link_nota": "https://erp.exemplo.com.br/nf/123.pdf"
}'Resposta
200Pedido alterado
json
{ "order_id": "0932405c-a8c1-49b3-a7db-61aab4c4d666" }Campos da resposta
order_idstringId do pedido alterado. A resposta não devolve o pedido: se precisar dos valores novos, chame Consultar pedido.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo inválido | {"message":"Invalid JSON: ...","status":400} |
| 401 | Sem credenciais ou chave de API inválida | {"message":"Invalid credentials","status":401} |
| 403 | Usuário que não é administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | O pedido não existe | {"message":"Order not found","status":404} |
| 500 | Falha interna, ou pedido inexistente em alguns caminhos | {"error":"failed to update order","detail":"..."} |