1.

Amazon PA-API 5.0 アカウント開設とアクセスキー発行手順

編集
この記事の要点
  • Step 1: Amazon アソシエイト・プログラム参加(サイト・SNS 審査あり)
  • Step 2: アソシエイト管理画面 → ツール → Product Advertising API
  • Step 3: 認証情報を追加から Access Key ID / Secret Access Key 発行(Secret は初回しか表示されないのでコピー必須)
  • パートナータグ (xxx-22 等) は審査通過時に付与されるアソシエイト ID。リクエストに必須
  • 売上発生条件: 初回アカウント認証から 180 日以内に 3 件以上の適格売上がないと PA-API は利用不可になる
  • PA-API 5.0 はリクエスト署名 (AWS SigV4) が必須。公式 SDK か paapi5-php-sdk を使うのが簡単

全体の流れ

  1. Amazon アソシエイト・プログラムへ登録 (サイト or SNS チャネルが必要)
  2. 審査通過 (180 日以内に 3 件以上の適格売上を出すと本承認)
  3. アソシエイト管理画面から PA-API 用認証情報を発行
  4. Access Key ID / Secret Access Key / パートナータグの 3 点セットを取得
  5. SDK や HTTP クライアントから署名付きリクエストで API 呼出

Step 1: Amazon アソシエイト登録

  1. Amazon アソシエイト にアクセス
  2. 通常の Amazon アカウントでログイン
  3. アカウント情報・支払先・サイトまたは SNS の URL を入力
  4. 運営サイトの内容についての質問に回答(ジャンル・収益化方法)
  5. アソシエイト ID (例: xxxxxx-22) を選ぶ → 登録完了

登録直後は仮登録状態。180 日以内に 3 件以上の適格売上が必要です。これを満たさないとアソシエイト ID が無効化されます。

Step 2: PA-API 用の認証情報発行

  1. アソシエイト管理画面にログイン
  2. 上部メニューから ツール → Product Advertising API
  3. 認証情報を追加する ボタンをクリック
  4. 「認証情報を追加しました」画面で:
    • アクセスキー (Access Key ID)
    • シークレットキー (Secret Access Key)この画面でしか確認できない。閉じると二度と取り出せず再発行のみ
    • 認証情報を CSV でダウンロードボタンで保存推奨
  5. パートナータグはアソシエイト ID (例 yourid-22) と同じ

取得する 3 つの値

項目用途
Access Key IDAKIAxxxxxxxxxxxxxxxx公開可。リクエスト識別
Secret Access KeywJalrXUtnFEMI/K7MDENG/...絶対秘匿。署名生成用
パートナータグyourid-22リクエストに必須。報酬の紐付け

マーケットプレースも指定が必要です:

マーケットプレースホストリージョン
日本webservices.amazon.co.jpus-west-2
米国webservices.amazon.comus-east-1
英国webservices.amazon.co.ukeu-west-1
ドイツwebservices.amazon.deeu-west-1

Step 3: SDK でテストリクエスト

# PHP SDK
composer require amzn/paapi5-php-sdk
setAccessKey('YOUR_ACCESS_KEY');
$config->setSecretKey('YOUR_SECRET_KEY');
$config->setHost('webservices.amazon.co.jp');
$config->setRegion('us-west-2');

$apiInstance = new DefaultApi(new Client(), $config);

$req = new SearchItemsRequest();
$req->setSearchIndex('All');
$req->setKeywords('Kindle');
$req->setItemCount(3);
$req->setPartnerTag('yourid-22');
$req->setPartnerType(PartnerType::ASSOCIATES);
$req->setResources(['ItemInfo.Title', 'Offers.Listings.Price']);

try {
    $resp = $apiInstance->searchItems($req);
    foreach ($resp->getSearchResult()->getItems() as $item) {
        echo $item->getASIN() . ' — '
           . $item->getItemInfo()->getTitle()->getDisplayValue() . "\n";
    }
} catch (ApiException $e) {
    echo "Error: " . $e->getMessage() . "\n";
    echo $e->getResponseBody();
}

180 日 / 3 件売上ルール

PA-API が「審査制」と言われる根拠です:

  • アソシエイト登録初日から180 日 (約 6 ヶ月)がカウント開始
  • この期間中に 3 件以上の適格売上(自分以外の購入者によるアソシエイトリンク経由購入)が必要
  • 達成すると本登録され、PA-API が継続利用可能に
  • 未達成だとアソシエイト ID 失効 → PA-API も使用不可
  • 失効後の再登録は可能。アカウントは Amazon 利用そのものとは別

新規開設後に PA-API を使う場合の戦略:

  1. 最初は 商品リンクツール (PA-API 不要) で売上 3 件を作る
  2. 3 件達成後に PA-API 認証情報を発行 → 開発開始
  3. その後はリクエスト数に応じてレート制限が緩和される

キー漏洩時の対処

  1. アソシエイト管理画面 → PA-API → 該当キーを削除
  2. 新規キーを発行
  3. git にコミットしてしまった場合は git filter-repoBFG Repo-Cleaner で履歴から除去
  4. 環境変数 or .env 管理に変更(.gitignore 必須)

レート制限

  • 初期: 1 リクエスト/秒、合計 8,640 リクエスト/日
  • 過去 30 日の発送済売上 1 円ごとに +1 リクエスト/日増加
  • つまり売上を上げるほどリクエスト枠が増える仕組み
  • 枠を超えると TooManyRequests (429) エラー

FAQ

Q: シークレットキーをメモし忘れた
A: 一度も表示できない。該当キーを削除して新規発行するしかない。発行直後に必ず CSV ダウンロードか .env に保存を。

Q: パートナータグを複数持てる?
A: 可能。サイト別に siteA-22 / siteB-22 等を発行し、リクエストの PartnerTag で切替。レポートも分かれる。

Q: 売上 3 件が間に合わない
A: 期限内達成は努力義務。失効しても再申請は可能だが、再度 180 日カウントから。SNS 流入や知人購入はカウント対象になることが多い (規約は要確認)。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. アカウントの作成とキーの生成
  2. PA-APIの使い方 リクエストの構造とパラメータの指定
  3. リクエストにスペースを含める方法
  4. 署名認証の方法(PHPサンプル ItemSearch)
  5. エラー一覧
  6. レスポンスの構造(ItemSearch)