跳转到主要内容

用例

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

API 即服务

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

速率限制

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

性能监控

跟踪响应时间和错误率以及计费数据。

多租户 SaaS

根据客户在不同端点的 API 消耗进行计费。
非常适合跟踪 API 端点使用情况、速率限制和实施基于使用情况的 API 计费。

快速开始

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

安装 SDK

npm install @dodopayments/ingestion-blueprints
2

获取您的 API 密钥

3

创建计量器

在您的 Dodo Payments Dashboard 中创建计量器:
  • 事件名称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
您从仪表板获取的 Dodo Payments API 密钥。
environment
string
required
环境模式:test_modelive_mode
eventName
string
required
与您的计量器配置匹配的事件名称。

跟踪 API 调用选项

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

批处理配置

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

最佳实践

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