このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
以降のセクションで説明するように、Debug を使用して Monetization をデバッグします。
認証ポリシー フェーズのデバッグ
Apigee Monetization では、VerifyAPIKey または VerifyAccessToken ポリシーを使用してアクティブな公開料金プランを確認することで、受信リクエストが収益化可能かどうかを確認します。ポリシーの追加の詳細については、認証ポリシーの追加をご覧ください。
たとえば、次の図では、リクエスト フローにおける VerifyAPIKey ポリシー フェーズの詳細を示します。
ユーザーの認証後、VerifyAPIKey ポリシーで公開済みのすべての料金プランを確認し、有効化日時と有効期限に基づいて有効な料金プランを判別します。有効な公開済みの料金プランが見つかった場合は、次のフロー変数が設定されます。
フロー変数 | 設定 |
---|---|
mint.mintng_is_apiproduct_monetized |
有効な公開済みの料金プランが見つかった場合は true 。 |
mint.mintng_rate_plan_id |
料金プラン ID。 |
mint.rateplan_end_time_ms |
料金プランの有効期限。例: 1619433556408 |
mint.rateplan_start_time_ms |
料金プランの有効化日時。例: 1618433956209 |
有効な公開済みの料金プランが見つからない場合は、mint.mintng_is_apiproduct_monetized
フロー変数が false
に設定され、追加のフロー変数は設定されません。
詳細については、mint フロー変数をご覧ください。
MonetizationLimitsCheck ポリシー フェーズのデバッグ
Apigee Monetization では、MonetizationLimitsCheck ポリシーを使用して API プロダクトのデベロッパー サブスクリプションを強制します。ポリシーの追加について詳しくは、API プロダクトに対するデベロッパー サブスクリプションの適用をご覧ください。
たとえば、次の図では、リクエスト フローにおける MonetizationLimitsCheck ポリシー フェーズの詳細を示します。
デベロッパーが API プロダクトのサブスクリプションを購入した場合は、次のフロー変数が設定されます。
フロー変数 | 説明 |
---|---|
mint.limitscheck.is_request_blocked |
ブロックされたリクエストでは true 。 |
mint.limitscheck.is_subscription_found |
API サブスクリプションが見つかった場合は true 。 |
mint.limitscheck_purchased_product_name |
購入した API プロダクトの名前。例: MyProduct |
mint.limitscheck.status_message |
ステータス メッセージ。例: limits_check_success |
mint.prepaid_developer_balance |
料金プランの通貨に関連付けられた、デベロッパーの前払いアカウント ウォレットの現在の残高。 |
mint.prepaid_developer_currency |
mint.prepaid_developer_balance 変数で使用できる残高の通貨。 |
mint.subscription_end_time_ms |
API プロダクト サブスクリプションの終了時刻。 |
mint.subscription_start_time_ms |
API プロダクト サブスクリプションの開始時刻。例: 1618433956209 |
デベロッパーが API プロダクトのサブスクリプションを購入していない場合:
mint.limitscheck_is_subscription_found
フロー変数はfalse
に設定されますmint.limitscheck.is_request_blocked
の値はtrue
に設定されます。- 他のフロー変数は設定されません。
詳細については、mint フロー変数をご覧ください。
Quota ポリシー フェーズのデバッグ
Apigee Monetization では、Quota ポリシーを使用して、API プロダクト レベルで定義された割り当てが適用されます。割り当てでは、API プロダクトに対して一定期間内に許可されるリクエストの数が定義されます。ポリシーの追加の詳細については、API プロキシでの Monetization の割り当ての適用をご覧ください。
たとえば、次の図では、割り当てを超過したリクエスト フローの割り当てポリシー フェーズの詳細を示します。
この例では、割り当てを超過し、HTTP 429 Too Many Requests
ステータスが返され、割り当て例外の詳細を示すために ratelimit.*
フロー変数が入力されています。ratelimit.*
の説明については、割り当てポリシーのフロー変数をご覧ください。
DataCapture ポリシー フェーズのデバッグ
Apigee は、DataCapture ポリシーによってキャプチャされた Monetization 変数を使用して、レーティング、収益分配の計算、分析を行います。ポリシー内の Monetization 変数のキャプチャについて詳しくは、Monetization データのキャプチャをご覧ください。
たとえば、次の図では、レスポンス フローの DataCapture ポリシー実行フェーズの詳細を示します。
Monetization 変数のキャプチャ時にエラーがなければ、次のフロー変数がトランザクション用に設定されます。
フロー変数 | 説明 |
---|---|
mint.mintng_currency |
収益の計算に使用する通貨。 このフロー変数には、 |
mint.mintng_price |
デベロッパーに分配する料金の計算に使用する収益。 このフロー変数には、 |
mint.mintng_price_multiplier |
トランザクションごとのコストにかける係数(乗数)。 このフロー変数には、 |
mint.mintng_tx_success |
トランザクションが収益化されている場合は指定します。 このフロー変数には、 |
収益化された API プロキシ実行フェーズのデバッグ
収益化された API プロキシが正常に実行されると、Monetization の使用量に基づく料金と課金されるレートに関する情報がフロー変数のセットに設定されます。
たとえば、次の図では、変数が設定された PostClient フローのプロキシ実行フェーズの詳細を示します。
収益化された API プロキシの実行が成功すると、次のフロー変数が設定されます。
フロー変数 | 説明 |
---|---|
message.status.code |
ターゲットからのレスポンス メッセージの HTTP ステータス コード。 レスポンスにポリシーがある場合、この変数の値は、ポリシーによって返されるステータス コードでオーバーライドされます。 |
mint.limitscheck.is_request_blocked |
API リクエストがブロックされたかどうかを示すフラグ。 |
mint.mintng_consumption_pricing_rates |
料金プランに設定された従量制の料金。 |
mint.mintng_consumption_pricing_type |
料金プランに設定された従量制の料金タイプ。例: FIXED_PER_UNIT |
mint.mintng_dev_share |
デベロッパーに分配する収益。 |
mint.mintng_price_multiplier |
DataCapture ポリシーから取得された係数(乗数)。トランザクションごとのコストはこの係数で乗算されます。 |
mint.mintng_rate |
API 呼び出しに対して課金される料金。 |
mint.mintng_rate_before_multipliers |
API 呼び出しに対して課金される perUnitPriceMultiplier の計算を含まない料金。 |
mint.mintng_revenue_share_rates |
料金プランに設定された収益分配率。 |
mint.mintng_revenue_share_type |
料金プランに設定された収益分配タイプ。 |
mint.prepaid_updated_developer_usage |
前払いデベロッパーの現在の使用量。 |
mint.status |
収益化呼び出しのステータス。エラー時にのみ設定されます。 |
mint.status_code |
収益化された呼出しの HTTP ステータス コード。エラー時にのみ設定されます。 |
mint.tx_success_result |
トランザクションの収益化が成功したかどうかを示します。 |
すべての変数の詳細については、mint フロー変数をご覧ください。