跳转到主要内容

用例

探索 API 网关蓝图支持的常见场景:

API-as-a-Service

跟踪每位客户在 API 平台上的使用情况,并根据调用次数收费。

Rate Limiting

监控 API 使用模式并实施基于使用的速率限制。

Performance Monitoring

与计费数据一起跟踪响应时间和错误率。

Multi-Tenant SaaS

根据客户在不同端点上的 API 消费向其计费。
非常适合跟踪 API 端点使用情况、速率限制以及实现基于使用的 API 计费。

快速开始

在网关级别跟踪 API 调用,适用于高流量场景的自动批处理:
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Dodo Payments Dashboard 中创建一个计量器:
  • Event Nameapi_call(或您喜欢的名称)
  • Aggregation Typecount(用于跟踪调用次数)
  • 如果要跟踪响应时间、状态码等元数据,请配置额外属性。
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_modelive_mode
eventName
string
必填
与您的计量器配置匹配的事件名称。

跟踪 API 调用选项

customerId
string
必填
用于计费归因的客户 ID。
metadata
object
有关 API 调用的可选元数据,如端点、方法、状态码、响应时间等。

批处理配置

maxSize
number
自动刷新前的最大事件数。默认值:100
flushInterval
number
自动刷新间隔(毫秒)。默认值:5000(5 秒)。

最佳实践

高流量时使用批处理:对于每秒处理超过 10 个请求的应用,请使用 createBatch() 以减少开销并提升性能。
始终清理批处理:在应用关闭时调用 batch.cleanup() 以刷新挂起事件并防止数据丢失。