تقرير لوحة المعلومات - طلبات API الموحدة

هذا هو إصدار SQL لتقرير لوحة المعلومات لطلبات واجهة برمجة التطبيقات المجمعة.

يوضح هذا التقرير إحصائيات استخدام واجهة برمجة التطبيقات حسب التاريخ، ويتتبع كلاً من طلبات واجهة برمجة التطبيقات العادية وطلبات واجهة برمجة التطبيقات للمستخدم. يساعدك هذا التقرير على مراقبة أنماط استخدام واجهة برمجة التطبيقات على مثيل Discourse الخاص بك بمرور الوقت. يميز بين طلبات واجهة برمجة التطبيقات العادية وطلبات واجهة برمجة التطبيقات للمستخدم، ويعرض كلاهما بشكل منفصل مع العدد الإجمالي المجمع.

يتم الحصول على البيانات من جدول application_requests الذي يتتبع أنواع الطلبات المختلفة عبر النظام. بالنسبة لاستخدام واجهة برمجة التطبيقات، نركز على أنواع الطلبات 11 (واجهة برمجة تطبيقات عادية) و 12 (واجهة برمجة تطبيقات للمستخدم).

-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2025-12-31

SELECT 
  ar.date,
  -- API requests
  SUM(CASE WHEN ar.req_type = 11 THEN ar.count ELSE 0 END) AS api,
  SUM(CASE WHEN ar.req_type = 12 THEN ar.count ELSE 0 END) AS user_api,
  -- Total API requests
  SUM(CASE WHEN ar.req_type IN (11, 12) THEN ar.count ELSE 0 END) AS total_api_requests
FROM 
  application_requests ar
WHERE 
  ar.date BETWEEN :start_date AND :end_date
GROUP BY 
  ar.date
ORDER BY 
  ar.date DESC

المعلمات:

  • يقبل الاستعلام معلمتين، :start_date و :end_date، اللتين تحددان النطاق الزمني للتقرير. تقبل كلتا معلمتي التاريخ تنسيق التاريخ YYYY-MM-DD.

النتائج

  • date: تاريخ عدد الطلبات
  • api: عدد طلبات واجهة برمجة التطبيقات العادية (req_type = 11)
  • user_api: عدد طلبات واجهة برمجة التطبيقات للمستخدم (req_type = 12)
  • total_api_requests: مجموع جميع طلبات واجهة برمجة التطبيقات

ما الفرق بين طلبات واجهة برمجة التطبيقات العادية وطلبات واجهة برمجة التطبيقات للمستخدم؟

  • طلبات واجهة برمجة التطبيقات العادية (req_type = 11): هذه هي استدعاءات واجهة برمجة التطبيقات التي يتم إجراؤها على النظام والتي لا تتطلب مصادقة المستخدم. وهي تشمل نقاط نهاية واجهة برمجة التطبيقات العامة، وتكاملات النظام، أو خدمات الطرف الثالث التي تصل إلى البيانات العامة.
  • طلبات واجهة برمجة التطبيقات للمستخدم (req_type = 12): هذه هي استدعاءات واجهة برمجة التطبيقات التي يتم إجراؤها مع مصادقة المستخدم، وتمثل عادةً الإجراءات التي يتم تنفيذها نيابة عن مستخدمين محددين وتتطلب استخدام مفتاح واجهة برمجة التطبيقات.

نتائج مثال

date api user_api total_api_requests
2023-09-15 34,582 7,249 41,831
2023-09-14 32,104 6,893 38,997
2023-09-13 33,756 7,122 40,878
2023-09-12 35,122 8,562 43,684
2023-09-11 36,475 9,234 45,709
2023-09-10 12,563 3,298 15,861
2023-09-09 10,782 2,982 13,764
2023-09-08 33,892 7,456 41,348
2023-09-07 31,765 7,120 38,885
2023-09-06 32,451 7,321 39,772
6 إعجابات