الطلبات
حالة الطلب
يعيد الحالة الحالية لطلب واحد أو لما يصل إلى 100 طلب بالصيغة القياسية، إضافة إلى حقول واضحة: المبلغ المسترد، والسبب، وهل الإلغاء أو إعادة التعبئة ممكنة الآن. تغذّي الصيغة نفسها order_details والـ webhooks، لذا فهي متطابقة دائمًا.
https://notpanel.com/api/v3action=status- مفتاح API مطلوب
- تجاوز حد الطلبات
- الجسم:
application/x-www-form-urlencoded
المعاملات
يُرسل دائمًا
keystringمطلوب- مفتاح API الخاص بك.
actionstringمطلوبstatusيجب أن يكون السلسلة النصية الحرفية "status".
أرسل order أو orders.
orderintegerأحد هذه- رقم طلب واحد. ما زال يمكن قراءة الطلبات المقدمة قبل 2026-08-25 بالمعرّف الذي كان لها حينها؛ ويستخدم الردّ رقم الطلب.
ordersstring (CSV)أحد هذه- حتى 100 من أرقام الطلبات مفصولة بفواصل. عند إرسال الاثنين تكون الأولوية لـ
orders.
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=status&order=1234568"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: "status",
order: "1234568",
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={
"key": "YOUR_API_KEY",
"action": "status",
"order": "1234568",
},
)
print(res.json())<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'status',
'order' => '1234568',
]);
$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.
{
"charge": "0.87",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD",
"order": 1234568,
"status_key": "partial",
"refund": "0.13",
"reason_code": "partially_delivered",
"reason": "Part of the order was delivered. The rest was refunded.",
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": true,
"refill_available_at": null,
"updated_at": "2026-10-03T12:00:00Z"
}الأخطاء
- 400
{"error":"Missing required parameter: order","error_code":"MISSING_PARAMETER","retryable":false,"details":{"param":"order"}}لم يُرسل order ولا orders.
- 400
{"error":"Maximum 100 IDs per request","error_code":"TOO_MANY_IDS","retryable":false}أكثر من 100 من أرقام الطلبات في orders.
- 404
{"error":"Order not found","error_code":"ORDER_NOT_FOUND","retryable":false}الطلب غير موجود أو يخص حسابًا آخر. تعطي الحالتان الجواب نفسه.
حقول الردّ
تحتفظ الحقول الخمسة الأولى بالصيغة القياسية التي تقرؤها سكربتات اللوحات، ويكرر order الرقم. أما الباقي فإضافات.
حقول الاستجابة
chargestring- ما يكلفك الطلب الآن بالدولار الأمريكي، كسلسلة نصية. وهو صافٍ بعد أي مبلغ مسترد.
start_countstring- العدد عند بدء التسليم، أو
"0"عندما لا يكون معروفًا. statusstring- كلمة الحالة. انظر قيم الحالة.
remainsstring- الكمية التي لم تُسلَّم بعد. الطلب المكتمل يعرض دائمًا
"0". currencystring- دائمًا
USD. orderinteger- رقم الطلب.
status_keystring- صيغة ثابتة بأحرف صغيرة للحالة، للاستخدام في المنطق البرمجي.
refundstring- الأموال المعادة إلى محفظتك عن هذا الطلب كنص؛
0.00عندما لم يُرد شيء. reason_codestring | null- سبب انتهاء الطلب على هذا النحو، أو
null. انظر رموز الأسباب. reasonstring | null- جملة إنجليزية ثابتة لـ
reason_code، أوnull. can_cancelbooleantrueعندما يكون الإلغاء ممكنًا الآن، فوريًا أو كطلب.cancel_availablebooleantrueما دام يمكن إلغاء الطلب الآن مع استرداد كامل: في الثواني الأولى بعد إنشائه، أو ما دام ينتظر ولم يُرسل بعد.cancel_statestring | nullrequestedأوrefusedبعد طلب إلغاء، وإلاnull.can_refillbooleantrueعندما يمكن طلب إعادة التعبئة الآن.refill_available_atstring | null- متى تصبح إعادة التعبئة التالية ممكنة، أو
null. updated_atstring- متى تغيّر الطلب آخر مرة.
قيم الحالة
- Pending
status_key=pendingPending— مقبول ولم يُرسل بعد. خلال أول 15 ثانية يمكن إلغاء الطلب مجانًا. - Processing
status_key=processingProcessing— أُرسل وينتظر بدء التسليم. الطلب الذي لم يتأكد إرساله يظهر أيضًا قيد المعالجة. - In progress
status_key=in_progressتم التأكيد، والتسليم جارٍ.
- Completed
status_key=completedCompleted— سُلِّم بالكامل. قيمةremainsدائمًا"0". - Partial
status_key=partialPartial— سُلِّم جزء من الطلب وأُعيد الباقي. قد تكون إعادة التعبئة متاحة. - Canceled
status_key=cancelledCanceled— لن يُسلَّم شيء آخر وأُعيد المبلغ كاملًا أو جزئيًا. يوضحreason_codeالسبب.
رموز الأسباب
عندما ينتهي طلب مبكرًا، يوضح reason_code السبب ويحمل reason الجملة الثابتة. المال موجود في refund وليس في الجملة أبدًا. عامل أي رمز غير معروف على أنه سبب عام: قد تُضاف رموز جديدة.
رموز الأسباب وجُملها
customer_canceled- You canceled this order. The charge was refunded.
canceled_on_request- Canceled at your request. The charge was refunded.
canceled_on_request_partial- Canceled at your request. Part of the order was delivered. The rest was refunded.
canceled_overdue- Canceled because it took too long. The charge was refunded.
delivery_canceled- This order was canceled. The charge was refunded.
partially_delivered- Part of the order was delivered. The rest was refunded.
link_invalid- The link is wrong or private. The charge was refunded.
link_busy- This link already had an active order. The charge was refunded.
service_unavailable- The service was not available. The charge was refunded.
quantity_rejected- The quantity was not accepted. The charge was refunded.
details_rejected- The order details were not accepted. The charge was refunded.
price_changed- The price changed before the order started. The charge was refunded.
start_failed- The order could not be started. The charge was refunded.
not_started_in_time- The order could not be started in time. The charge was refunded.
admin_refund- Refunded by support.
admin_completed- Marked completed by support.
legacy_canceled- Canceled.
legacy_refunded- Refunded.
المبالغ المستردة والمبلغ المخصوم
key=YOUR_API_KEY&action=status&order=1234569{
"charge": "0.00",
"start_count": "0",
"status": "Canceled",
"remains": "1000",
"currency": "USD",
"order": 1234569,
"status_key": "cancelled",
"refund": "1.20",
"reason_code": "customer_canceled",
"reason": "You canceled this order. The charge was refunded.",
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": false,
"refill_available_at": null,
"updated_at": "2026-10-03T10:00:09Z"
}عدة طلبات دفعة واحدة
مع orders يكون الردّ كائنًا مفهرسًا بكل معرّف مطلوب. يحصل كل معرّف إما على كائن الحالة أو على كائن خطأ، وتبقى حالة HTTP هي 200. حتى 100 معرّفًا في الطلب الواحد.
key=YOUR_API_KEY&action=status&orders=1234567,1234568,999{
"999": {
"error": "Order not found",
"error_code": "ORDER_NOT_FOUND",
"retryable": false
},
"1234567": {
"charge": "1.20",
"start_count": "3572",
"status": "Completed",
"remains": "0",
"currency": "USD",
"order": 1234567,
"status_key": "completed",
"refund": "0.00",
"reason_code": null,
"reason": null,
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": false,
"refill_available_at": "2026-10-03T18:35:00Z",
"updated_at": "2026-10-03T12:35:00Z"
},
"1234568": {
"charge": "0.87",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD",
"order": 1234568,
"status_key": "partial",
"refund": "0.13",
"reason_code": "partially_delivered",
"reason": "Part of the order was delivered. The rest was refunded.",
"can_cancel": false,
"cancel_available": false,
"cancel_state": null,
"can_refill": true,
"refill_available_at": null,
"updated_at": "2026-10-03T12:00:00Z"
}
}