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 tarif berbasis penggunaan.

Performance Monitoring

Lacak waktu respons dan tingkat kesalahan bersamaan dengan data penagihan.

Multi-Tenant SaaS

Tagih pelanggan berdasarkan konsumsi API mereka di berbagai endpoint.
Ideal untuk melacak penggunaan endpoint API, pembatasan tarif, dan menerapkan penagihan API berbasis penggunaan.

Memulai dengan Cepat

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

Instal SDK

npm install @dodopayments/ingestion-blueprints
2

Dapatkan Kunci API Anda

3

Buat Meter

Buat meter di Dasbor Dodo Payments:
  • Nama Acara: api_call (atau nama yang Anda pilih)
  • Tipe Agregasi: count untuk melacak jumlah panggilan
  • Konfigurasikan properti tambahan jika melacak metadata seperti waktu respons, kode status, dll.
4

Lacak Panggilan 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
  }
});

Konfigurasi

Konfigurasi Ingesti

apiKey
string
required
Kunci API Dodo Payments Anda dari dasbor.
environment
string
required
Mode lingkungan: test_mode atau live_mode.
eventName
string
required
Nama acara yang sesuai dengan konfigurasi meter Anda.

Opsi Pelacakan Panggilan API

customerId
string
required
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 acara sebelum auto-flush. Default: 100.
flushInterval
number
Interval auto-flush dalam milidetik. Default: 5000 (5 detik).

Praktik Terbaik

Gunakan Pengelompokan 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 aplikasi dimatikan untuk mengflush acara yang tertunda dan mencegah kehilangan data.