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

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

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

API-as-a-Service

تتبع الاستخدام لكل عميل لمنصات API وفرض رسوم بناءً على عدد المكالمات.

تحديد المعدل

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

مراقبة الأداء

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

SaaS متعدد المستأجرين

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

البدء السريع

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

تثبيت SDK

npm install @dodopayments/ingestion-blueprints
2

احصل على مفاتيح API الخاصة بك

3

إنشاء عداد

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

تتبع مكالمات API

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
required
مفتاح API الخاص بك من لوحة معلومات دودي للدفع.
environment
string
required
وضع البيئة: test_mode أو live_mode.
eventName
string
required
اسم الحدث الذي يتطابق مع تكوين العداد الخاص بك.

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

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

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

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

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

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