Salesforce レポートおよびダッシュボード REST API を使用してレポートを活用する
ここまで、このワークブックでは、いくつかのかなり高度なレポートの操作方法について学習しました。では、さらに高度な操作が必要な場合はどうすればよいでしょうか。たとえば、ユーザが独自のビジネス要件に合わせて特別に調整したカスタムアプリケーションをどうしても必要としている場合はどうでしょうか。
問題ありません。自分で少しコーディングができるか、コーディングができる人物に連絡を取れるユーザに、Salesforce では、標準の Web インターフェースを介してレポートに関するほとんどすべての処理を実行できる API を用意しています。
たとえば、Visualforce を使用してカスタムアプリケーションを作成し、そのアプリケーションでレポートデータを表示する必要があるとします。または、ダッシュボードの作成時に、標準オプションに含まれていない特別な種類のグラフを必要としているとします。このチュートリアルでは、ユーザが各自の目的を達成できるようにするいくつかの方法について確認していきます。
API を使用するには、アプリケーションで Salesforce 組織が実行されているインスタンスに基づく URL に要求を送信します。たとえば、組織が na1.salesforce.com でホストされている場合は、https://na1.salesforce.com/analytics/reports への要求を送信することで所持しているすべてのレポートのリストを取得できます。
Salesforce レポートおよびダッシュボード REST API で実行できる基本的な操作を次に示します。次のいくつかのステップではこれらの操作をいくつか使用します。
| アクション | URL | メソッド | リクエストボディ |
| 最近使用した、サポートされているすべてのレポートをリストする | /analytics/reports | GET | N/A |
| 指定したレポートのレポート、レポートタイプおよび関連するメタデータを取得する | /analytics/reports/<reportId>/describe | GET | N/A |
| 指定したレポートを実行する | /analytics/reports/<reportId> | GET | N/A |
| 指定したレポートを動的検索条件を使用して実行する | /analytics/reports/<reportId> | POST | レポートメタデータ |
| 指定したレポートを非同期に実行する | /analytics/reports/<reportId>/instances | POST | N/A |
| 指定したレポートを検索条件を使用して非同期に実行する | /analytics/reports/<reportId>/instances | POST | レポートメタデータ |
| 指定したレポートの最新の 200 個の実行インスタンスを一覧表示する | /analytics/reports/<reportId>/instances | GET | N/A |
| 指定したレポートの指定した実行インスタンスを取得する | /analytics/reports/<reportId>/instances/<instanceId> | GET | N/A |
| 最近使用したダッシュボードのリストを取得する | /analytics/dashboards | GET | N/A |
| 指定されたダッシュボードのメタデータ、データ、および状況を取得する | /analytics/dashboards/<dashboardID> | GET | N/A |
| ダッシュボードの更新をトリガする | /analytics/dashboards/<dashboardID> | PUT | N/A |
| 指定されたダッシュボードの状況を取得する | /analytics/dashboards/<dashboardID>/status | GET | N/A |
すべての Salesforce レポートおよびダッシュボード REST API リソースには、以下を使用してアクセスします。
- 会社の基本 URI (https://na1.salesforce.com など)
- バージョン情報 (/services/data/v29.0/analytics など)
- 名前付きリソース (/reports など)
1https://na1.salesforce.com/services/data/v29.0/analytics/reports/