توثيق API
توفر واجهة برمجة تطبيقات Giant Panda وصولاً برمجياً للتحقق من حالة النطاقات وإدارة النطاقات بالجملة وإحصائيات الأداء.
المصادقة
تستخدم واجهة API مصادقة قائمة على الرمز المميز عبر Django REST Framework. يجب أن تتضمن جميع الطلبات رمز API الخاص بك في العنوان: Authorization
Authorization: Token YOUR_API_TOKENرمز API الخاص بك متاح في لوحة تحكم Giant Panda ضمن التوثيق → المصادقة. حافظ على أمان رمزك ولا تشاركه علنياً.
استجابات الخطأ
401 Unauthorized — الرمز مفقود أو غير صالح
403 Forbidden — الرمز صالح ولكن الصلاحيات غير كافية
فحص حالة النطاق
تحقق من حالة النطاقات مقابل نظام مزود CPC الرئيسي. يدعم الطلبات الفردية والدفعية مع تخزين النتائج مؤقتاً لمدة 24 ساعة.
حدود المعدل
- 1,000 طلب في الدقيقة
- 1,000 طلب في اليوم
النتائج المخزنة مؤقتاً لا تُحتسب ضمن حدود المعدل.
طلب نطاق واحد
curl -X POST https://account.giantpanda.com/api/v1/a/fd/check/ \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"domain": "example.com",
"language": "en"
}'طلب دفعي (حتى 100 نطاق)
curl -X POST https://account.giantpanda.com/api/v1/a/fd/check/ \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"domains": [
{"domain": "example.com", "language": "en"},
{"domain": "example2.com"}
]
}'الاستجابة
{
"results": {
"example.com": {
"adult": false,
"fallListed": false,
"fallListReason": null,
"blocked": false,
"blockedReason": null,
"error": null,
"cached": true,
"cache_exp": "23h 24m"
}
},
"rate_limit": {
"remaining_minute": 998,
"remaining_day": 997,
"reset_minute": "2026-04-10T22:09:00.000Z",
"reset_day": "2026-04-10T23:00:00.000Z"
}
}إضافة نطاقات
أضف نطاقات متعددة إلى النظام عبر API. يتحقق من كل اسم نطاق ويستخرج TLD وينشئ سجلات النطاق. يتم تتبع النطاقات المكررة دون إعادة إنشائها.
الطلب
curl -X POST https://account.giantpanda.com/api/v1/domains/add/ \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"domains": [
{"name": "mydomain.com"},
{"name": "another-domain.org"}
]
}'الاستجابة
{
"created": ["mydomain.com", "another-domain.org"],
"existing": ["old.com"],
"created_count": 2,
"existing_count": 1
}ملاحظات:
- يتم تحويل أسماء النطاقات تلقائياً إلى أحرف صغيرة
- يتم رفض أسماء النطاقات غير الصالحة (بدون TLD)
- يتم التعامل مع النطاقات المكررة في الطلب بسلاسة
- يتتبع النظام النطاقات المنشأة حديثاً والموجودة مسبقاً
إحصائيات النطاق
احصل على مقاييس أداء النطاق المقسمة إلى صفحات بما في ذلك الطلبات والاستعلامات والنقرات والإيرادات وRPM وCTR. يتم تجميع النتائج حسب التاريخ واسم النطاق.
معلمات الاستعلام
| المعلمة | مطلوب | الوصف |
|---|---|---|
start_date | نعم | تاريخ البداية بصيغة YYYY-MM-DD |
end_date | نعم | تاريخ النهاية بصيغة YYYY-MM-DD |
page | لا | رقم الصفحة (الافتراضي: 1) |
page_size | لا | النتائج لكل صفحة (الافتراضي: 50) |
الطلب
curl 'https://account.giantpanda.com/api/v1/domains/stats/?start_date=2026-01-01&end_date=2026-03-31&page=1&page_size=50' \
-H 'Authorization: Token YOUR_API_TOKEN'الاستجابة
{
"start_date": "2026-01-01",
"end_date": "2026-03-31",
"stats": {
"2026-01-01": {
"example.com": {
"requests": 1000,
"queries": 800,
"clicks": 50,
"revenue": 25.50,
"rpm": 25.50,
"net": 25.50,
"ctr": 6.25
}
}
},
"pagination": {
"page": 1,
"page_size": 50,
"total_count": 100,
"total_pages": 2,
"has_next": true,
"has_previous": false
}
}ملاحظات:
- نطاق التاريخ يشمل start_date و end_date
- يتم تعديل قيم الإيرادات بناءً على معدل عمولة المستخدم
- يُحسب RPM كالتالي: (الإيرادات / الطلبات) × 1000
- يُحسب CTR كالتالي: (النقرات / الطلبات) × 100
- يتم ترتيب النتائج حسب التاريخ واسم النطاق
البدء
الوصول إلى API مُضمّن مع كل حساب Giant Panda. سجّل الدخول إلى لوحة تحكم Giant Panda. تقدم بطلب الوصول.