Commandes
Annuler une commande
Une seule action annule n'importe quelle commande. Pendant les 15 premières secondes, l'annulation est instantanée et rembourse tout. Ensuite, elle devient une demande lorsque le service le permet. Envoyez order pour recevoir un objet, ou orders pour recevoir un tableau avec une entrée par commande.
https://notpanel.com/api/v3action=cancel- Clé d'API requise
- Limite de requêtes atteinte
- Corps :
application/x-www-form-urlencoded
Paramètres
Toujours envoyé
keystringRequis- Votre clé API.
actionstringRequiscancelDoit être la chaîne littérale « cancel ».
Envoyez order ou orders.
orderintegerL'un de ceux-ci- Un numéro de commande.
ordersstring (CSV)L'un de ceux-ci- Jusqu'à 100 numéros de commande séparés par des virgules. Cancel compte les ID de commande : 30 par minute et par compte.
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));
Remplacez YOUR_API_KEY par la clé de votre page 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
}
}
]Erreurs
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}Plus de 100 numéros de commande dans orders.
- 429
{"error":"Rate limit exceeded","error_code":"API_RATE_LIMITED","retryable":true,"retry_after":12}Plus de 30 ID de commande en une minute. Attendez selon Retry-After.
Ce qu'une entrée peut indiquer
Les entrées reviennent dans l'ordre où vous les avez envoyées. Un problème sur une commande n'arrête jamais les autres.
Réponses
canceledstate: "canceled"avecrefund. La commande a été annulée immédiatement et intégralement remboursée : elle était dans les 15 premières secondes, ou n'avait pas encore été envoyée.requestedstate: "requested". Une demande d'annulation a été enregistrée et envoyée. La commande continue jusqu'à ce que le service décide, et tout remboursement est fait automatiquement.asked_againstate: "requested"de nouveau. Vous avez demandé dans les 10 minutes suivant la dernière réponse : la réponse enregistrée est renvoyée et rien n'est redemandé. Après 10 minutes, la demande est renvoyée.CANCEL_REFUSED- Le service a refusé.
retry_afteretdetails.timeindiquent quand vous pouvez redemander. CANCEL_NOT_AVAILABLE- Cette commande ne peut pas être annulée, par exemple parce que le service ne prend pas en charge les demandes d'annulation.
ORDER_FINISHED- La commande est déjà terminée.
ORDER_NOT_FOUND- Cette commande n'existe pas sur votre compte.
Annulation instantanée
Pendant les 15 premières secondes après la création, toute commande peut être annulée avec remboursement intégral, quel que soit le service. Une commande en attente qui n'a jamais été envoyée peut aussi être annulée instantanément à tout moment. Le remboursement fait partie de l'entrée.
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
}Demandes d'annulation
Après la fenêtre gratuite, l'annulation est une demande. Elle ne fonctionne que pour les services dont cancel vaut true dans la liste, et seulement tant que la commande est en traitement ou en cours. Tout ce qui n'est pas encore livré est remboursé automatiquement, et status affiche can_cancel et 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
}Erreurs d'annulation
Avec order, elles forment toute la réponse, avec leur statut HTTP. Avec orders, elles apparaissent à l'intérieur des entrées du tableau, et seul TOO_MANY_IDS fait échouer toute la requête.
- 404
ORDER_NOT_FOUND
Order not foundAucune commande portant ce numéro n'appartient à votre compte. Corrigez d'abord la requête.
- 409
ORDER_FINISHED
Order is already {status}La commande est déjà terminée. Corrigez d'abord la requête.
- 409
CANCEL_NOT_AVAILABLE
Cancel is not available for this orderL'annulation n'est pas possible pour cette commande. Corrigez d'abord la requête.
- 409
CANCEL_REFUSED
The order could not be canceled. You can ask again after {time}.La demande d'annulation a été refusée. Vous pouvez redemander après le délai indiqué dans details.time. Réessayer peut aider.
- 400
TOO_MANY_IDS
Maximum 100 IDs per requestUne liste contient plus d'ID qu'une requête ne peut en porter. Corrigez d'abord la requête.