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

ユースケース

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

API-as-a-Service

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_mode または live_mode.
eventName
string
必須
メーター設定に一致するイベント名。

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

customerId
string
必須
請求の帰属のための顧客ID。
metadata
object
エンドポイント、メソッド、ステータスコード、応答時間などのAPIコールに関するオプションのメタデータ。

バッチ設定

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

ベストプラクティス

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