Cancel an order
Membatalkan satu pesanan biasa atau batch berurutan berisi hingga 100 ID milik akun. Setiap pesanan biasa melalui API hanya memenuhi syarat selama jendela tenggangnya sendiri selama 15 detik sebelum pengiriman.
https://notpanel.com/api/v3action=cancelapplication/x-www-form-urlencodedorder atau ID orders yang dipisahkan koma, hingga 100. Mode batch tidak pernah memperpanjang jendela pembatalan pesanan.Parameter
| Nama | Tipe | Deskripsi |
|---|---|---|
| keyWajib | string | API key Anda. |
| actionWajib | string | Harus berupa string literal "cancel". |
| orderKondisional | string | Satu ID numerik pesanan biasa milik akun yang dikembalikan oleh action=add. |
| ordersKondisional | string (CSV) | ID pesanan biasa yang dipisahkan koma, maksimal 100. Respons mempertahankan urutan masukan dan mengembalikan hasil berhasil atau kesalahan per item. |
Contoh request
Ganti YOUR_API_KEY dengan key yang dibuat di halaman API dashboard Anda.
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));
Contoh response
{
"order": 7001,
"status": "Canceled",
"status_key": "cancelled",
"cancel": 1,
"refund": "0.50",
"refund_pending": 0
}Error umum
| Status | Body | Penyebab |
|---|---|---|
| 409 | {"error":"Cancellation window has ended or the order has already started"} | Order biasa telah melewati cancellation window 15 detik atau tidak lagi pending. Request tunggal mengembalikan 409. |
| 409 | {"error":"Order is already completed"} | Item sudah berada dalam state terminal yang tidak dapat dibatalkan. Retry pembatalan yang sebelumnya sukses akan mengembalikan hasil sukses yang sama. |
| 409 | {"error":"Order is already refunded"} | Item sudah berada dalam state terminal yang tidak dapat dibatalkan. Retry pembatalan yang sebelumnya sukses akan mengembalikan hasil sukses yang sama. |
| 404 | {"error":"Order not found"} | Tidak ada pesanan biasa dengan pengenal tersebut yang dimiliki akun ini. Permintaan tunggal mengembalikan 404. |
| 429 | {"error":"Rate limit exceeded for cancel"} | Batas action pembatalan tercapai. Retry setelah jeda yang dilaporkan; response adalah 429. |