الطلبات
إلغاء طلب
إجراء واحد يلغي أي طلب. خلال أول 15 ثانية يكون الإلغاء فوريًا ويُسترد كل شيء. بعد ذلك يصبح طلبًا حيث تدعم الخدمة ذلك. أرسل order للحصول على كائن واحد، أو orders للحصول على مصفوفة فيها مدخل واحد لكل طلب.
https://notpanel.com/api/v3action=cancel- مفتاح API مطلوب
- تجاوز حد الطلبات
- الجسم:
application/x-www-form-urlencoded
المعاملات
يُرسل دائمًا
keystringمطلوب- مفتاح API الخاص بك.
actionstringمطلوبcancelيجب أن يكون السلسلة النصية الحرفية "cancel".
أرسل order أو orders.
orderintegerأحد هذه- رقم طلب واحد.
ordersstring (CSV)أحد هذه- حتى 100 من أرقام الطلبات مفصولة بفواصل. يحسب الإلغاء معرّفات الطلبات: 30 في الدقيقة لكل حساب.
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));
استبدل YOUR_API_KEY بالمفتاح من صفحة 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
}
}
]الأخطاء
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}أكثر من 100 من أرقام الطلبات في orders.
- 429
{"error":"Rate limit exceeded","error_code":"API_RATE_LIMITED","retryable":true,"retry_after":12}أكثر من 30 من معرّفات الطلبات في دقيقة واحدة. انتظر وفق Retry-After.
ما يمكن أن يقوله المدخل
تعود المداخل بالترتيب الذي أرسلتها به. مشكلة في طلب واحد لا توقف الباقي أبدًا.
الإجابات
canceledstate: "canceled"معrefund. أُلغي الطلب فورًا وأُعيد المبلغ بالكامل: كان ضمن أول 15 ثانية، أو لم يكن قد أُرسل بعد.requestedstate: "requested". سُجّل طلب إلغاء وأُرسل. يستمر الطلب حتى تقرر الخدمة، ويُجرى أي استرداد تلقائيًا.asked_againstate: "requested"مرة أخرى. سألت خلال 10 دقيقة من آخر إجابة، فتُعاد الإجابة المحفوظة ولا يُسأل أحد مجددًا. بعد 10 دقيقة يُرسل الطلب مرة أخرى.CANCEL_REFUSED- رفضت الخدمة. يبيّن
retry_afterوdetails.timeمتى يمكنك السؤال مجددًا. CANCEL_NOT_AVAILABLE- لا يمكن إلغاء هذا الطلب، مثلًا لأن الخدمة لا تدعم طلبات الإلغاء.
ORDER_FINISHED- انتهى الطلب بالفعل.
ORDER_NOT_FOUND- لا يوجد مثل هذا الطلب في حسابك.
الإلغاء الفوري
خلال أول 15 ثانية بعد إنشاء الطلب، يمكن إلغاء أي طلب مع استرداد كامل أيًّا كانت الخدمة. والطلب المنتظر الذي لم يُرسل قط يمكن إلغاؤه فورًا في أي وقت أيضًا. الاسترداد جزء من المدخل.
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
}طلبات الإلغاء
بعد النافذة المجانية يصبح الإلغاء طلبًا. ولا يعمل إلا للخدمات التي تكون قيمة cancel فيها true في القائمة، وما دام الطلب قيد المعالجة أو التنفيذ. يُسترد تلقائيًا كل ما لم يُسلَّم بعد، ويعرض status القيمتين can_cancel و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
}أخطاء الإلغاء
مع order تكون هذه هي الردّ كاملًا، مع حالة HTTP الخاصة بها. ومع orders تظهر داخل مداخل المصفوفة، وفقط TOO_MANY_IDS يُفشل الطلب كله.
- 404
ORDER_NOT_FOUND
Order not foundلا يوجد طلب بهذا الرقم يخص حسابك. صحّح الطلب أولًا.
- 409
ORDER_FINISHED
Order is already {status}انتهى الطلب بالفعل. صحّح الطلب أولًا.
- 409
CANCEL_NOT_AVAILABLE
Cancel is not available for this orderلا يمكن إلغاء هذا الطلب. صحّح الطلب أولًا.
- 409
CANCEL_REFUSED
The order could not be canceled. You can ask again after {time}.رُفض طلب الإلغاء. يمكنك السؤال مجددًا بعد المدة المذكورة في details.time. قد تفيد إعادة المحاولة.
- 400
TOO_MANY_IDS
Maximum 100 IDs per requestتحتوي قائمة على معرّفات أكثر مما يستطيع طلب واحد حمله. صحّح الطلب أولًا.