レポートの管理

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。
情報

はじめに

収益化レポートでは、使用状況に関する詳細な情報や取引アクティビティを確認できます。たとえば、特定の日付範囲でトランザクション アクティビティがあったアプリケーション、デベロッパー、API プロダクト バンドル、API プロダクトを特定できます。収益化を使用すると、API の使用状況を追跡する概要レポートまたは詳細レポートを生成できます。

収益化レポートの種類

次の種類の収益化レポートを生成できます。

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

2 つの期間でデベロッパーが生成したアクティビティと収益を比較して、デベロッパー(およびそのアプリケーション)全体で API パッケージとプロダクトのパフォーマンスの増減傾向を分析できます。

データの保持について

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

取引の重複について

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

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

下記の手順に従って [収益化レポート] ページにアクセスします。

Edge

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

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

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

図でハイライト表示されているように、[レポート] ページでは次のことができます。

Classic Edge(Private Cloud)

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

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

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

レポートを設定する

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

レポートを設定する手順

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

エッジ

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

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

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

Classic Edge(Private Cloud)

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

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

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

請求レポートの構成

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

フィールド 説明
請求月

レポートの請求月。

レポートレベル

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

  • 詳細: 各取引が別々の行に表示され、料金プランが正しく適用されていることを確認できます。概要はありません。
  • 概要: 各 API プロダクトとデベロッパーの合計収益を要約します。
製品バンドル

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

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

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

概要レポートでは、[概要の表示オプション] で [表示しない] をオンにすることもできます。この場合、レポートはすべての(または選択した)API プロダクト バンドルにわたって情報を集計します(各 API プロダクト バンドルの情報を個別にリストしません)。

プロダクト

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

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

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

企業

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

料金プラン

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

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

プリペイド残高レポートの構成

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

フィールド 説明
請求月

レポートの請求月。

レポートレベル

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

  • 詳細: 各残高補充を個別に表示し、お支払い処理業者から受け取ったお支払いと照合できます。
  • 概要: デベロッパーごとの残高補充の合計を要約します。
企業

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

収益レポートを設定する

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

フィールド 説明
期間

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

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

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

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

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

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

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

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

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

概要レポートでは、[概要の表示オプション] で [表示しない] をオンにすることもできます。この場合、レポートはすべての(または選択した)API プロダクト バンドルにわたって情報を集計します(各 API プロダクト バンドルの情報を個別にリストしません)。

プロダクト

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

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

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

企業

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

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

アプリ

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

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

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

概要の表示オプション

レポートで列がグループ化され、表示される順序。グループ内のセクションの相対的な順序を示す番号を選択します(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_id カスタム属性と tax_source カスタム属性がそれぞれボックス 4 と 5 を占有しています。これは、レポートに含める商品のすべての取引記録ポリシーにおける名前と役職です。

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

差異レポートの設定(非推奨)

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

フィールド 説明
期間

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

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

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

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

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

概要レポートでは、[概要表示オプション] セクションで [表示しない(パッケージ)] をオンにすることもできます。この場合、レポートはすべての(または選択した)API パッケージの情報を集計します(各 API パッケージの情報を個別にリストしません)。

プロダクト

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

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

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

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

企業

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

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

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

概要レポートの場合、[概要の表示オプション] セクションで [表示しない(会社)] をオンにすることもできます。この場合、レポートにはすべての(または選択した)企業の情報を集計したものが表示され、選択した企業ごとの情報は個別に表示されません。

アプリ

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

  • すべて: レポートにすべてのアプリケーションが含まれます。
  • 選択済み: レポートに含めるアプリケーションを選択できるリストが表示されます。アプリケーションを選択しない場合は、すべてのアプリケーションがレポートに含まれます。

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

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

通貨

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

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

レポートで列がグループ化され、表示される順序。グループ内のセクションの相対的な順序を示す番号を選択します(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 を使用して収益化レポートを管理する方法について説明します。

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

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

特定のデベロッパーのレポートを構成するには、/organizations/{org_name}/developers/{dev_id}/report-definitions に POST リクエストを発行します。ここで、{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 が返されます)。次に例を示します。

$ 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
また、デベロッパーの収益レポートを生成するで説明されているように、特定のデベロッパーの収益レポートを生成することもできます。

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

リクエスト本文(レポートのタイプを問わず)で、レポートの検索条件を指定します。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 配列で指定しないでください。

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

$ 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 を使用して取引アクティビティを報告する

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

  • トランザクションが発行された 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 ランタイムからレート サーバーへのデータ パイプラインでは、フォールト トレランスを実現するために重複したトランザクションが生成されることがあります。収益化では、これらのトランザクションが重複として認識され、マークされます。
  • FAILED。取引に失敗しました。このステータスは、前提条件の検証が失敗した場合にトリガーされます。例:
    • デベロッパーが料金プランを購入していないにもかかわらず、評価が試行されました。これは、Monetization Limits Check ポリシーが構成されていない場合に発生することがあります。
    • 割り当てを超過しましたが、呼び出しは継続されます。これは、Monetization Limits Check ポリシーが構成されていない場合に発生することがあります。
    • カスタム属性ベースのプランに対して、負のカスタム属性値が送信されました。
  • INVALID_TSC。トランザクションが無効です。このステータスは、txProviderStatus ランタイム条件が API プロダクト バンドルレベルで指定された成功条件と一致しない場合にトリガーされます。
  • REVIEW。審査が必要な取引。このステータスは、値が構成されていない収益範囲内にある場合に、柔軟な収益分配率プランでトリガーされます。
なし いいえ
transactionCustomAttributes

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

なし いいえ
transactionTypes

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

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

なし ×