レポートをダウンロードする


決済レポートとトランザクションレポートはセラーセントラルから手動でダウンロードすることができます:

決済レポート: レポート > ペイメント からご利用ください
トランザクション: レポート > トランザクションレポート からご利用ください

また、レポートはAmazon Pay Reports APIを使ってダウンロードすることも可能です。 APIを使用したダウンロードの方法は以下のとおりです:

ステップ1: 認証

Amazon Pay CV2 API SDKをご利用の場合は、SDKで認証処理を行いますので、決済処理の際に使用するキーおよびID等をそのままご利用いただけます。

CV2 APIおよびSDKを初めて利用する場合は、Amazon Payインテグレーションガイドの Amazon Pay SDKをダウンロードします および Public Key IDを 取得します に従って設定してください。

署名処理を手動で行う場合は、Public Key IDを 取得します を参照してPublic Key IDを取得し、署名リクエスト に従ってリクエストの署名処理を行なってください。

Amazon Pay Scratchpad (US, EU, JP) も非常に有用なリソースですので必要に応じてご利用ください。

ステップ2: レポートの一覧を取得する

Get Reports API は、レポートおよびレポートのメタデータを一覧で返します。メタデータにはreportDocumentId が含まれています。このIDを使って次のステップで実際のレポートを取得します。

操作: Get Reports

リクエスト

リクエストパラメータ

名前 ロケーション 説明
reportTypes
(任意)

Type: string (comma-seperated list of ReportTypes)
Query Parameter レポートの種類
processingStatuses
(任意)

Type: string (comma-seperated list of ProcessingStatus)
Query Parameter レポートの処理ステータス
createdSince
(任意)

Type: string (date-time ISO 8601)
Query Parameter 検索対象に含めるレポートの作成日時From。ISO8601形式での協定世界時(UTC)日時 。作成されたレポートは最長90日間のみ保持されます。

デフォルト: 90 日前
createdUntil
(任意)

Type: string (date-time ISO 8601)
Query Parameter 検索対象に含めるレポートの作成日時To。ISO8601形式での協定世界時(UTC)日時 。作成されたレポートは最長90日間のみ保持されます。

デフォルト: 現在
pageSize
(任意)

Type: number
Query Parameter ページ毎に返すレポートの数。
最小: 1
最大: 100

デフォルト: 10
nextToken
(任意)

Type: string
Query Parameter 直前のリクストに対するレスポンスで返ってくる nextToken の値を指定します。
直前のリクエストを実行した際に pageSize で指定した値よりも多い結果が存在する場合にnextTokenが返ります。
続きの結果を取得する場合は、このnextTokenのみをパラメータで指定してgetReportsを再度実行します。
nextToken を指定してAPI実行する際に、他のパラメータも一緒に指定するとエラーが発生します。

レスポンス

処理が成功した場合、HTTP 200 ステータスコードを返します。

{
     "nextToken" : "nt-50c2d472-2c4f-2d48-3b38-1116b37e0404",
     "reports": [{
        "reportId": "A08439021T39K6DTX4JS8",
        "reportType": "_GET_FLAT_FILE_OFFAMAZONPAYMENTS_SETTLEMENT_DATA_",
        "startTime":"20221118T150630Z",
        "endTime":"20221202T150350Z",
        "createdTime":"20221207T170826Z",
        "processingStatus": "COMPLETED",
        "processingStartTime":"20221207T170826Z",
        "processingEndTime":"20221207T170826Z",
        "reportDocumentId": "amzn1.tortuga.3.45ee712dc-3512-6cbd-ad71-ab3cb4cffef7.T3FKJJI01Y1E32"
     }]
}

レスポンスパラメータ

パラメータ 詳細
reports
Type: list<Report>
検索条件にマッチするレポートオブジェクトの一覧
nextToken

Type: string
検索結果がpageSize で指定した値よりも多い場合に返されます。続きの結果を取得する場合は、このnextTokenだけをパラメータで指定してgetReportsを再度実行します。

APIの全ての詳細はこちらをご確認ください。SDKをご利用の場合は、利用するSDKのドキュメントをご確認ください。

ステップ3: レポートドキュメントを取得する

この操作により署名済みのS3 URLが返されますので、そのURLを使ってレポートをダウンロードします。

操作: Get Report Document

リクエスト

リクエストパラメータ

名前 ロケーション 説明
reportDocumentId
(必須)

Type: string
Path Parameter レポートドキュメントのID

レスポンス

処理が成功した場合、HTTP 200 ステータスコードを返します.

{
      "reportDocumentId" : "amzn1.tortuga.3.45ee712dc-3512-6cbd-ad71-ab3cb4cffef7.T3FKJJI01Y1E32",
      "url" : ""https://tortuga-[...].amazonaws.com/<reportDocumentId>?X-Amz-Algorithm=...&X-Amz-Signature=...",
      "compressionAlgorithm" : "N/A"
}

Get Report Document API は、レスポンスで url を返します。

APIの詳細は、こちらをご確認ください。SDKを利用する場合は、SDKの説明を参照してください。

ステップ4: レポートドキュメントファイルをダウンロードする

ステップ3で返ってきた情報を使用してレポートをダウンロードする必要があります。url は30秒間のみ有効ですのでご注意ください。このタイミングでレポートは非圧縮されます。

レポートをダウンロードするためのサンプルコードを以下にご紹介します。他開発言語でのダウンロード処理を実行する場合は、サンプルコードの内容を参考にしてください。

  • 一つ前のステップの URL とオプションの圧縮アルゴリズム値は、URL の引数であり、DownloadExample クラスのダウンロードメソッドの CompressionAlgorithm パラメーターでもあります。
package com.example.download;

import java.io.FileOutputStream;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.FileChannel;
import java.nio.channels.ReadableByteChannel;

public class DownloadExample {

    public static void main(String[] args){
        System.out.println("Downloading file");
        try (
            ReadableByteChannel readableByteChannel = Channels.newChannel(new URL("<url from GetReportDocument>").openStream());
            FileOutputStream fileOutputStream = new FileOutputStream("<target output file>")) 
        {
            fileOutputStream.getChannel().transferFrom(readableByteChannel, 0, Long.MAX_VALUE);
            fileOutputStream.close();
            System.out.println("Download complete");
        } catch(Exception e){
            System.err.println(String.format("error downloading: %s", e.getMessage()));
        }
    }

}
wget -O <target output file> "<url from GetReportDocument>"

ヒント: wget で問題が発生しないように、URL は引用符で囲んでください。