Atualizar um pedido
Altera o status, os produtos ou os dados do cliente de um pedido existente, com notificações por e-mail opcionais.
Para atualizar um pedido existente, envie uma requisição PUT ao endpoint com o id do pedido na URL, por exemplo PUT /api/orders/98. Inclua os detalhes do pedido no corpo da requisição HTTP, de acordo com o Content-Type que você informar. Nenhum campo é obrigatório: envie só o que você quer mudar.
Esta é também a única forma de mudar o status de um pedido, porque um pedido recém-criado é sempre O (Aberto). As seções abaixo mostram as três atualizações mais comuns: o status, os produtos e os dados do cliente junto com o total do pedido.
/api/orders/{order_id}AdminAtualizar um pedido existente
Parâmetros de caminho
order_idintegerobrigatórioCorpo da requisição
statusstringP.notify_userstring1notify_departmentstring1notify_vendorstring1productsobjecttotalstringuser_dataobjectemail, b_firstname, b_lastname, s_firstname e s_lastname.Mudar o status e avisar por e-mail
Por padrão, mudar o status de um pedido pela API não envia notificações por e-mail. Você pode usar estas flags opcionais de notificação.
| Parâmetro | Tipo | Descrição |
|---|---|---|
notify_user | string | Use "1" para enviar uma notificação ao cliente |
notify_department | string | Use "1" para enviar uma notificação ao departamento de pedidos |
notify_vendor | string | Use "1" para enviar uma notificação ao vendedor |
Esta requisição define o status do pedido como P (Processado) e envia notificações por e-mail ao cliente, ao vendedor e ao departamento de pedidos.
curl -X PUT -u "$EMAIL:$API_KEY" "$BASE_URL/api/orders/98" \
-H "Content-Type: application/json" \
-d '{
"status": "P",
"notify_user": "1",
"notify_department": "1",
"notify_vendor": "1"
}'Mudar os produtos de um pedido
Esta requisição altera os produtos do pedido. O pedido original tinha um produto com product_id=12 e dois produtos com product_id=13. Depois da atualização, o pedido passa a ter um produto com product_id=12 e um produto com product_id=241. O produto 241 também tem variantes de opção selecionadas: a variante 44 da opção 12 e a variante 48 da opção 13.
curl -X PUT -u "$EMAIL:$API_KEY" "$BASE_URL/api/orders/98" \
-H "Content-Type: application/json" \
-d '{
"products": {
"1": {
"product_id": "12",
"amount": "1"
},
"3": {
"product_id": "241",
"amount": "1",
"product_options": {
"12": "44",
"13": "48"
}
}
}
}'Mudar os dados do cliente e o total do pedido
Esta requisição troca o nome do cliente, nos endereços de cobrança e de entrega, para John Doe, troca o e-mail do cliente para customer@example.com e define o total do pedido como $100 (supondo que o USD seja a moeda principal da sua loja).
curl -X PUT -u "$EMAIL:$API_KEY" "$BASE_URL/api/orders/98" \
-H "Content-Type: application/json" \
-d '{
"total": "100",
"user_data": {
"email": "customer@example.com",
"b_firstname": "John",
"b_lastname": "Doe",
"s_firstname": "John",
"s_lastname": "Doe"
}
}'Formato da resposta
Resposta de sucesso (200 OK)
{
"order_id": "98"
}Códigos de status da resposta
| Código de status | Descrição |
|---|---|
200 OK | Pedido atualizado com sucesso |
400 Bad Request | Parâmetros da requisição inválidos |
404 Not Found | Não existe pedido com o id informado |