Atualizar status
curl --request PATCH \
--url https://apiv3.usecorvex.com.br/api/v1/orders/{orderId}/status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Store-Id: <x-store-id>' \
--data '
{
"status": "SHIPPED",
"notes": "Saiu para entrega hoje"
}
'const options = {
method: 'PATCH',
headers: {
'X-Store-Id': '<x-store-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: 'SHIPPED', notes: 'Saiu para entrega hoje'})
};
fetch('https://apiv3.usecorvex.com.br/api/v1/orders/{orderId}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://apiv3.usecorvex.com.br/api/v1/orders/{orderId}/status"
payload = {
"status": "SHIPPED",
"notes": "Saiu para entrega hoje"
}
headers = {
"X-Store-Id": "<x-store-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"success": true,
"data": {
"order": {
"id": "66666666-6666-4666-8666-666666666666",
"storeId": "11111111-1111-4111-8111-111111111111",
"status": "SHIPPED",
"total": 99.9,
"subtotal": 99.9,
"discount": null,
"currency": "BRL",
"paymentMethod": "pix",
"installments": 1,
"notes": null,
"customer": {
"name": "Ana Silva",
"email": "ana@example.com",
"phone": "11999999999",
"documentType": "cpf",
"documentNumber": "12345678901"
},
"shippingAddress": {
"street": "Rua das Flores",
"number": "100",
"neighborhood": "Centro",
"city": "São Paulo",
"state": "SP",
"zipcode": "01001000"
},
"shipping": {
"name": "PAC",
"price": 12.5,
"carrier": "correios",
"turnaround": "5 a 8 dias úteis"
},
"tracking": {
"code": "AB123456789BR",
"url": "https://rastreio.example.com/AB123456789BR",
"status": "in_transit",
"statusLabel": "Em trânsito",
"updatedAt": "2026-09-24T14:00:00.000Z"
},
"items": [
{
"id": "99999999-9999-4999-8999-999999999999",
"name": "Camiseta Preta",
"quantity": 1,
"price": 99.9,
"image": "https://cdn.example.com/camiseta-preta.png",
"variantId": null
}
],
"createdAt": "2026-09-24T14:00:00.000Z",
"updatedAt": "2026-09-24T14:00:00.000Z",
"statusLabel": "Enviado",
"tags": {
"ids": [
"entrega.em_transporte"
],
"invoicing": [],
"delivery": [
"entrega.em_transporte"
],
"custom": []
}
}
}
}{
"success": false,
"error": {
"message": "X-Store-Id deve ser um UUID válido",
"code": "VALIDATION_ERROR"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 400
}
}{
"success": false,
"error": {
"message": "Esta rota exige uma API Key. Use Authorization: Bearer cvx_live_...",
"code": "AUTH_API_KEY_REQUIRED"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 401
}
}{
"success": false,
"error": {
"message": "Sua API Key não tem o escopo necessário para esta operação.",
"code": "AUTH_SCOPE_DENIED"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 403
}
}{
"success": false,
"error": {
"message": "Recurso não encontrado",
"code": "RESOURCE_NOT_FOUND"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 404
}
}{
"success": false,
"error": {
"message": "Transição de status inválida: PAID → PENDING",
"code": "INVALID_STATUS_TRANSITION",
"details": {
"currentStatus": "PAID",
"attemptedStatus": "PENDING",
"allowedStatuses": [
"SHIPPED",
"DELIVERED",
"CANCELLED",
"REFUNDED"
]
}
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 409
}
}{
"success": false,
"message": "Muitas requisições. Tente novamente em instantes.",
"error": "RATE_LIMITED",
"retryAfter": 12
}Pedidos
Atualizar status
Mesma regra do painel. notes vira uma linha de observação no pedido. PAID → SHIPPED também aplica a tag entrega.em_transporte.
PATCH
/
api
/
v1
/
orders
/
{orderId}
/
status
Atualizar status
curl --request PATCH \
--url https://apiv3.usecorvex.com.br/api/v1/orders/{orderId}/status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Store-Id: <x-store-id>' \
--data '
{
"status": "SHIPPED",
"notes": "Saiu para entrega hoje"
}
'const options = {
method: 'PATCH',
headers: {
'X-Store-Id': '<x-store-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: 'SHIPPED', notes: 'Saiu para entrega hoje'})
};
fetch('https://apiv3.usecorvex.com.br/api/v1/orders/{orderId}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://apiv3.usecorvex.com.br/api/v1/orders/{orderId}/status"
payload = {
"status": "SHIPPED",
"notes": "Saiu para entrega hoje"
}
headers = {
"X-Store-Id": "<x-store-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"success": true,
"data": {
"order": {
"id": "66666666-6666-4666-8666-666666666666",
"storeId": "11111111-1111-4111-8111-111111111111",
"status": "SHIPPED",
"total": 99.9,
"subtotal": 99.9,
"discount": null,
"currency": "BRL",
"paymentMethod": "pix",
"installments": 1,
"notes": null,
"customer": {
"name": "Ana Silva",
"email": "ana@example.com",
"phone": "11999999999",
"documentType": "cpf",
"documentNumber": "12345678901"
},
"shippingAddress": {
"street": "Rua das Flores",
"number": "100",
"neighborhood": "Centro",
"city": "São Paulo",
"state": "SP",
"zipcode": "01001000"
},
"shipping": {
"name": "PAC",
"price": 12.5,
"carrier": "correios",
"turnaround": "5 a 8 dias úteis"
},
"tracking": {
"code": "AB123456789BR",
"url": "https://rastreio.example.com/AB123456789BR",
"status": "in_transit",
"statusLabel": "Em trânsito",
"updatedAt": "2026-09-24T14:00:00.000Z"
},
"items": [
{
"id": "99999999-9999-4999-8999-999999999999",
"name": "Camiseta Preta",
"quantity": 1,
"price": 99.9,
"image": "https://cdn.example.com/camiseta-preta.png",
"variantId": null
}
],
"createdAt": "2026-09-24T14:00:00.000Z",
"updatedAt": "2026-09-24T14:00:00.000Z",
"statusLabel": "Enviado",
"tags": {
"ids": [
"entrega.em_transporte"
],
"invoicing": [],
"delivery": [
"entrega.em_transporte"
],
"custom": []
}
}
}
}{
"success": false,
"error": {
"message": "X-Store-Id deve ser um UUID válido",
"code": "VALIDATION_ERROR"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 400
}
}{
"success": false,
"error": {
"message": "Esta rota exige uma API Key. Use Authorization: Bearer cvx_live_...",
"code": "AUTH_API_KEY_REQUIRED"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 401
}
}{
"success": false,
"error": {
"message": "Sua API Key não tem o escopo necessário para esta operação.",
"code": "AUTH_SCOPE_DENIED"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 403
}
}{
"success": false,
"error": {
"message": "Recurso não encontrado",
"code": "RESOURCE_NOT_FOUND"
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 404
}
}{
"success": false,
"error": {
"message": "Transição de status inválida: PAID → PENDING",
"code": "INVALID_STATUS_TRANSITION",
"details": {
"currentStatus": "PAID",
"attemptedStatus": "PENDING",
"allowedStatuses": [
"SHIPPED",
"DELIVERED",
"CANCELLED",
"REFUNDED"
]
}
},
"meta": {
"timestamp": "2026-09-24T14:00:00.000Z",
"status": 409
}
}{
"success": false,
"message": "Muitas requisições. Tente novamente em instantes.",
"error": "RATE_LIMITED",
"retryAfter": 12
}Authorizations
API Key no formato cvx_live_..., criada no painel Corvex. Não use JWT de sessão nem x-api-key.
Headers
UUID da loja. A chave precisa ter esta loja autorizada.
Path Parameters
Body
application/json
Response
Status atualizado.