API からレポートを実行 する
プログラムで Stripe の財務 レポートにアクセスして、消 し込 みのワークフローを自動 化 します。
注
Stripe Data Pipeline を
ダッシュボードの
レポートタイプ
ダッシュボードの
CSV と API の金額 形式 の違 い
CSV レポートは、「10.
) としてフォーマットされます。これは、1000
) としてフォーマットします。
パラメーターを実行 する
- ほぼすべてのレポートタイプで、
実行 パラメーターinterval_
(このstart 値 を含 む) とinterval_
(このend 値 を含 まない) を Unix タイムスタンプで指定 する必要 があります。 対応 する各 レポートタイプのリソースには、data_
フィールドとavailable_ start data_
フィールドがあります。available_ end 実行 で以下 の制約 が満 たされない場合 、API は無効 なリクエストエラー (ステータスコード400
) を返 します。interval_
とstart interval_
のend 値 は、data_
とavailable_ start data_
(available_ end 開始 日 、終了 日 を含 む) にある必要 があります。interval_
のstart 値 は、interval_
より「end 前 」の日付 (同日 は不可 ) である必要 があります。
timezone
パラメーターを持 つReportType
のタイムゾーンでのみレポートをダウンロードできます。そのためには、ReportRun
オブジェクトを作成 して、目的 の TZ データベースのタイムゾーン名 を指定 します。timezone
パラメーターはオプションであり、指定 されていない場合 はデフォルトで UTC になります。有効 なタイムゾーン値 のリストについては、IANA タイムゾーンデータベースをご覧 ください。- オプションパラメーター
currency
とreport_
は、category 指定 された値 に一致 する行 にのみ結果 を絞 り込 みます。 - レポートはデフォルトの
列 セットを返 しますが、ほとんどのレポートタイプでは、オプションのcolumns
パラメーターと列 名 のリストを含 めることで、出力 の列 の選択 と順序 をカスタマイズできます。
データの可用性
Stripe は
ReportType
オブジェクトをbalance.
であるため、
data_
と data_
はこのレポートタイプの
{ "id": "balance.summary.1", "name": "Balance summary", "version": "1", "object": "reporting.report_type", "data_available_start": 1519862400, "data_available_end": 1517356800, "updated": 1517382720, }
date_
などのタイムスタンプは、Unix エポックからの1519862400
は 2018-03-01 00:00
のタイムスタンプを
新 しいデータの通知
レポートタイプReportType
オブジェクトをreporting.
イベントをreporting.
イベントを
レポートの実行 の作成 とアクセス
ReportRun
API オブジェクトは、ReportType
のインスタンスを
オブジェクトがstatus="pending"
で
{ "id": "frr_123", "object": "reporting.report_run", "livemode": true, "report_type": "balance_change_from_activity.itemized.3", "parameters": { "columns": [ "created", "reporting_category", "net" ], "interval_start": 1577865600, "interval_end": 1580544000, "timezone": "America/Los_Angeles" }, "created": 1580832900, "status": "pending", "result": null }
status
が succeeded
になります。ネストされた result
オブジェクトもあり、API キーを
{ "id": "frr_123", "object": "reporting.report_run", "livemode": true, "report_type": "balance_change_from_activity.itemized.3", "parameters": { "columns": [ "created", "reporting_category", "net" ], "interval_start": 1577865600, "interval_end": 1580544000, "timezone": "America/Los_Angeles" }, "created": 1580832900, "status": "succeeded", "succeeded_at": 1580832960, "result": { "id": "file_xs8vrJzC", "object": "file", "url": "https://files.stripe.com/v1/files/file_xs8vrJzC/contents", "created": 1580832960, "purpose": "report_run", "size": 53075, "type": "csv" } }
ファイルのコンテンツをresult.
で
レポート実行 の完了 通知
ほとんどの
リクエストされたレポートの
実行 が成功 すると、reporting.
Webhook がreport_ run. succeeded 送信 されます。実行 に失敗 すると、reporting.
Webhook がreport_ run. failed 送信 されます (これは稀 なことではありますが、Stripe では500
レスポンスを検出 するのと同 じ様 にこのケースを処理 できるように組 み込 みを準備 することをお勧 めします)。
いずれのケースでも、Webhook ペイロードには、それぞれsucceeded
または failed
ステータスがReportRun
オブジェクトが
自動 レポートに推奨 される組 み込 みパターン
reporting.
イベントを
特定 のレポートタイプに関 する新 しい日次 データが利用 可能 になるとすぐに、reporting.
Webhook がreport_ type. updated 送信 されます。ペイロードには、更新 されたReportType
オブジェクトが含 まれます。通常 、レポートタイプごとに 2 つずつ、毎日 20 ~ 30 の Webhook を受信 します (ユーザーによって対象 になるレポートは異 なります)。必要 なレポートタイプとデータ可用性 の範囲 についてのreporting.
Webhook をreport_ type. updated 受信 したら、レポートの実行 を作成 します。レスポンスには、status=pending
で初期 化 された新 しいReportRun
オブジェクトが含 まれます。実行 が完了 すると、reporting.
Webhook がreport_ run. succeeded 送信 されます。この Webhook には、ネストされたフィールド、result.
がurl 含 まれます (前述 のように稀 ではありますが、万 が一 失敗 した場合 には、reporting.
イベントがreport_ run. failed 代 わりに送信 されます)。- API キーを
使用 して、result.
にあるファイルコンテンツにアクセスします。url