Langsung ke konten utama

Kasus Penggunaan

Jelajahi skenario umum yang didukung oleh API Gateway Blueprint:

API-as-a-Service

Lacak penggunaan per pelanggan untuk platform API dan kenakan biaya berdasarkan jumlah panggilan.

Rate Limiting

Pantau pola penggunaan API dan terapkan pembatasan laju berbasis pemakaian.

Performance Monitoring

Lacak waktu respons dan tingkat kesalahan bersama data penagihan.

Multi-Tenant SaaS

Tagih pelanggan berdasarkan konsumsi API mereka di berbagai endpoint.
Ideal untuk melacak penggunaan endpoint API, pembatasan laju, dan penerapan penagihan API berbasis pemakaian.

Memulai dengan Cepat

Lacak panggilan API di tingkat gateway dengan pengelompokan otomatis untuk skenario volume tinggi:
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Buat meter di Dodo Payments Dashboard:
  • Nama Peristiwa: api_call (atau nama pilihan Anda)
  • Jenis Pengagregasian: count untuk melacak jumlah panggilan
  • Konfigurasikan properti tambahan jika melacak metadata seperti waktu respons, kode status, dll.
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
  }
});

Konfigurasi

Konfigurasi Ingesti

apiKey
string
wajib
Kunci API Dodo Payments Anda dari dashboard.
environment
string
wajib
Mode lingkungan: test_mode atau live_mode.
eventName
string
wajib
Nama peristiwa yang sesuai dengan konfigurasi meter Anda.

Opsi Pelacakan Panggilan API

customerId
string
wajib
ID pelanggan untuk atribusi penagihan.
metadata
object
Metadata opsional tentang panggilan API seperti endpoint, metode, kode status, waktu respons, dll.

Konfigurasi Batch

maxSize
number
Jumlah maksimum peristiwa sebelum auto-flush. Default: 100.
flushInterval
number
Interval auto-flush dalam milidetik. Default: 5000 (5 detik).

Praktik Terbaik

Gunakan Batching untuk Volume Tinggi: Untuk aplikasi yang menangani lebih dari 10 permintaan per detik, gunakan createBatch() untuk mengurangi overhead dan meningkatkan kinerja.
Selalu Bersihkan Batch: Panggil batch.cleanup() saat penutupan aplikasi untuk mengosongkan peristiwa yang tertunda dan mencegah kehilangan data.