レポートの管理

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご覧ください。
情報

はじめに

収益化レポートを使用すると、主な使用状況情報とトランザクション アクティビティにアクセスできます。たとえば、特定の期間にトランザクション アクティビティがあったアプリケーション、デベロッパー、API プロダクト バンドル、API プロダクトを特定できます。収益化により、API の使用状況を追跡する概要レポートまたは詳細レポートを生成できます。

収益化レポートの種類

次のタイプの収益化レポートを生成できます。

レポート 説明
請求 特定の請求月のデベロッパーのアクティビティを表示し、料金プランが正しく適用されていることを確認します。
プリペイド残高 前払いデベロッパーが請求月または現在開いている月に行った残高補充を表示して、決済代行業者から受信した支払いと調整できます。
収益 特定の期間内にデベロッパーで発生したアクティビティと収益を表示します。これにより、デベロッパー(とそのアプリケーション)全体での API プロダクト バンドルとプロダクトのパフォーマンスを分析できます。
バリアンス

2 つの期間でデベロッパーのアクティビティと収益を比較することで、デベロッパー(とそのアプリケーション)全体の API パッケージやプロダクトのパフォーマンスの増減を分析できます。

データの保持について

Apigee Edge パブリック クラウドでは、収益化データの保持がプランの資格です。収益化の利用資格については、https://cloud.google.com/apigee/specsheets をご覧ください。収益化データを利用資格期間を超えて保持する場合は、Apigee の営業担当者にお問い合わせください。延長データ保持はリクエスト時に有効になります。元のデータ保持期間より前のデータを含めるために遡及的に有効にすることはできません。

重複する取引について

収益化のトランザクション レポートとアナリティクスのデータを比較すると、少数のトランザクションの重複に気付く場合があります。収益化システムは毎日数百万のトランザクションを処理し、任意の時点で多くのトランザクションを並行して処理できるため、これは想定された動作です。平均で、約 0.1% のトランザクションが重複している可能性があります。

収益化レポートページの詳細

次の手順で [収益化レポート] ページにアクセスします。

Edge

Edge UI を使用して [レポート] ページにアクセスするには:

  1. apigee.com/edge にログインします。
  2. 左側のナビゲーション バーで [公開] > [収益化] > [レポート] を選択します。

[レポート] ページが表示されます。

上の図に示すように、[Reports] ページでは次のことができます。

Classic Edge(プライベート クラウド)

Classic Edge UI を使用して [レポート] ページにアクセスするには:

  1. http://ms-ip:9000 にログインします。ここで、ms-ip は Management Server ノードの IP アドレスまたは DNS 名です。
  2. 上部のナビゲーション バーで [Monetization] > [Monetization Reports] を選択します。

[レポート] ページが表示されます。

レポートの構成

以下のセクションで説明するように、UI を使用してレポートを構成します。

レポートの設定手順

Edge UI または Classic Edge UI を使用してレポートを構成します。

Edge

Edge UI を使用してレポートを構成するには:

  1. 左側のナビゲーション バーで [公開] > [収益化] > [レポート] を選択します。
  2. [+ レポート] をクリックします。
  3. 次の表で定義されているレポートの詳細を構成します。
    項目 説明
    名前 レポートの一意の名前。
    説明 レポートの説明。
    レポートタイプ 収益化レポートの種類をご覧ください。
  4. 以下のセクションの説明に沿って、選択したレポートタイプに基づいて、レポートの残りの詳細を構成します。
  5. レポート ウィンドウに情報を入力すると、次のことが可能になります。
    • [レポートを保存] をクリックして、レポート構成を保存します。
    • 詳細レポートのみの場合、[ジョブを送信] をクリックしてレポートを非同期で実行し、後で結果を取得します。詳しくは、レポートの生成とダウンロードをご覧ください。

    • [Save as CSV] または [Save as Zip] をクリックして、生成されたレポートをカンマ区切り値(CSV)または CSV を含む圧縮 zip ファイルとしてローカルマシンにダウンロードします。サイズの大きいレポートには ZIP ダウンロードをおすすめします。より効率的にダウンロードできます。

Classic Edge(プライベート クラウド)

Classic Edge UI を使用してレポートを作成するには:

  1. 上部のナビゲーション バーで [Monetization] > [Monetization Reports] を選択します。
  2. プルダウン メニューで、作成するレポートのタイプを選択します。収益化レポートの種類をご覧ください。
  3. [+ レポート] をクリックします。
  4. 以下のセクションで説明するように、選択した請求タイプに基づいてレポートの詳細を構成します。
  5. レポート ウィンドウに情報を入力すると、次のことが可能になります。
    • [名前を付けて保存] をクリックしてレポートの構成を保存し、後でレポートをダウンロードします。
    • 詳細レポートのみの場合、[ジョブを送信] をクリックしてレポートを無条件に実行し、後で結果を取得します。詳しくは、レポートの生成とダウンロードをご覧ください。

    • [CSV 形式でダウンロード] をクリックしてレポートを生成し、カンマ区切り値(CSV)ファイルとしてローカルマシンにダウンロードして表示します。

請求レポートの構成

レポートを設定する手順に沿って、レポートページに次の情報を入力します。

項目 説明
請求月

レポートの請求月。

レポートレベル

レポートレベル。有効な値は次のとおりです。

  • 詳細: 各トランザクションが 1 行に 1 つずつ表示され、料金プランが正しく適用されたことを確認できます。要約はありません。
  • 概要: 各 API プロダクトとデベロッパーの合計収益を集計します。
プロダクト バンドル

: Classic Edge UI では、API プロダクト バンドルは API パッケージと呼ばれます。

レポートに含める API プロダクト バンドルを選択します。何も選択されていない場合は、すべての API プロダクトのバンドルがレポートに含まれます。

レポートには、選択した API プロダクトのバンドルごとに 1 行が表示されます。

概要レポートでは、必要に応じて概要表示オプションで [表示しない] をオンにできます。この場合、レポートにはすべての(または選択した)API プロダクト バンドルの情報が集計されます(API プロダクト バンドルごとに情報は表示されません)。

商品

レポートに含める API プロダクトを選択します。何も選択しないと、すべての API プロダクトがレポートに含まれます。

レポートには、選択した API プロダクトごとに個別の行が表示されます。

概要レポートでは、必要に応じて概要表示オプションで [表示しない] をオンにできます。この場合、レポートにはすべての(または選択した)デベロッパーの情報が集計されます(選択したデベロッパーの情報が個別にリストされるわけではありません)。

会社

レポートに含める会社を選択します。何も選択しないと、すべての会社がレポートに含まれます。

料金プラン

レポートに含める料金プラン。次の中から 1 つ選択してください。

  • すべての料金プラン: レポートにすべての料金プランを含めます。
  • 標準料金プラン: レポートに標準料金プランのみを含めます。
  • デベロッパー固有の料金プラン: デベロッパー プランのみをレポートに含めます。

前払い残高レポートの構成

レポートを設定する手順に沿って、レポートページに次の情報を入力します。

項目 説明
請求月

レポートの請求月。

レポートレベル

レポートレベル。有効な値は次のとおりです。

  • 詳細: 補充された残高を個別に表示し、決済代行業者から受け取った支払いを調整できます。
  • 概要: 各デベロッパーの残高補充の合計の概要が表示されます。
会社

レポートに含める会社を選択します。何も選択しないと、すべての会社がレポートに含まれます。

収益レポートの構成

レポートを設定する手順に沿って、レポートページに次の情報を入力します。

項目 説明
期間(日)

レポートの期間。次の中から 1 つ選択してください。

  • プリセット: プルダウン メニューから標準の期間([先月 1 か月] など)のいずれかを選択します。
  • カスタム: カレンダーのポップアップから期間の開始日と終了日を選択します。
通貨の選択

レポートの通貨。有効な値は次のとおりです。

  • 現地通貨: レポートの各行は、該当する料金プランを使用して表示されます。つまり、デベロッパーがさまざまな通貨を使用するプランがある場合は、1 つのレポートに複数の通貨が存在する可能性があります。
  • ユーロ: レポートの現地通貨取引はユーロに換算されて表示されます。
  • 英国ポンド: レポートの現地通貨取引はポンドに換算されて表示されます。
  • 米ドル: レポートの現地通貨取引はドルに換算されて表示されます。
レポートレベル

レポートレベル。有効な値は次のとおりです。

  • 詳細: 各取引が 1 行に 1 つずつ表示されます。要約はありません。
  • 概要: 選択したパラメータに応じて、各 API プロダクトとデベロッパーの合計収益を要約します。
プロダクト バンドル

: Classic Edge UI では、API プロダクト バンドルは API パッケージと呼ばれます。

レポートに含める API プロダクト バンドルを選択します。何も選択されていない場合は、すべての API プロダクトのバンドルがレポートに含まれます。

レポートには、選択した API プロダクトのバンドルごとに 1 行が表示されます。

概要レポートでは、必要に応じて概要表示オプションで [表示しない] をオンにできます。この場合、レポートにはすべての(または選択した)API プロダクト バンドルの情報が集計されます(API プロダクト バンドルごとに情報は表示されません)。

商品

レポートに含める API プロダクトを選択します。何も選択しないと、すべての API プロダクトがレポートに含まれます。

レポートには、選択した API プロダクトごとに個別の行が表示されます。

概要レポートでは、必要に応じて概要表示オプションで [表示しない] をオンにできます。この場合、レポートにはすべての(または選択した)デベロッパーの情報が集計されます(選択したデベロッパーの情報が個別にリストされるわけではありません)。

会社

レポートに含める会社を選択します。何も選択しないと、すべての会社がレポートに含まれます。

概要レポートでは、必要に応じて [概要表示オプション] セクションで [表示しない] をオンにできます。この場合、レポートにはすべての(または選択した)会社の情報が集計されます(選択した各会社の情報が個別にリストされるわけではありません)。

アプリ

レポートに含めるアプリケーションを選択してください。何も選択しないと、すべてのアプリケーションがレポートに含まれます。

レポートには、選択したアプリケーションごとに 1 行が表示されます。

概要レポートでは、必要に応じて [概要表示オプション] セクションで [表示しない] をオンにできます。この場合、レポートにはすべての(または選択した)アプリケーションの情報が集計されます(選択したアプリケーションごとに情報が集計されることはありません)。

概要表示オプション

列がグループ化されてレポートに表示される順序。グループ内のそのセクションの相対的な順序を示す番号を選択します(1 が最初のグループです)。次の例では、レポートはパッケージ、プロダクト、デベロッパー、アプリケーション別にグループ化されます。

セクションを表示しない場合は、[表示しない] を選択して残りのフィールドを順番に選択します。この順序は、1 つのセクションの相対的な順序を変更したり、レポート内にセクションを表示しないようにしたりすると、自動的に更新されます。

収益概要レポートにカスタム トランザクション属性を追加

トランザクション記録ポリシーを使用すると、トランザクションからカスタム属性データを取得できます。また、それらのカスタム属性を収益概要レポートに組み込むことができます。組織の MINT.SUMMARY_CUSTOM_ATTRIBUTES プロパティを設定して、収益化データベース テーブルに含まれるカスタム属性のデフォルト セットを定義します。

この機能を使用するには、ある程度の検討と計画が必要となるため、以下の検討事項を確認してください。

クラウドをご利用のお客様は、Apigee Edge サポートに連絡してプロパティの設定を依頼してください。Apigee Edge for Private Cloud をご利用の場合は、システム管理者の認証情報を使用して次の API に PUT リクエストを使用し、このフラグを設定します。

curl -u email:password -X PUT -H "Content-type:application/xml" http://host:port/v1/o/{myorg} -d \
"<Organization type="trial" name="MyOrganization">
    <Properties>
        <Property name="features.isMonetizationEnabled">true</Property>
        <Property name="MINT.SUMMARY_CUSTOM_ATTRIBUTES">[&quot;partner_id&quot;,&quot;tax_source&quot;]</Property>
        <Property name="features.topLevelDevelopersAreCompanies">false</Property>
    </Properties>
</Organization>"

この例では、API 呼び出しによって機能が有効になり、partner_id 列と tax_source 列が収益化データベースに追加されます。API 呼び出しのカスタム属性の配列は URL エンコードされているので注意してください。

レポートにカスタム トランザクション属性を含める際の考慮事項

  • API で属性を作成する前に、使用する属性名を確認してください。これらはデータベース内の列名であり、カスタム属性データは常にそこに保存されます。
  • 次の図に示すように、トランザクション記録ポリシーごとに 10 個のカスタム属性スロットを使用できます。レポートに含める商品全体で、同じ属性にはまったく同じ属性名と位置を使用します。たとえば、次のトランザクション記録ポリシーでは、partner_idtax_source のカスタム属性がそれぞれボックス 4 と 5 を占めています。これは、レポートに含めるプロダクトのすべてのトランザクション記録ポリシーにおける名前と位置である必要があります。

機能を有効にした後、収益の概要レポートにカスタム属性を含めるには、transactionCustomAttributesMintCriteria に追加して、Report API を使用します。条件の設定オプションをご覧ください。

バリアンス レポートの構成(非推奨)

レポートを設定する手順に沿って、レポートページに次の情報を入力します。

項目 説明
期間(日)

レポートの期間。次の中から 1 つ選択してください。

  • プリセット: プルダウン メニューから標準の期間([先月 1 か月] など)のいずれかを選択します。
  • カスタム: カレンダーのポップアップから期間の開始日と終了日を選択します。
パッケージ

レポートに含める API パッケージ。次の中から 1 つ選択してください。

  • すべて: レポートにすべての API パッケージが含まれます。
  • Selected: レポートに含める API パッケージを選択できるリストが表示されます。パッケージを選択しないと、すべてのパッケージがレポートに含まれます。

レポートには、選択した API パッケージごとに個別の行が表示されます。

概要レポートでは、必要に応じて、[Summary Display Options] セクションで [Don't Display (Packages)] をオンにできます。この場合、レポートにはすべての(または選択した)API パッケージの情報が集計されます(API パッケージごとに情報が集計されることはありません)。

商品

レポートに含める API プロダクト。次の中から 1 つ選択してください。

  • すべて: レポートにすべての API プロダクトが含まれます。
  • 選択済み: リストが表示され、レポートに含める商品を選択できます。商品を選択しなかった場合は、すべての商品がレポートに含まれます。

レポートには、選択した API プロダクトごとに個別の行が表示されます。

概要レポートでは、必要に応じて、[概要表示オプション] セクションで [表示しない(商品)] をオンにできます。この場合、レポートにはすべての(または選択した)API プロダクトの情報が集計されます(API プロダクトごとに情報が集約されることはありません)。

会社

レポートに含める会社。次の中から 1 つ選択してください。

  • すべて: レポート内のすべての会社が含まれます。
  • 選択済み: レポートに含める会社を選択できます。会社を選択しない場合は、すべての会社がレポートに含まれます。

レポートには、選択した会社ごとに個別の行が表示されます。

概要レポートでは、必要に応じて、[Summary Display Options] セクションで [Don't Display (Companies)] をオンにできます。この場合、レポートにはすべての(または選択した)会社の情報が集計されます(選択した各会社の情報が個別に表示されることはありません)。

アプリ

レポートに含めるアプリケーション。次の中から 1 つ選択してください。

  • すべて: すべてのアプリケーションがレポートに含まれます。
  • Selected: レポートに含めるアプリケーションを選択するためのリストが表示されます。アプリケーションを選択しないと、すべてのアプリケーションがレポートに含まれます。

レポートには、選択したアプリケーションごとに 1 行が表示されます。

概要レポートでは、必要に応じて、[Summary Display Options] セクションで [Don't Display (Applications)] をオンにできます。この場合、レポートにはすべての(または選択した)アプリケーションの情報が集計されます(選択したアプリケーションごとに情報が集計されることはありません)。

通貨

レポートの通貨。有効な値は次のとおりです。

  • 現地通貨: レポートの各行は、該当する料金プランを使用して表示されます。つまり、デベロッパーがさまざまな通貨を使用するプランがある場合は、1 つのレポートに複数の通貨が存在する可能性があります。
  • EUR: レポートの現地通貨取引はユーロに換算されて表示されます。
  • GPB: レポート内の現地通貨取引はポンドに換算されて表示されます。
  • USD: レポートの現地通貨取引はドルに換算されて表示されます。
概要表示オプション

列がグループ化されてレポートに表示される順序。グループ内のそのセクションの相対的な順序を示す番号を選択します(1 が最初のグループです)。次の例では、レポートはパッケージ、プロダクト、デベロッパー、アプリケーション別にグループ化されます。

セクションを表示しない場合は、[表示しない] を選択して残りのフィールドを順番に選択します。この順序は、1 つのセクションの相対的な順序を変更したり、レポート内にセクションを表示しないようにしたりすると、自動的に更新されます。

レポートの生成とダウンロード

レポートを作成したら、CSV または ZIP ファイル形式でレポートの結果をダウンロードできます。CSV ファイルまたは ZIP ファイルは、同期的または非同期的に生成できます。

  • 同期レポートの場合、レポート リクエストを実行すると、分析サーバーが応答を返すまでリクエストがブロックされます。しかし、レポートで大量のデータ(たとえば、数百 GB)を処理する必要がある場合は、タイムアウトで同期レポートが失敗する可能性があります。

    概要レポートレベルは、同期生成のみをサポートします。

  • 非同期レポートの場合、レポート リクエストを実行し、結果は後で受け取ります。次のような状況では、非同期クエリ処理が適切な代替手段になることがあります。

    • レポートの分析と作成に長い時間がかかる場合。
    • グループ化のディメンションが多いなど、クエリを複雑にする制約のあるデータを分析する場合。
    • 一部のユーザーや組織のデータ量が大幅に増加したことが判明したときにクエリを管理する場合。

    詳細レポートレベルでは、非同期の生成がサポートされます。

CSV または ZIP ファイル形式でレポートを生成してダウンロードするには、次のいずれかのタスクを行います。

  1. [レポート] ページにアクセスします。
  2. ダウンロードするレポートにカーソルを合わせます。
  3. [変更済み] 列で、次のいずれかをクリックします。

    1. CSV ファイル アイコン アイコンまたは zip ファイル アイコン アイコン(概要レポートの場合)。レポートは CSV ファイルまたは zip ファイルに同期して保存されます。
    2. [ジョブを送信](詳細レポートの場合)非同期ジョブが開始されます。
      1. [変更済み] 列でジョブのステータスをモニタリングします。

        レポートをダウンロードできるようになると、ディスク アイコンが表示されます。

        レポートをダウンロードできるようになると、ディスク イメージが表示されます。
      2. ジョブが完了したら、ディスク アイコンをクリックしてレポートをダウンロードします。

請求概要レポートの CSV ファイルの例を次に示します。

レポートの編集

レポートを編集する方法は次のとおりです。

  1. [レポート] ページにアクセスします
  2. 編集するレポートにカーソルを合わせて、操作メニューの をクリックします。
  3. 必要に応じてレポート構成を更新します。
  4. [レポートを更新] をクリックして、更新したレポート構成を保存します。

レポートの削除

レポートを削除するには:

  1. [レポート] ページにアクセスします
  2. 削除するレポートにカーソルを合わせます。
  3. 操作メニューで をクリックします。

API を使用した収益化レポートの管理

以降のセクションでは、API を使用して Monetization レポートを管理する方法について説明します。

API を使用してレポートを構成する

組織全体のレポートを構成するには、POST リクエストを /organizations/{org_name}/report-definitions に発行します。

特定のデベロッパーのレポートを構成するには、POST リクエストを /organizations/{org_name}/developers/{dev_id}/report-definitions に発行します。ここで、{dev_id} はデベロッパーの ID です。

リクエストを行うときに、レポートの名前とタイプを指定する必要があります。型は、BILLINGREVENUEVARIANCE(非推奨)、PREPAID_BALANCE のいずれかです。また、mintCriteria プロパティで条件を指定して、レポートをさらに構成することもできます。さまざまな条件を指定できます。これにより、レポートを柔軟に構成できます。条件として指定できるものは次のとおりです。

  • 請求レポートまたは前払い残高レポートの場合、レポートの請求月
  • 収益レポートの場合、レポートに記載されているトランザクションの種類(購入トランザクション、請求トランザクション、払い戻しなど)
  • 前払い残高レポートの場合、レポートを適用するデベロッパー
  • 収益レポートの場合、レポートが適用される API プロダクト バンドル(または API パッケージ)、プロダクト、料金プラン、アプリケーション
  • 収益レポートまたは差異レポートの場合、レポートに適用される通貨
  • 請求レポート、前払い残高レポート、収益レポートの場合(概要レポートか詳細レポートか)
  • 収益の概要レポートの場合は、レポートにカスタム トランザクション属性を含めます。

レポートの条件の一覧については、レポートの構成オプションをご覧ください。

たとえば、次の例では、2015 年 7 月のトランザクション アクティビティをまとめた収益レポートを作成します。このレポートには、transactionTypes プロパティで指定されたさまざまな取引タイプが含まれ、特に Payment API プロダクト バンドルと Payment API プロダクトに適用されます。レポート定義では特定のデベロッパーやアプリケーションが指定されていないため、レポートはすべてのデベロッパーとアプリケーションに適用されます。また、currencyOption プロパティが LOCAL に設定されているため、レポートの各行は該当する料金プランの通貨で表示されます。また、groupBy プロパティは、レポートの列を PACKAGE、PRODUCT、DEVELOPER、APPLICATION、RATEPLAN(レポートに料金プランの名前と ID を含む)の順序でグループ化することを指定します。

$ curl -H "Content-Type: application/json" -X POST -d \
'{
      "name": "July 2015 revenue report",
      "description": " July 2015 revenue report for Payment product",
      "type": "REVENUE",     
      "mintCriteria":{
         "fromDate":"2015-07-01 00:00:00",
         "toDate":"2015-08-01 13:35:00",
         "showTxDetail":true,
         "showSummary":true,
         "transactionTypes":[
            "PURCHASE",
            "CHARGE",
            "REFUND",
            "CREDIT",
            "SETUPFEES",
            "TERMINATIONFEES",
            "RECURRINGFEES"
         ],
         "monetizationPackageIds":[
            "payment"
         ],
         "productIds":[
            "payment"
         ],
         "currencyOption":"LOCAL",
         "groupBy":[
            "PACKAGE",
            "PRODUCT",
            "DEVELOPER",
            "APPLICATION",
            "RATEPLAN"
         ]
      }
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions" \
-u email:password

以下は、2015 年 6 月のデベロッパー DEV FIVE のアクティビティを示す詳細な請求レポートです。

$ curl -H "Content-Type:application/json" -X POST -d \
'{
      "name": "June billing report, DEV FIVE",
      "description": "June billing report, DEV FIVE",
      "type": "BILLING",      
      "mintCriteria":{
         "billingMonth": "JUNE",
         "billingYear": 2015,
         "showTxDetail":true,
         "showSummary":false,         
         "currencyOption":"LOCAL"         
      },
      "devCriteria":[{
         "id":"RtHAeZ6LtkSbEH56",
         "orgId":"myorg"}]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/report-definitions" \
-u email:password

API を使用してレポート構成を表示する

組織の特定のレポート構成またはすべてのレポート構成を表示できます。個々のデベロッパーのレポート構成を表示することもできます。

組織の特定のレポート構成を表示するには、/organizations/{org_name}/report-definitions/{report_definition_id} に GET リクエストを発行します。ここで、{report_definition_id} は特定のレポート構成の ID です(ID は、レポート構成の作成時にレスポンスで返されます)。次に例を示します。

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions/1f7fa53b-de5a-431d-9438-62131e1396c5" \
-u email:password

組織のすべてのレポート構成を表示するには、/organizations/{org_name}/report-definitions に GET リクエストを発行します。

次のクエリ パラメータを渡して、結果のフィルタリングや並べ替えを行うことができます。

クエリ パラメータ 説明
all すべての API プロダクトのバンドルを返すかどうかを指定するフラグ。false に設定すると、ページごとに返される API プロダクト バンドルの数は size クエリ パラメータによって定義されます。デフォルトは false です。
size ページごとに返される API プロダクト バンドルの数。デフォルトは 20 です。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。
page 返すページの番号(コンテンツがページ分けされている場合)。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。
sort 情報を並べ替えるフィールド。all クエリ パラメータが true に設定されている場合、このパラメータは無視されます。デフォルトは UPDATED:DESC です。

たとえば、次の例は組織のレポート構成を返し、取得を最大 5 つのレポート構成に制限します。

$ curl -H "Accept:application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions?size=5" \ 
-u email:password

レスポンスは次のようになります(レスポンスの一部のみが表示されています)。

{
  "reportDefinition" : [ {
    "description" : "Test revenue report",
    "developer" : null,
    "id" : "1f7fa53b-de5a-431d-9438-62131e1396c5",
    "lastModified" : "2015-08-27 15:44:03",
    "mintCriteria" : {
      "asXorg" : false,
      "currencyOption" : "LOCAL",
      "fromDate" : "2015-07-01 00:00:00",
      "groupBy" : [ "PACKAGE", "PRODUCT", "DEVELOPER", "APPLICATION", "RATEPLAN" ],
      "monetizationPackageIds" : [ "payment" ],
      "productIds" : [ "payment" ],
      "showRevSharePct" : false,
      "showSummary" : true,
      "showTxDetail" : true,
      "showTxType" : false,
      "toDate" : "2015-08-01 00:05:00",
      "transactionTypes" : [ "PURCHASE", "CHARGE", "REFUND", "CREDIT", "SETUPFEES", "TERMINATIONFEES", "RECURRINGFEES" ]
    },
    "name" : "Test revenue report",
    "organization" : {
      ...
    },
    "type" : "REVENUE"
  }, {
    "description" : "June billing report, DEV FIVE",
    "developer" : null,
    "id" : "fedac696-ce57-469b-b62c-a77b535fd0eb",
    "lastModified" : "2015-08-27 17:13:20",
    "mintCriteria" : {
      "asXorg" : false,
      "billingMonth" : "JUNE",
      "billingYear" : 2015,
      "currencyOption" : "LOCAL",
      "showRevSharePct" : false,
      "showSummary" : false,
      "showTxDetail" : true,
      "showTxType" : false
    },
    "name" : "June billing report, DEV FIVE",
    "organization" : {
      ...
    },
    "type" : "BILLING"
  } ],
  "totalRecords" : 2
}

特定のデベロッパーのレポート構成を表示するには、/organizations/{org_name}/developers/{dev_id}/report-definitions に GET リクエストを発行します。ここで、{dev_id} はデベロッパーの ID です。リクエストを行うときに、上記のクエリ パラメータを指定して、データのフィルタリングと並べ替えを行うことができます。

たとえば、次のコードは特定のデベロッパーのレポート構成を返し、レスポンスをレポート名で並べ替えます。

$ curl -H "Accept:application/json" -X GET \ 
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xUreport-definitions?sort=name" \ 
-u email:password

API を使用してレポート構成を更新する

レポート構成を更新するには、/organizations/{org_name}/report-definitions/{report_definition_id} に PUT リクエストを発行します。ここで、{report_definition_id} は特定のレポート構成の ID です。更新を行うときは、更新された構成値とレポート構成の ID をリクエスト本文で指定する必要があります。たとえば、次のリクエストでは、レポートをサマリー レポートに更新します(更新されたプロパティがハイライト表示されています)。

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
       "id": "fedac696-ce57-469b-b62c-a77b535fd0eb",
       "name": "June billing report, DEV FIVE",
       "description": "June billing report, DEV FIVE",
       "type": "BILLING",      
       "mintCriteria":{      
         "billingMonth": "JUNE",
         "billingYear": 2015,
         "showTxDetail":false,
         "showSummary":true    
        }     
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions/fedac696-ce57-469b-b62c-a77b535fd0eb" \
-u email:password

レスポンスは次のようになります(レスポンスの一部のみが表示されています)。

{
 "description" : "June billing report, DEV FIVE",
  "developer" : null,
  "id" : "fedac696-ce57-469b-b62c-a77b535fd0eb",
  "lastModified" : "2015-08-27 17:47:29",
  "mintCriteria" : {
    "asXorg" : false,
    "billingMonth" : "JUNE",
    "billingYear" : 2015,
    "showRevSharePct" : false,
    "showSummary" : true,
    "showTxDetail" : false,
    "showTxType" : false
  },
  "name" : "June billing report, DEV FIVE",
  "organization" : {
    ... 
  },
  "type" : "BILLING"
}

API を使用してレポート構成を削除する

レポート構成を削除するには、/organizations/{org_namer}/report-definitions/{report_definition_id} に DELETE リクエストを発行します。ここで、{report_definition_id} は削除するレポート構成の ID です。次に例を示します。

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/report-definitions/fedac696-ce57-469b-b62c-a77b535fd0eb" \
-u email:password

API を使用してレポートを生成する

レポートを構成した後、表示するカンマ区切り値(CSV)ファイル形式でレポートを生成できます。

レポートを生成するには、organizations/{org_id}/{report_type} に対して POST リクエストを発行します。ここで、{report_type} は生成するレポートのタイプを指定します。次のタイプがあります。

  • billing-reports
  • revenue-reports
  • prepaid-balance-reports
  • variance-reports
さらに、特定のデベロッパーの収益レポートを生成できます。詳細については、デベロッパーの収益レポートを生成するをご覧ください。

たとえば、請求レポートを生成するには、POST リクエストを organizations/{org_name}/billing-reports に発行します。

リクエスト本文(任意のタイプのレポート)で、レポートの検索条件を指定します。mintCriteria プロパティを使用して検索条件を指定します。詳しくは、条件の設定オプションをご覧ください。

たとえば、次のリクエストでは、レポートの開始日と終了日、トランザクション タイプなど、さまざまな条件に基づいて収益レポートを検索します。

$ curl -H "Content-Type:application/json" -H "Accept: application/octet-stream" -X POST -d \
'{
      "fromDate":"2015-07-01 00:00:00",
      "toDate":"2015-08-01 13:35:00",
      "showTxDetail":true,
      "showSummary":true,                
      "transactionTypes":[
        "PURCHASE",
        "CHARGE",
        "REFUND",
        "CREDIT",
        "SETUPFEES",
        "TERMINATIONFEES",
        "RECURRINGFEES"
      ],
      "currencyOption":"LOCAL",
      "groupBy":[
        "PACKAGE",
        "PRODUCT",
        "DEVELOPER",
        "APPLICATION",
        "RATEPLAN"]
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/revenue-reports" \
-u email:password

収益レポートが見つかると、CSV ファイル形式で収益レポートが生成されます。レポート出力の例を次に示します。

Reporting Period:,From:,2015-07-01,  To:,2015-07-31
API Product:,All
Developer:,All
Application:,All
Currency:,Local
Type of Report:,Summary Revenue Report

Monetization Package,Package ID,API Product,Product ID,Developer Name,Developer ID,Application Name,Application ID,Rate Plan,Plan ID,Currency,Transaction Type,Provider Status,Total Volume,Charged Rate,
Location,location,foo_product,foo_product,Apigee,QQ7uxeMGf3w9W08B,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,
Location,location,foo_product,foo_product,BarCompany,barcompany,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,
Location,location,foo_product,foo_product,fremont,fremont,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,
Location,location,foo_product,foo_product,Juan's Taco Shack,juan-s-taco-sha,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,

API を使用して収益レポートにデベロッパーのカスタム属性を含める

収益レポートの場合のみ、デベロッパーに対してカスタム属性が定義されている場合は、レポートにカスタム属性を含めることができます。カスタム属性は、デベロッパーを組織に追加するときに定義します。詳細については、アプリ デベロッパーの管理をご覧ください。

収益レポートにカスタム属性を含めるには、organizations/{org_name}/revenue-reports に POST リクエストを発行し、リクエストの本文に devCustomAttributes 配列を含めます。

"devCustomAttributes": [
    "custom_attribute1",
    "custom_attribute2",
    ...
]

注: 事前定義された MINT_* 属性と ADMIN_* 属性は、devCustomAttributes 配列に指定しないでください。

たとえば次の例では、BILLING_TYPESFIDORG_EXT の 3 つのカスタム属性がレポートに含まれています(デベロッパー用に定義されている場合)。

$ curl -H "Content-Type:application/json" -H "Accept: application/octet-stream" -X POST -d \
'{
      "fromDate":"2015-07-01 00:00:00",
      "toDate":"2015-08-01 13:35:00",
      "showTxDetail":true,
      "showSummary":true,                
      "transactionTypes":[
        "PURCHASE",
        "CHARGE",
        "REFUND",
        "CREDIT",
        "SETUPFEES",
        "TERMINATIONFEES",
        "RECURRINGFEES"
      ],
      "currencyOption":"LOCAL",
      "groupBy":[
        "PACKAGE",
        "PRODUCT",
        "DEVELOPER",
        "APPLICATION",
        "RATEPLAN"
      ],
      "devCustomAttributes": [
         "BILLING_TYPE",
         "SFID",
         "ORG_EXT"
      ]
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/revenue-reports" \
-u email:password

2 つのカスタム属性の値を含むレポート出力の例を次に示します。

Reporting Period:,From:,2015-07-01,  To:,2015-07-31
API Product:,All
Developer:,All
Application:,All
Currency:,Local
Type of Report:,Summary Revenue Report

Monetization Package,Package ID,API Product,Product ID,Developer Name,Developer ID,Application Name,Application ID,Rate Plan,Plan ID,Currency,Transaction Type,Provider Status,Total Volume,Charged Rate,BILLING_TYPE,SFID,ORG_EXT 
Location,location,foo_product,foo_product,Apigee,QQ7uxeMGf3w9W08B,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,
Location,location,foo_product,foo_product,BarCompany,barcompany,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,
Location,location,foo_product,foo_product,fremont,fremont,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,
Location,location,foo_product,foo_product,Juan's Taco Shack,juan-s-taco-sha,my_app,my_app,rate_plan_1,location_rate_plan_1,USD,SETUPFEES,SUCCESS,1,15.0000,PREPAID,123,3AA,

API を使用して取引アクティビティを報告する

組織のトランザクション アクティビティを表示するには、POST リクエストを /organizations/{org_name}/transaction-search に発行します。リクエストを行うときに、取得条件を指定する必要があります。条件として指定できるものは次のとおりです。

  • トランザクションが発行された 1 つ以上の API プロダクトの ID。
  • トランザクションの請求年。
  • 取引を発行したデベロッパー。
  • 購入やセットアップ手数料など、取引の種類。
  • トランザクションのステータス(成功、失敗など)。

条件の一覧については、条件の設定オプションをご覧ください。

次の例では、2015 年 6 月の請求月に特定のデベロッパーが発行したトランザクションが返されます。

$ curl -H "Content-Type:application/json" -X POST -d \
 '{        
    "billingMonth": "JUNE",
    "billingYear": 2015,
    "devCriteria": [{
      "id": "RtHAeZ6LtkSbEH56",
      "orgId":"myorg"}],
    "transactionTypes": ["PURCHASE", "CHARGE", "SETUPFEES"],
    "transactionStatus": ["SUCCESS", "FAILED"]
    }'
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/transaction-search \
-u email:password

特定の期間内にトランザクション アクティビティが発生したアプリケーション、デベロッパー、API プロダクト バンドル、API プロダクトを特定することもできます。この情報は、オブジェクトのタイプごとに表示されます。たとえば、指定した開始日から終了日までに、収益化された API プロダクト バンドルの API にアクセスするアプリケーションに関する情報を表示できます。

トランザクション アクティビティに関する情報を表示するには、次のいずれかのリソースに GET リクエストを発行します。

リソース 戻り値
/organizations/{org_name}/applications-with-transactions

トランザクションを伴うアプリケーション

/organizations/{org_name}/developers-with-transactions

トランザクションがあるデベロッパー

/organizations/{org_name}/products-with-transactions

トランザクションがある商品

/organizations/{org_name}/packages-with-transactions

トランザクションを含む API プロダクト バンドル(または API パッケージ)

リクエストを発行するときは、日付範囲の開始日と終了日をクエリ パラメータとして指定する必要があります。たとえば、次のリクエストでは、2015 年 8 月にトランザクションがあったデベロッパーが返されます。

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers-with-transactions?START_DATE=2015-08-01&END_DATE=2015-08-31" \
-u email:password

レスポンスは次のようになります(レスポンスの一部のみが表示されています)。

{
  "developer" : [ {
    "address" : [ {
      "address1" : "Dev Five Address",
      "city" : "Pleasanton",
      "country" : "US",
      "id" : "0917f15f-9521-4e69-9376-07aa7b7b32ca",
      "isPrimary" : true,
      "state" : "CA",
      "zip" : "94588"
    } ],
    "approxTaxRate" : 0.0900,
    "billingType" : "POSTPAID",
    "broker" : false,
    "developerRole" : [ ],
    "email" : "dev5@myorg.com",
    "hasSelfBilling" : false,
    "id" : "tJZG6broTpGGGeLV",
    "legalName" : "DEV FIVE",
    "name" : "Dev Five",
    "organization" : {
      ...
    },
    "registrationId" : "dev5",
    "status" : "ACTIVE",
    "type" : "UNTRUSTED"
  }, {
    "address" : [ {
      "address1" : "Dev Seven Address",
      "city" : "Pleasanton",
      "country" : "US",
      "id" : "f86d8c9f-6ed1-4323-b050-6adf494096c9",
      "isPrimary" : true,
      "state" : "CA",
      "zip" : "94588"
    } ],
    "approxTaxRate" : 0.0900,
    "billingType" : "POSTPAID",
    "broker" : false,
    "developerRole" : [ ],
    "email" : "dev7@myorg.com",
    "hasSelfBilling" : false,
    "id" : "VI3l8m8IPAvJTvjS",
    "legalName" : "DEV SEVEN",
    "name" : "Dev Seven",
    "organization" : {
      ...
    },
    "registrationId" : "dev7",
    "status" : "ACTIVE",
    "type" : "UNTRUSTED"
  }, ...
  ]
}

API のレポート構成オプション

API で使用できるレポート構成オプションは次のとおりです。

名前 説明 デフォルト 必須かどうか
name

レポートの名前。

なし
description

レポートの説明。

なし ×
mintCriteria

レポートを設定するための条件。詳しくは、条件の設定オプションをご覧ください。

なし ×
type

レポートのタイプ。値は次のいずれかになります。

  • BILLING
  • REVENUE
  • VARIANCE
  • PREPAID_BALANCE
なし

条件の設定オプション

mintCriteria プロパティを使用すると、レポートでは次の構成オプションを使用できます。

名前 説明 デフォルト 必須かどうか
appCriteria

レポートに含める特定のアプリケーションの ID と組織。このプロパティを指定しなかった場合、すべてのアプリケーションがレポートに含まれます。

なし ×
billingMonth

注: このプロパティは、収益レポートには有効ではありません。

レポートの請求月(7 月など)。

なし
billingYear

注: このプロパティは、収益レポートには有効ではありません。

レポートの請求年(2015 など)。

なし
currCriteria

レポートに含める特定の通貨の ID と組織。このプロパティが指定されていない場合、サポートされているすべての通貨がレポートに含まれます。

なし ×
currencyOption

レポートの通貨。有効な値は次のとおりです。

  • LOCAL。レポートの各行は、該当する料金プランで表示されます。つまり、デベロッパーがさまざまな通貨を使用するプランがある場合は、1 つのレポートに複数の通貨が存在する可能性があります。
  • EUR。現地通貨取引はユーロに換算されて表示されます。
  • GPB。現地通貨取引は英国ポンドに換算されて表示されます。
  • USD。現地通貨取引は米ドルに換算されて表示されます。
なし ×
devCriteria

レポートに含める特定のデベロッパーのデベロッパー ID(メールアドレス)、組織名。このプロパティが指定されていない場合、すべてのデベロッパーがレポートに含まれます。次に例を示します。

"devCriteria":[{
    "id":"RtHAeZ6LtkSbEH56",
    "orgId":"my_org"}
]
                
なし ×
devCustomAttributes

注: このプロパティは収益レポートにのみ適用されます。

レポートに含めるカスタム属性(デベロッパー向けに定義されている場合)。次に例を示します。

"devCustomAttributes": [
    "custom_attribute1",
    "custom_attribute2",
    ...
]

注: 事前定義された MINT_* 属性と ADMIN_* 属性は、devCustomAttributes 配列に指定しないでください。

なし ×
fromDate

注: このプロパティは、収益、差異、トランザクションのアクティビティ レポートにのみ適用されます。

レポートの開始日(UTC)。

なし 収益レポートの場合は必須。他のレポートタイプでは不要です。
groupBy

レポートでの列のグループ化順序。有効な値は次のとおりです。

  • APPLICATION
  • BALANCE
  • DEVELOPER
  • ORG
  • PACKAGE
  • PRODUCT
  • RATEPLAN
なし ×
monetizationPackageId

レポートに含める 1 つ以上の API プロダクト バンドルの ID。このプロパティが指定されていない場合、すべての API プロダクトのバンドルがレポートに含まれます。

注: トランザクション アクティビティ(/transaction-search)を表示している場合、このプロパティは無効になります。

なし ×
pkgCriteria

レポートに含める特定の API プロダクト バンドルの ID と組織。このプロパティが指定されていない場合、すべての API プロダクトのバンドルがレポートに含まれます。monetizationpackageIds プロパティの代わりにこのプロパティを指定できます。

注: トランザクション アクティビティ(/transaction-search)を表示している場合、このプロパティは無効になります。

なし ×
prevFromDate

注: このプロパティは、バリアンス レポートにのみ適用されます。

前の期間の開始日(UTC)。現在のレポートと比較するために前の期間のレポートを作成する場合に使用されます。

なし ×
prevToDate

注: このプロパティは、バリアンス レポートにのみ適用されます。

前の期間の終了日(UTC)。現在のレポートと比較するために前の期間のレポートを作成する場合に使用されます。

なし ×
prodCriteria

レポートに含める特定の API プロダクトの ID と組織。このプロパティが指定されていない場合、すべての API プロダクトがレポートに含まれます。productIds プロパティの代わりにこのプロパティを指定できます。

注: トランザクション アクティビティ(/transaction-search)を表示している場合、このプロパティは無効になります。

なし ×
productIds

レポートに含める 1 つ以上の API プロダクトの ID。このプロパティが指定されていない場合、すべての API プロダクトがレポートに含まれます。

API プロダクト ID は org-name@@@product-name として指定する必要があります。例: "productIds": ["myorg@@@myproduct", "myorg@@@myproduct2"]

なし ×
pricingTypes

レポートに含める料金プランの料金タイプ。有効な値は次のとおりです。

  • REVSHARE。収益分配プラン。
  • REVSHARE_RATECARD。収益分配とレート表料金プラン。
  • RATECARD。レート表プラン。

このプロパティが指定されていない場合、すべての料金タイプの料金プランがレポートに含まれます。

なし ×
ratePlanLevels

レポートに含める料金プランのタイプ。有効な値は次のとおりです。

  • DEVELOPER。デベロッパー料金プラン。
  • STANDARD。標準料金プラン。

このプロパティが指定されていない場合、デベロッパー固有の料金プランと標準料金プランの両方がレポートに含まれます。

なし ×
showRevSharePct

レポートに収益分配率を表示するかどうかを指定するフラグ。有効な値は次のとおりです。

  • true。収益分配率を表示します。
  • false。収益分配率を表示しません。
なし ×
showSummary

レポートがサマリーかどうかを指定するフラグ。有効な値は次のとおりです。

  • true。レポートは概要です。
  • false。レポートはサマリーではありません。
なし ×
showTxDetail

注: このプロパティは収益レポートにのみ適用されます。

レポートにトランザクション単位の詳細を表示するかどうかを指定するフラグ。有効な値は次のとおりです。

  • true。トランザクション レベルの詳細を表示します。
  • false。取引単位の詳細を表示しません。
なし ×
showTxType

レポートに各取引の種類を表示するかどうかを指定するフラグ。有効な値は次のとおりです。

  • true。各取引のタイプを表示します。
  • false。各取引の種類は示さないでください。
なし ×
toDate

注: このプロパティは、収益、差異、トランザクションのアクティビティ レポートにのみ適用されます。

レポートの終了日(UTC)。

このレポートには、指定した日付より前に収集されたデータが含まれます。指定した終了日に収集されたレポートデータは、レポートから除外されます。 たとえば、料金プランを 2016 年 12 月 31 日に期限切れにする場合は、toDate 値を 2017-01-01 に設定する必要があります。この場合、レポートには 2016 年 12 月 31 日の最終日までのレポートデータが含まれます。2017 年 1 月 1 日のレポートデータは除外されます。

なし 収益レポートの場合は必須。他のレポートタイプでは不要です。
transactionStatus

レポートに含める取引のステータス。有効な値は次のとおりです。

  • SUCCESS。取引が正常に完了しました。
  • DUPLICATE。取引が重複しています。これらの取引は無視できます。Apigee ランタイムから評価サーバーへのデータ パイプラインは、フォールト トレラントのために重複するトランザクションを生成する場合があります。また、Monetization でトランザクションが重複として認識され、マークされます。
  • FAILED。取引に失敗しました。このステータスは、前提条件の検証で不合格だった場合にトリガーされます。次に例を示します。
    • デベロッパーが料金プランを購入していないにもかかわらず、評価が試みられました。これは、Monetization Limits Check ポリシーが構成されていない場合に発生することがあります。
    • 割り当てを超過しましたが、呼び出しは引き続き続行されます。これは、Monetization Limits Check ポリシーが構成されていない場合に発生することがあります。
    • カスタム属性ベースのプランで除外カスタム属性値が送信されました。
  • INVALID_TSC。取引が無効です。このステータスは、txProviderStatus ランタイム条件が API プロダクトのバンドルレベルで指定された成功基準と一致しない場合にトリガーされます。
  • REVIEW。確認が必要な取引。このステータスは、料金が設定されていない収益範囲内にある場合に、柔軟な収益分配料金プランでトリガーされます。
なし ×
transactionCustomAttributes

収益概要レポートに含めるカスタム トランザクション属性。この機能は、組織内で有効にする必要があります。収益概要レポートにカスタム トランザクション属性を含めるをご覧ください。

なし ×
transactionTypes

レポートに含める取引のタイプ。有効な値は次のとおりです。

このプロパティを指定しなかった場合、レポートにはすべての取引タイプが含まれます。

なし ×