メインコンテンツへスキップ

ユースケース

API Gateway Blueprintがサポートする一般的なシナリオを探ります:

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 Name: api_call(または好みの名前)
  • Aggregation Type: count(呼び出し回数の追跡用)
  • レスポンスタイム、ステータスコードなどのメタデータを追跡する場合は追加プロパティを設定します。
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_mode または live_mode
eventName
string
必須
メーター構成と一致するイベント名。

APIコールオプションの追跡

customerId
string
必須
請求帰属用の顧客 ID。
metadata
object
エンドポイント、メソッド、ステータスコード、レスポンスタイムなどの API 呼び出しに関する任意のメタデータ。

バッチ設定

maxSize
number
自動フラッシュ前の最大イベント数。デフォルト: 100
flushInterval
number
ミリ秒単位の自動フラッシュ間隔。デフォルト: 5000(5 秒)。

ベストプラクティス

大量トラフィックにはバッチ処理を使用: 秒間 10 件以上のリクエストを処理するアプリケーションでは、オーバーヘッドを減らしパフォーマンスを向上させるために createBatch() を使用してください。
常にバッチをクリーンアップ: アプリケーション終了時に batch.cleanup() を呼び出して保留中のイベントをフラッシュし、データ損失を防止してください。