Cancel an order
Annule une commande ordinaire ou un lot séquentiel de 100 ID maximum appartenant au compte. Chaque commande ordinaire via l'API n'est admissible que pendant sa propre période de grâce de 15 secondes avant l'envoi.
https://notpanel.com/api/v3action=cancelapplication/x-www-form-urlencodedorder, soit des ID orders séparés par des virgules, jusqu'à 100. Le mode lot ne prolonge jamais le délai d'annulation d'une commande.Paramètres
| Nom | Type | Description |
|---|---|---|
| keyRequis | string | Votre clé API. |
| actionRequis | string | Doit être la chaîne littérale « cancel ». |
| orderConditionnel | string | Un ID numérique de commande ordinaire appartenant au compte, renvoyé par action=add. |
| ordersConditionnel | string (CSV) | ID de commandes ordinaires séparés par des virgules, 100 au maximum. La réponse conserve l'ordre d'entrée et indique la réussite ou l'erreur de chaque élément. |
Exemple de requête
Remplacez YOUR_API_KEY par la clé générée sur la page API de votre tableau de bord.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=cancel&order=7001"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",
order: "7001",
}),
});
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",
"order": "7001",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'cancel',
'order' => '7001',
]);
$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));
Exemple de réponse
{
"order": 7001,
"status": "Canceled",
"status_key": "cancelled",
"cancel": 1,
"refund": "0.50",
"refund_pending": 0
}Erreurs courantes
| Statut | Corps | Cause |
|---|---|---|
| 409 | {"error":"Cancellation window has ended or the order has already started"} | La commande ordinaire a dépassé sa fenêtre d’annulation de 15 secondes ou n’est plus en attente. La requête unitaire renvoie 409. |
| 409 | {"error":"Order is already completed"} | L’élément est déjà dans un état terminal non annulable. Une nouvelle tentative d’une annulation antérieure réussie renvoie plutôt le même résultat réussi. |
| 409 | {"error":"Order is already refunded"} | L’élément est déjà dans un état terminal non annulable. Une nouvelle tentative d’une annulation antérieure réussie renvoie plutôt le même résultat réussi. |
| 404 | {"error":"Order not found"} | Aucune commande ordinaire portant cet identifiant n'appartient à ce compte. Une requête unique renvoie 404. |
| 429 | {"error":"Rate limit exceeded for cancel"} | La limite de l’action d’annulation est atteinte. Réessayez après le délai indiqué ; la réponse est 429. |