VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Referência completa/Pedidos: rotas sem versão e app do seller

Um pedido sem versão

Consulta, altera e cancela um pedido em /api/orders/{id}, a forma da API 1.0 sem o prefixo de versão; inclui as rotas POST que só respondem 405.

/api/orders/{id} é o mesmo recurso de /api/v1.0/orders/{id}, com id decimal no caminho e em toda a resposta. O {id} aceita também o UUID. Os campos e as regras completos estão em Consultar pedido, Alterar pedido, Alterar o status e Cancelar e excluir. Todas as rotas exigem um administrador.

GET/api/orders/{id}Admin

Consultar um pedido, forma sem versão

Devolve o pedido completo: totais, endereços (user_data), itens (products), pagamento e sub-pedidos.

Parâmetros de caminho

idstringobrigatório
Id do pedido, decimal em string (ou UUID). 0 ou vazio responde 400.
PUT/api/orders/{id}Admin

Alterar um pedido ou mudar seu status, forma sem versão

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. Com qualquer outra chave (inclusive uma desconhecida), é uma alteração de dados; chaves desconhecidas são ignoradas.

Parâmetros de caminho

idstringobrigatório
Id do pedido, decimal em string (ou UUID).

Corpo da requisição

statusstring
Novo status (letra ou código do cadastro da loja). Mande-o sozinho: junto com outros campos passa por uma tabela antiga de 7 letras (O, P, C, D, F, I, B) e qualquer outra letra vira pending.
notify_userstring
YNtruefalse10
Pedido para avisar o cliente da mudança de status. O e-mail só sai se o status de destino estiver configurado para notificar o cliente.
notify_departmentstring
Aceito por compatibilidade, sem efeito.
notify_vendorstring
Aceito por compatibilidade, sem efeito.
notesstring
Observação do cliente. Substitui o texto atual; "" limpa. 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.
codigo_pedido_erpstring
Código do pedido no ERP. Entra nas observações internas.
DELETE/api/orders/{id}Admin

Cancelar um pedido, forma sem versão

Move o pedido para cancelado (I) e responde 204 sem corpo. Só pedidos pendentes, em processamento, pagos, em espera ou falhos podem ser cancelados. Não estorna o pagamento no gateway: se o pedido estava pago, devolva o dinheiro à parte (Reembolso). Chave de API de seller (não administrador) recebe sempre 404.

Parâmetros de caminho

idstringobrigatório
Id do pedido, decimal em string (ou UUID).
POST/api/orders/{id}Admin

Não executa nada: responde 405 (POST não leva id)

Existe só para responder 405 Method Not Allowed, com o cabeçalho Allow: GET, PUT, DELETE e corpo vazio. Para criar um pedido use POST /api/orders; para alterar, PUT /api/orders/{id}.

Parâmetros de caminho

idstringobrigatório
Id do pedido (ignorado).
POST/api/v1.0/orders/{id}Admin

Não executa nada: responde 405 (POST não leva id), forma com versão

Igual a POST /api/orders/{id}: 405, Allow: GET, PUT, DELETE, corpo vazio.

Parâmetros de caminho

idstringobrigatório
Id do pedido (ignorado).

Exemplo de requisição

bash
curl "$BASE_URL/api/orders/1794666195" -u "$EMAIL:$API_KEY"

curl -X PUT "$BASE_URL/api/orders/1794666195" \
  -u "$EMAIL:$API_KEY" -H "Content-Type: application/json" \
  -d '{"tracking_number":"BR987654321BR","admin_notes":"Pedido conferido"}'

curl -X PUT "$BASE_URL/api/orders/1794666195" \
  -u "$EMAIL:$API_KEY" -H "Content-Type: application/json" \
  -d '{"status":"S"}'

curl -X DELETE "$BASE_URL/api/orders/1794666195" -u "$EMAIL:$API_KEY"

Resposta

200Pedido
json
{
  "order_id": "1794666195",
  "order_number": "PILOT-20261011-0009",
  "is_parent_order": "N",
  "parent_order_id": "",
  "suborder_ids": [],
  "user_id": "642412737",
  "company_id": "496868694",
  "email": "docs.cliente.api@example.com",
  "phone": "11987654321",
  "status": "C",
  "timestamp": 1791752125,
  "currency": "BRL",
  "lang_code": "pt-BR",
  "subtotal": "49.90",
  "discount": "7.24",
  "shipping_cost": "10.00",
  "total": "52.66",
  "payment_method": { "payment": "pix", "payment_id": "pix" },
  "payment_info": { "payment_method": "pix", "payment_status": "pending" },
  "shipping": [{ "rate": "10.00", "shipping": "Entrega Padrão", "shipping_id": "Entrega Padrão" }],
  "products": [
    { "item_id": "607887120", "product_id": "592384622", "product": "Doc Bulk Caneca", "product_code": "DOCBULK-002", "price": "49.90", "amount": 1, "discount": "7.24", "subtotal": "49.90", "total": "42.66" }
  ],
  "user_data": {
    "firstname": "Docs", "lastname": "Cliente", "email": "docs.cliente.api@example.com",
    "b_address": "Avenida Paulista, 1000 Apto 52", "b_city": "São Paulo", "b_state": "SP", "b_zipcode": "01310-100", "b_country": "BR",
    "s_address": "Avenida Paulista, 1000 Apto 52", "s_city": "São Paulo", "s_state": "SP", "s_zipcode": "01310-100", "s_country": "BR"
  }
}
204Pedido cancelado (DELETE)
http
HTTP/1.1 204 No Content

Campos da resposta

order_idstring
Id do pedido, decimal em string.
statusstring
Letra do status no cadastro da loja.
timestampinteger
Criação, Unix timestamp em segundos.
user_idstring
Cliente, decimal em string.
company_idstring
Seller dono do pedido, decimal em string.
subtotalstring
Soma dos itens, string decimal.
totalstring
Total do pedido, string decimal.
payment_methodobject
payment (nome) e payment_id (código da forma de pagamento).
payment_infoobject
payment_method e payment_status.
shippingarray
Formas de envio escolhidas, com rate (valor) e shipping (nome).
productsarray
Itens: item_id, product_id, product, product_code, price, amount, discount, subtotal, total.
user_dataobject
Endereços de cobrança (b_*) e entrega (s_*), nome e e-mail.
suborder_idsarray
Ids dos sub-pedidos, quando o pedido é pai de uma compra de vários sellers.

Erros

StatusQuandoCorpo
400{id} igual a 0 ou vazio{"error":"invalid id parameter"}
400{id} em formato inválido (nem decimal nem UUID){"message":"Invalid id","status":400}
400(PUT) corpo que não é JSON{"message":"Invalid JSON: ...","status":400}
400(DELETE) o pedido já está cancelado ou num status que não cancela{"message":"invalid_transition: from cancelled to cancelled","status":400}
401Sem credenciais, chave inválida ou token expirado{"message":"Invalid credentials","status":401}
403Usuário que não é administrador{"message":"Forbidden: admin scope required","status":403}
404O pedido não existe, ou {id} decimal que não corresponde a nenhum registro{"message":"Order not found","status":404} ou {"message":"Not found","status":404}
405POST /api/orders/{id} e POST /api/v1.0/orders/{id}corpo vazio, cabeçalho Allow: GET, PUT, DELETE
Status e dados em chamadas separadas

Mandar status junto de outros campos faz o valor passar pela tabela antiga de 7 letras. S (enviado) ou C (entregue) viram pending e o pedido volta para pendente, sem erro. Mude o status em uma chamada própria e os dados em outra.

O DELETE cancela, não apaga

O pedido continua existindo com o status cancelado, e o estoque volta. Esta API não apaga pedidos de forma definitiva; veja Cancelar e excluir pedido.

Veja também

  • Coleção de pedidos
  • Itens, reembolso e histórico
  • Alterar o status
Anterior
Coleção de pedidos sem versão
Próxima
Itens, reembolso e histórico sem versão
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também