Chuyển đến nội dung chính

Trường Hợp Sử Dụng

Khám phá các kịch bản phổ biến được hỗ trợ bởi API Gateway Blueprint:

API-as-a-Service

Theo dõi mức sử dụng theo từng khách hàng cho nền tảng API và tính phí dựa trên số lần gọi.

Rate Limiting

Giám sát mô hình sử dụng API và triển khai giới hạn tốc độ theo mức sử dụng.

Performance Monitoring

Theo dõi thời gian phản hồi và tỷ lệ lỗi cùng với dữ liệu thanh toán.

Multi-Tenant SaaS

Tính phí khách hàng dựa trên mức tiêu thụ API của họ qua các điểm cuối khác nhau.
Lý tưởng để theo dõi mức sử dụng endpoint API, giới hạn tốc độ và triển khai thanh toán API theo mức sử dụng.

Bắt Đầu Nhanh

Theo dõi các cuộc gọi API ở cấp cổng với việc tự động nhóm cho các kịch bản có khối lượng lớn:
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Tạo một đồng hồ (meter) trong Dodo Payments Dashboard:
  • Event Name: api_call (hoặc tên bạn ưu tiên)
  • Aggregation Type: count để theo dõi số lần gọi
  • Cấu hình các thuộc tính bổ sung nếu bạn theo dõi siêu dữ liệu như thời gian phản hồi, mã trạng thái, v.v.
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
  }
});

Cấu Hình

Cấu Hình Nhập Dữ Liệu

apiKey
string
bắt buộc
Khóa API Dodo Payments của bạn từ bảng điều khiển.
environment
string
bắt buộc
Chế độ môi trường: test_mode hoặc live_mode.
eventName
string
bắt buộc
Tên sự kiện khớp với cấu hình meter của bạn.

Tùy Chọn Theo Dõi Cuộc Gọi API

customerId
string
bắt buộc
ID khách hàng để phân bổ thanh toán.
metadata
object
Siêu dữ liệu tùy chọn về cuộc gọi API như endpoint, phương thức, mã trạng thái, thời gian phản hồi, v.v.

Cấu Hình Nhóm

maxSize
number
Số lượng sự kiện tối đa trước khi tự động xả. Mặc định: 100.
flushInterval
number
Khoảng thời gian tự động xả tính bằng mili giây. Mặc định: 5000 (5 giây).

Thực Hành Tốt Nhất

Sử dụng Gộp Lô cho Lưu lượng Lớn: Đối với các ứng dụng xử lý hơn 10 yêu cầu mỗi giây, hãy dùng createBatch() để giảm tài nguyên và cải thiện hiệu suất.
Luôn Dọn Dẹp Các Lô: Gọi batch.cleanup() khi ứng dụng tắt để xả các sự kiện đang chờ và ngăn mất dữ liệu.