VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Guia rápido/Pedidos

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.

PUT/api/v1.0/orders/{id}Admin

Alterar um pedido

A mesma rota atende dois usos, escolhidos pelas chaves do corpo:

  • Se o corpo tem apenas status, notify_user, notify_department e/ou notify_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ório
Id do pedido (UUID; decimal em string em /api/orders/{id}).

Corpo da requisição

notesstring
Observação do cliente. Substitui o texto atual; envie "" para limpar. HTML é removido.
admin_notesstring
Observação interna. Substitui o texto atual.
tracking_numberstring
Código de rastreio do pedido.
shipping_methodstring
Nome da forma de envio.
payment_idstring
Código da forma de pagamento. Não é validado: um código inexistente é gravado como veio.
link_notastring
Link 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_erpstring
Código do pedido no ERP. Entra nas observações internas junto com link_nota.
statusstring
Aceito, 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_idstring
Id do pedido alterado. A resposta não devolve o pedido: se precisar dos valores novos, chame Consultar pedido.

Erros

StatusQuandoCorpo
400Corpo inválido{"message":"Invalid JSON: ...","status":400}
401Sem credenciais ou chave de API inválida{"message":"Invalid credentials","status":401}
403Usuário que não é administrador{"message":"Forbidden: admin scope required","status":403}
404O pedido não existe{"message":"Order not found","status":404}
500Falha interna, ou pedido inexistente em alguns caminhos{"error":"failed to update order","detail":"..."}
Status junto com outros campos pode zerar o status

No PUT /api/v1.0/orders/{id}, mandar status junto de outras chaves passa o valor por uma tabela antiga de 7 letras. Uma letra fora dela (por exemplo S de enviado ou C de entregue) vira pending e o pedido volta para "pendente" sem erro. Mande o status sozinho, em uma chamada própria, como descrito em Alterar o status.

Métodos que respondem 405

PUT /api/v1.0/orders (sem id) e POST /api/v1.0/orders/{id} respondem 405 Method Not Allowed com o cabeçalho Allow. Para criar use POST /api/v1.0/orders; para alterar use PUT /api/v1.0/orders/{id}.

Veja também

  • Alterar o status
  • Sincronização com ERP
  • Consultar pedido
Anterior
Criar pedido
Próxima
Alterar o status
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também