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

ユースケース

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
required
ダッシュボードからのDodo Payments APIキー。
environment
string
required
環境モード:test_modeまたはlive_mode
eventName
string
required
メーター設定に一致するイベント名。

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

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

バッチ設定

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

ベストプラクティス

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