Atualizar Rastreio do Pedido
Atualiza as informações de rastreio de um pedido existente.
PATCH /sellers/orders/{uuid}/tracking/
Headers
| Header | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer mk_<env>_<token> | Sim |
Content-Type | application/json | Sim |
Parâmetros de Path
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
uuid | string (UUID) | Sim | UUID do pedido |
Body
Envie ao menos um dos campos abaixo.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tracking_code | string | Não | Código de rastreio da transportadora |
shipping_status | string | Não | Status de envio: AWAITING_SHIPMENT, SHIPPED, DELIVERED, RETURNED, LOST |
signed_by | string | null | Não | Nome de quem assinou na entrega |
Granularidade do rastreio
Os valores de tracking_code e shipping_status informados nesta chamada são aplicados a todos os itens do pedido. No detalhe do pedido (GET /sellers/orders/{uuid}/), cada item em items[] recebe os mesmos valores de tracking_code e shipping_status. Envio parcial (cada item com um código de rastreio diferente) não é suportado nesta versão.
Exemplo de Requisição
- cURL
- Python
- Node.js
curl -X PATCH https://api.somosmarcha.com/api/v1/sellers/orders/a1b2c3d4-e5f6-7890-abcd-ef1234567890/tracking/ \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tracking_code": "BR123456789BR",
"shipping_status": "SHIPPED"
}'
import os
import requests
BASE_URL = "https://api.somosmarcha.com/api/v1"
ORDER_UUID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
headers = {
"Authorization": f"Bearer {os.environ['API_KEY']}",
"Content-Type": "application/json",
}
payload = {
"tracking_code": "BR123456789BR",
"shipping_status": "SHIPPED",
}
response = requests.patch(
f"{BASE_URL}/sellers/orders/{ORDER_UUID}/tracking/",
json=payload,
headers=headers,
)
print(response.json())
const BASE_URL = "https://api.somosmarcha.com/api/v1";
const ORDER_UUID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890";
const response = await fetch(`${BASE_URL}/sellers/orders/${ORDER_UUID}/tracking/`, {
method: "PATCH",
headers: {
"Authorization": `Bearer ${process.env.API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
tracking_code: "BR123456789BR",
shipping_status: "SHIPPED",
}),
});
const data = await response.json();
console.log(data);
Resposta de Sucesso
Status: 200 OK
{
"message": "Rastreio atualizado com sucesso!"
}
Respostas de Erro
Status: 400 Bad Request — nenhum campo informado
{
"message": "Informe ao menos tracking_code, shipping_status ou signed_by.",
"data": {
"non_field_errors": ["Informe ao menos tracking_code, shipping_status ou signed_by."]
}
}
Status: 404 Not Found
{
"message": "Pedido não encontrado."
}