Pedidos
Cancelar un pedido
Una sola acción cancela cualquier pedido. Durante los primeros 15 segundos la cancelación es instantánea y reembolsa todo. Después se convierte en una solicitud donde el servicio lo admite. Envía order para recibir un objeto, o orders para recibir un array con una entrada por pedido.
https://notpanel.com/api/v3action=cancel- Clave de API requerida
- Límite de solicitudes superado
- Cuerpo:
application/x-www-form-urlencoded
Parámetros
Siempre se envía
keystringObligatorio- Tu clave de API.
actionstringObligatoriocancelDebe ser la cadena literal "cancel".
Envía order u orders.
orderintegerUno de estos- Un número de pedido.
ordersstring (CSV)Uno de estos- Hasta 100 números de pedido separados por comas. Cancel cuenta los ID de pedido: 30 por minuto y cuenta.
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));
Sustituye YOUR_API_KEY por la clave de tu 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
}
}
]Errores
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}Más de 100 números de pedido en orders.
- 429
{"error":"Rate limit exceeded","error_code":"API_RATE_LIMITED","retryable":true,"retry_after":12}Más de 30 ID de pedido en un minuto. Espera según Retry-After.
Qué puede decir una entrada
Las entradas vuelven en el orden en que las enviaste. Un problema con un pedido nunca detiene a los demás.
Respuestas
canceledstate: "canceled"conrefund. El pedido se canceló de inmediato y se reembolsó por completo: estaba dentro de los primeros 15 segundos o todavía no se había enviado.requestedstate: "requested". Se registró y se envió una solicitud de cancelación. El pedido sigue en curso hasta que el servicio decida, y cualquier reembolso se hace automáticamente.asked_againstate: "requested"otra vez. Preguntaste dentro de los 10 minutos de la última respuesta, así que se devuelve la respuesta guardada y no se vuelve a preguntar. Pasados 10 minutos, la solicitud se envía de nuevo.CANCEL_REFUSED- El servicio dijo que no.
retry_afterydetails.timeindican cuándo puedes volver a preguntar. CANCEL_NOT_AVAILABLE- Este pedido no se puede cancelar, por ejemplo porque el servicio no admite solicitudes de cancelación.
ORDER_FINISHED- El pedido ya ha terminado.
ORDER_NOT_FOUND- No existe ese pedido en tu cuenta.
Cancelación instantánea
Durante los primeros 15 segundos después de crearlo, cualquier pedido se puede cancelar con reembolso completo, sea cual sea el servicio. Un pedido que está en espera y nunca se envió también se puede cancelar al instante en cualquier momento. El reembolso forma parte de la 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
}Solicitudes de cancelación
Pasada la ventana gratuita, la cancelación es una solicitud. Solo funciona en los servicios cuyo cancel es true en la lista, y solo mientras el pedido está en procesamiento o en curso. Todo lo que no se haya entregado se reembolsa automáticamente, y status muestra can_cancel y 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
}Errores de cancelación
Con order estos errores son la respuesta completa, con su estado HTTP. Con orders aparecen dentro de las entradas del array, y solo TOO_MANY_IDS hace fallar toda la solicitud.
- 404
ORDER_NOT_FOUND
Order not foundNingún pedido con este número pertenece a tu cuenta. Corrige primero la solicitud.
- 409
ORDER_FINISHED
Order is already {status}El pedido ya ha terminado. Corrige primero la solicitud.
- 409
CANCEL_NOT_AVAILABLE
Cancel is not available for this orderNo es posible cancelar este pedido. Corrige primero la solicitud.
- 409
CANCEL_REFUSED
The order could not be canceled. You can ask again after {time}.Se rechazó la solicitud de cancelación. Puedes volver a pedirlo pasado el tiempo de details.time. Reintentar puede servir.
- 400
TOO_MANY_IDS
Maximum 100 IDs per requestUna lista contiene más ID de los que puede llevar una solicitud. Corrige primero la solicitud.