Pedidos
Cancelar um pedido
Uma única ação cancela qualquer pedido. Nos primeiros 15 segundos o cancelamento é instantâneo e reembolsa tudo. Depois disso, vira uma solicitação onde o serviço aceita. Envie order para receber um objeto, ou orders para receber um array com uma entrada por pedido.
https://notpanel.com/api/v3action=cancel- Chave de API obrigatória
- Limite de requisições atingido
- Corpo:
application/x-www-form-urlencoded
Parâmetros
Sempre enviado
keystringObrigatório- Sua chave de API.
actionstringObrigatóriocancelDeve ser a string literal "cancel".
Envie order ou orders.
orderintegerUm destes- Um número de pedido.
ordersstring (CSV)Um destes- Até 100 números de pedido separados por vírgula. Cancel conta IDs de pedido: 30 por minuto por conta.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=cancel&orders=1,2,3"const res = await fetch("https://notpanel.com/api/v3", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
key: "YOUR_API_KEY",
action: "cancel",
orders: "1,2,3",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "cancel",
"orders": "1,2,3",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'cancel',
'orders' => '1,2,3',
]);
$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
'content' => $body,
'ignore_errors' => true,
],
]));
print_r(json_decode($response, true));
Substitua YOUR_API_KEY pela chave da sua página de API.
[
{
"order": 1,
"cancel": 1,
"state": "canceled",
"refund": "1.20"
},
{
"order": 2,
"cancel": 1,
"state": "requested"
},
{
"order": 3,
"cancel": {
"error": "Cancel is not available for this order",
"error_code": "CANCEL_NOT_AVAILABLE",
"retryable": false
}
}
]Erros
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}Mais de 100 números de pedido em orders.
- 429
{"error":"Rate limit exceeded","error_code":"API_RATE_LIMITED","retryable":true,"retry_after":12}Mais de 30 IDs de pedido em um minuto. Aguarde conforme Retry-After.
O que uma entrada pode dizer
As entradas voltam na ordem em que você as enviou. Um problema com um pedido nunca interrompe os outros.
Respostas
canceledstate: "canceled"comrefund. O pedido foi cancelado na hora e reembolsado por completo: estava dentro dos primeiros 15 segundos, ou ainda não tinha sido enviado.requestedstate: "requested". Uma solicitação de cancelamento foi registrada e enviada. O pedido continua em andamento até o serviço decidir, e qualquer reembolso é feito automaticamente.asked_againstate: "requested"de novo. Você perguntou dentro de 10 minutos da última resposta, então a resposta salva é retornada e nada é perguntado outra vez. Após 10 minutos, a solicitação é enviada de novo.CANCEL_REFUSED- O serviço disse não.
retry_afteredetails.timeinformam quando você pode perguntar de novo. CANCEL_NOT_AVAILABLE- Este pedido não pode ser cancelado, por exemplo porque o serviço não aceita solicitações de cancelamento.
ORDER_FINISHED- O pedido já terminou.
ORDER_NOT_FOUND- Esse pedido não existe na sua conta.
Cancelamento instantâneo
Durante os primeiros 15 segundos após a criação, todo pedido pode ser cancelado com reembolso total, seja qual for o serviço. Um pedido que está aguardando e nunca foi enviado também pode ser cancelado na hora a qualquer momento. O reembolso faz parte da entrada.
key=YOUR_API_KEY&action=cancel&order=1234574{
"order": 1234574,
"status": "Canceled",
"status_key": "cancelled",
"cancel": 1,
"state": "canceled",
"refund": "1.20",
"refund_pending": 0
}Solicitações de cancelamento
Depois da janela gratuita, o cancelamento é uma solicitação. Só funciona em serviços cujo cancel é true na lista, e só enquanto o pedido está em processamento ou em andamento. Tudo o que ainda não foi entregue é reembolsado automaticamente, e status mostra can_cancel e cancel_state.
key=YOUR_API_KEY&action=cancel&order=1234576{
"error": "The order could not be canceled. You can ask again after 2026-10-03T10:10:00.000Z.",
"error_code": "CANCEL_REFUSED",
"retryable": true,
"details": {
"time": "2026-10-03T10:10:00.000Z"
},
"retry_after": 540
}Erros de cancelamento
Com order, estes erros são a resposta inteira, com o seu status HTTP. Com orders, aparecem dentro das entradas do array, e só TOO_MANY_IDS faz a requisição inteira falhar.
- 404
ORDER_NOT_FOUND
Order not foundNenhum pedido com este número pertence à sua conta. Corrija a requisição primeiro.
- 409
ORDER_FINISHED
Order is already {status}O pedido já terminou. Corrija a requisição primeiro.
- 409
CANCEL_NOT_AVAILABLE
Cancel is not available for this orderNão é possível cancelar este pedido. Corrija a requisição primeiro.
- 409
CANCEL_REFUSED
The order could not be canceled. You can ask again after {time}.A solicitação de cancelamento foi recusada. Você pode pedir de novo depois do tempo em details.time. Tentar de novo pode ajudar.
- 400
TOO_MANY_IDS
Maximum 100 IDs per requestUma lista contém mais IDs do que uma requisição pode levar. Corrija a requisição primeiro.