الانتقال إلى المحتوى الرئيسي

حالات الاستخدام

استكشف السيناريوهات الشائعة المدعومة من API Gateway Blueprint:

API-as-a-Service

تتبع الاستخدام لكل عميل لمنصات واجهة برمجة التطبيقات وفرض رسوم استنادًا إلى عدد المكالمات.

Rate Limiting

راقب أنماط استخدام API ونفذ تقييدًا حسب الاستخدام.

Performance Monitoring

تتبع أوقات الاستجابة ومعدلات الأخطاء جنبًا إلى جنب مع بيانات الفوترة.

Multi-Tenant SaaS

فوترة العملاء بناءً على استهلاكهم لواجهة برمجة التطبيقات عبر نقاط نهاية مختلفة.
مثالي لتتبع استخدام نقاط نهاية واجهة برمجة التطبيقات، وتقييد المعدل، وتنفيذ فوترة API بناءً على الاستخدام.

البدء السريع

تتبع مكالمات API على مستوى البوابة مع التجميع التلقائي للسيناريوهات عالية الحجم:
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

أنشئ عدادًا في لوحة تحكم Dodo Payments:
  • Event Name: api_call (أو الاسم الذي تفضله)
  • Aggregation Type: count لمتابعة عدد المكالمات
  • قم بتكوين خصائص إضافية إذا كنت تتتبع بيانات وصفية مثل أوقات الاستجابة، رموز الحالة، إلخ.
4

Track API Calls

import { Ingestion, trackAPICall } from '@dodopayments/ingestion-blueprints';

const ingestion = new Ingestion({
  apiKey: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
  eventName: 'api_call'
});

// Track a single API call
await trackAPICall(ingestion, {
  customerId: 'customer_123',
  metadata: {
    endpoint: '/api/v1/users',
    method: 'GET',
    status_code: 200,
    response_time_ms: 45
  }
});

التكوين

تكوين الإدخال

apiKey
string
مطلوب
مفتاح Dodo Payments API الخاص بك من لوحة التحكم.
environment
string
مطلوب
وضع البيئة: test_mode أو live_mode.
eventName
string
مطلوب
اسم الحدث الذي يتطابق مع تكوين العداد الخاص بك.

خيارات تتبع مكالمات API

customerId
string
مطلوب
معرّف العميل لنسب الفوترة.
metadata
object
بيانات وصفية اختيارية حول استدعاء API مثل نقطة النهاية، الطريقة، رمز الحالة، وقت الاستجابة، إلخ.

تكوين التجميع

maxSize
number
الحد الأقصى لعدد الأحداث قبل التفريغ التلقائي. الافتراضي: 100.
flushInterval
number
الفاصل الزمني للتفريغ التلقائي بالمللي ثانية. الافتراضي: 5000 (5 ثوانٍ).

أفضل الممارسات

استخدم التجميع للحجم الكبير: للتطبيقات التي تتعامل مع أكثر من 10 طلبات في الثانية، استخدم createBatch() لتقليل التحميل وتحسين الأداء.
احرص دائمًا على تنظيف الدُفعات: اتصل بـ batch.cleanup() عند إيقاف التطبيق لتفريغ الأحداث المعلقة ومنع فقدان البيانات.