تحافظ API v3 على عقد key + action المألوف مع استجابات JSON. يستطيع عميل إعادة البيع الحالي تغيير عنوان URL الأساسي مباشرةً؛ أما حقول وإجراءات v3 المتقدمة فهي امتدادات اختيارية.
تسجيل مجاني عبر /register — بالبريد الإلكتروني أو Google OAuth. لا حاجة إلى بطاقة ائتمان لتوليد مفتاح API، بل فقط لتمويل المحفظة لتقديم طلبات فعلية.
بعد تسجيل الدخول، توجّه إلى /dashboard/api. انقر على "Generate key" وانسخ القيمة الخام — فهي تُعرض مرة واحدة، ولن تظهر مجددًا. إن فقدتها، فأبطلها وأنشئ مفتاحًا جديدًا. يمكن لكل مستخدم الاحتفاظ بما يصل إلى 5 مفاتيح نشطة.
تشترك جميع مفاتيحك في الحد الفعلي لطلبات الحساب في الدقيقة. يحدد الإنفاق الناجح مدى الحياة المستوى التلقائي، وقد تنطبق أيضًا حدود IP والإجراء — راجع حدود المعدل.
لسهولة التوافق، يعيد action=services مصفوفة مخزنة مؤقتًا للخدمات النشطة مع السعر الخاص بالحساب والحد الأدنى والأقصى وأعلام القدرات. استخدم action=catalog عندما تحتاج إلى صفحات أو بحث أو توافر أو بيانات المنصة والفئة أو حقول حداثة البيانات. استبدل YOUR_API_KEY بالمفتاح من الخطوة 2.
# 1. List active catalog services
curl -X POST https://notpanel.com/api/v3 \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "key=YOUR_API_KEY&action=services"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: "services",
}),
});
const services = await res.json();
console.log(`Found ${services.length} services`);import requests
res = requests.post(
"https://notpanel.com/api/v3",
data={"key": "YOUR_API_KEY", "action": "services"},
)
services = res.json()
print(f"Found {len(services)} services")<?php
$body = http_build_query([
'key' => 'YOUR_API_KEY',
'action' => 'services',
]);
$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,
],
]));
$services = json_decode($response, true);
echo "Found " . count($services) . " services\n";
هل تحتاج أسماء يفهمها مستخدمو منطقتك بصورة طبيعية؟ أضف language=ar (أو en أو es أو pt أو ru أو tr أو hi أو id أو fr أو zh) إلى services أو catalog. تُراجع الأسماء باستخدام مصطلحات سوقية منتقاة وفق الاستخدام الحقيقي للسوق، وتبقى العلامات معروفة، وتوضح الاستجابة اللغة المستخدمة فعليًا. اترك المعامل دون إرسال للحفاظ على بنية الإنجليزية القديمة. يمكن للمشرفين مراجعة كل اسم أو تحسينه.
اختر service، موّل المحفظة، ثم استدعِ action=add مع حقول نوع الخدمة. يمكن للعملاء القدامى إرسال الطلب المألوف دون تغيير. لإعادة محاولة دقيقة، أضف اختياريًا request_id فريدًا بطول لا يتجاوز 128 محرفًا. راجع تقديم الطلب للاطلاع على قائمة المعاملات الكاملة.
استقصِ الحالة للطلبات الفردية أو الدُّفعات حتى 100 معرّف. للتكاملات المدفوعة بالأحداث، سجّل webhook للأحداث الستة المدعومة: order.completed وorder.partial وorder.processing وorder.in_progress وorder.refunded وorder.refill_completed. التسليم بأفضل جهد مع إعادة المحاولة؛ وفّق الحالة المهمة باستخدام action=status.
غيّر عنوان URL الأساسي واحتفظ باستدعاءات key + action المألوفة. تعمل services وadd وstatus وbalance وrefill وrefill_status وcancel مباشرةً. استخدم catalog وrefund_quote والمفاتيح الدقيقة والدفعات والويب هوك الموقّع عند الحاجة.