跳转到主要内容

用例

探索 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
必填
您从仪表板获取的 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() 以刷新待处理事件并防止数据丢失。