Skip to main content

はじめに

メタデータを使用すると、システムの注文 ID や CRM 参照情報など、独自のキーと値のデータを Dodo Payments オブジェクトに保存できます。支払い、サブスクリプション、顧客、商品など、ほとんどのオブジェクトにメタデータを付加できます。完全な一覧については、サポート対象オブジェクト を参照してください。

概要

メタデータには次のルールがあります。
  • メタデータキーは最大40文字です(POST /events/ingest を通じて取り込まれる使用量イベントの場合は最大100文字です)。
  • メタデータ値には、文字列、整数、数値、またはブール値を指定できます。文字列値は最大500文字です。
  • オブジェクト、配列、および null は、メタデータ値として受け付けられません。
  • オブジェクトごとに最大50個のメタデータのキーと値のペアを追加できます。これを超えるリクエストは、MAXIMUM_KEYS_REACHED エラーコードを返します。
  • APIではメタデータによる検索やフィルタリングはできませんが、APIレスポンスとWebhookにはメタデータが含まれます。

ユースケース

メタデータを使用して、次のことができます。
  • 外部 ID や参照情報を保存する。
  • 社内メモを追加する。
  • Dodo Payments オブジェクトをシステム内のレコードに関連付ける。
  • トランザクションを分類する。
  • レポート用のカスタム属性を追加する。

メタデータの追加

API を通じてオブジェクトを作成または更新するときに、メタデータを追加します。商品については、ダッシュボードからメタデータを追加することもできます。

API 経由

リクエスト本文に metadata オブジェクトを渡します。以下の例では TypeScript SDK を使用し、初期化済みの client を前提としています。

ダッシュボード UI 経由(商品のみ)

コードを記述せずに商品へメタデータを追加するには、Products で商品を開き、メタデータセクションにキーと値のペアを追加します。商品を作成または編集するときに操作できます。
Dodo Payments ダッシュボードの商品メタデータセクション
API を扱わないチームメンバーは、商品カテゴリなどの商品メタデータをダッシュボードで管理できます。

メタデータの取得

オブジェクトを取得すると、API レスポンスにメタデータが含まれます。
チェックアウトセッション(GET /checkouts/{id})を取得しても、metadata は返されません。セッションステータスのレスポンスには、id、created_at、payment_id、payment_status、customer_email、customer_name のみが含まれます。セッションの作成時に付加したメタデータを読み取るには、返された payment_id を使用して、生成された支払いを取得します。

検索とフィルタリング

API ではメタデータによる検索はできません。メタデータの値を使ってオブジェクトを検索するには、次の手順を実行します。
  1. 重要な識別子をメタデータに保存します。
  2. API を通じてオブジェクトを一覧表示または取得します。
  3. アプリケーションコードで結果をフィルタリングします。

ベストプラクティス

メタデータを有効に活用するため、次のガイドラインに従ってください。

推奨事項:

  • メタデータキーには一貫した命名規則を使用する。
  • メタデータスキーマを社内で文書化する。
  • 値は短く、意味のあるものにする。
  • メタデータは静的なデータにのみ使用する。
  • ソースシステムを示すプレフィックスの使用を検討する。例: crm_id や inventory_sku。

非推奨事項:

  • 機密データをメタデータに保存しない。
  • 頻繁に変更される値にメタデータを使用しない。
  • 重要なビジネスロジックをメタデータに依存しない。
  • オブジェクトにすでに含まれている情報を重複して保存しない。
  • メタデータキーに特殊文字を使用しない。

サポート対象オブジェクト

次のオブジェクトがメタデータをサポートしています。

Webhook とメタデータ

Webhook ペイロードにはオブジェクトのメタデータが含まれるため、Webhook ハンドラーでイベントを独自のレコードに対応付けることができます。
最終更新日 2026年9月26日