Amazon MWS API の使い方


Amazon MWS API 開発に必要な情報源

Amazon Marketplace Web Service Documentation 公式ドキュメント
設定等を確かめるために必須な情報源(英語)

AmazonマーケットプレイスWebサービス公式ドキュメント
設定等を確かめるために必須な情報源(日本語)
英語のほうが情報量が多く正確なような気がします。

Amazon MWS Scratchpad
開発を行う前の検証に必ず必要

Amazon MWS ラボ
大まかな流れを知るにはいい情報源。ただし、サンプルはjavascriptなので注意が必要。

Amazon API の種類
各APIの情報をたどるために必要。サンプルなども提供されているのでよいが、バージョンが古い場合があるので注意。

準備 - Amazon MWS 用のアカウントを作成する

Amazon マーケットプレースWebサービス

前提として、アマゾンで大口のアカウントを作成する必要がある。
もしアマゾンで販売する大口のアカウントが既にある場合は、大口アカウントでサインインする。

ここから、Amazon MWS 用のアカウントを作成すると、「ユーザー権限」の画面に移る。
ここで、「Amazon MWS 開発者権限」セクションがあるので、ここから以下の各種情報を取得する。

  • 出品者ID: ナイショ
  • 開発者 ID: ナイショ
  • AWSアクセスキーID: ナイショ
  • 秘密キー: ナイショv
  • MWSAuthトークン: ナイショ

MWSAuthトークンは、自分のアカウントで行うなら必要ないが、別のアカウントの開発を行う際に必要となってくる情報。

開発手順

準備が出来たら、大まかな開発の流れの中でやることは2つ。

  1. Amazon MWS Scratchpadで試す。
  2. PHP(その他該当の言語)に落とし込む

以上

Amazon MWS APIについての情報が少ないため、開発スタイルを探すのにかなり手間取ったが、出来てしまえばなんてことはない。ただ、情報源が少なかったり、情報が古かったりするので、かなり検証に時間がかかってしまう印象です。ブログなどを探すよりも公式のドキュメントを見たほうが、開発時間が短縮できそうです。

在庫更新までの一連の処理の流れ

処理の流れについては、このサイトがとてもわかり易かったです。
商品情報の登録・更新など一括処理に関するAPI
以下、このサイトからの引用です。

ステップ1 - SubmitFeed アップロードファイルを準備し、暗号化ヘッダーとファイルを関数を利用し、アップロードする。
ステップ2 - GetFeedSubmissionList 関数を利用し処理状況を取得する。
ステップ3 - 処理状況チェック ステップ2で正常終了を確認し、次のステップに進む。
ステップ4 - GetFeedSubmissionResult 関数を利用し、処理結果を取得する。
ステップ5 - エラーチェック 処理結果で正常終了を確認する。エラー発生時には、次のステップに進む。
ステップ6 - 再アップロード アップロードファイルを修正し、再度、ステップ1に進む。

Amazon MWS Scratchpadで試す。

Amazon MWS Lanchpad
ここで、APIセクションとOperationを選んで、それぞれ必要なパラメータを設定していきます。

例えば、在庫更新を行うので、
ステップ1 - SubmitFeed であれば、APIセクションは、フィードで、Operationは、SubmitFeed という具合に選んでいきます。

その他のステップも同様に設定していけば、動作すると思います。

PHPプログラム実装

Amazon MWS Scratchpad の「リクエストの詳細」をそのまま使って、HTTPリクエスト出来るかと考えていたので、charlsを使ってテストしてると、セキュリティ関連のエラーが出て数時間。進み具合が悪かったので、Amazonが提供しているライブラリを使うことにした。汗

MrXの徒然なるブログ

ここのページが分かりやすかったので、載せておきます。
基本的にはAmazonが提供しているAPIライブラリを使用して実装します。