今回は [きっかけ編] という位置づけで、タイトルにもある通りAmazon MWS から SP-API へ移行したお話を書こうと思います。
MWS: Marketplace Web Service (マーケットプレイスウェブサービス)の略
https://developer.amazonservices.jp/blog-others-spapirelease
SP-API: Selling Partner API (セリングパートナーエーピーアイ)の略
※なお、色々調べながらやったら2週間ぐらいかかってしまった...
SP-APIにアクセスするまでの準備、テスト接続、PythonでのSP-APIのたたき方、使い方を書きました!
- Amazon MWS から SP-API への移行 [準備編]
- Amazon MWS から SP-API への移行 [Postmanによるテスト接続編]
- Amazon MWS から SP-API への移行 [PythonでSP-APIをたたく編]
なぜ移行が必要になったか
まずはAmazonからの正式なお達し(時期未定)
4.利用開始にあたって
https://developer.amazonservices.jp/blog-others-spapirelease
既にMWSをご利用いただいている開発者様は、今後もMWSを継続してご利用いただけます。また、MWSとSP-APIのハイブリッドとして運用も可能です。ただ、時期は未定ですが、将来的にはMWSが廃止される予定ですので、早めの移行をご検討いただくことを推奨いたします。
「時期未定ですがMWSは廃止されますよ!」とのこと。早めに作り変える必要あるため再開発に着手しました。
最新の発表では「2022年7月31日」がアプリ公開している開発者向けの期限になっています。
以下の記事に情報を簡単にまとめました。
参考:【MWSの廃止期限】MWSからSP-APIへの移行はいつまでに済ませればいいの?
また、過去に開発したアプリがMWSにて実装されているため、MWSが使用不可になる前にSP-APIへ移行しなければというモチベーションで実施しました。
やりたかったこと
現在、MWSから取得している商品情報取得をSP-APIにて取得できるようにする。
具体的に取得している項目
- 商品名
- 商品価格
- 商品配送情報
- 商品カテゴリ
- 商品ブランド
- 商品説明
- 商品サイズ
- 商品重量
- 商品写真
- その他色々ありますが割愛...
どんな流れで実装したか
実装方法については正規の案内・マニュアルを熟読すれば可能だと思いますが...経験と知識が中々ついていけず、悪戦苦闘しました。
Amazon マーケットプレイスWebサービス(MWS) 日本公式ブログ
https://developer.amazonservices.jp/blog-others-spapirelease
GitHub - selling-partner-api-docs
この中にある説明を抜粋すると、以下の流れになります。
- Amazon Celler Central に 開発者として登録する
- AWSユーザを作成し、IAMポリシーを付与する
- ユーザ情報が必要になるのでメモ
- Amazon Celler Central にてアプリケーション登録を実施する
- 登録したアプリケーション情報が必要になるのでメモ
- アクセスするAPIを決定する
- アクセスするAPIの諸情報が必要になるのでメモ
- プログラム開発する
- 「2.」「3.」「4.」でメモした情報をもとに開発
- アクセスする
- APIから欲しい情報ゲット!
難しかったポイント
1つ目 - 情報がない
英語ができる方は問題ないと思うのですが、とにかく日本語情報が少ないためエラーが発生した際に何が間違ってるのか?のデバッグ作業に時間がかかりました。
2つ目 - サンプルコードがない
Python で開発したアプリの再開発のため、実装スクリプトは必然的に Python です。「いざ!Pythonで実装だ!」と動こうとしても、サンプルとなる情報が少なすぎて一から自分で実装する必要がありました。
3つ目 - 認証部分の実装が複雑
SP-APIの認証機能実装については、SDK(英:software development kit)として「Java」や「C#」が準備されています。しかしながら、Python用は探したけど良く分かりませんでした。
(もしかしたらあるのかな...)
私の英語力で良く分からないまま検索するのは無駄!とあきらめ、今後のスキル向上のためにも自分で実装してしまおう、ということになりました。が、、、これが苦労の始まりでした。
結果
結果としては、無事情報取得することができました。 (どうやったのか知りたいんだが!?という方がいそうだったら記事書きます。)※記事書きましたー!
一例となりますが、商品の最安価格情報を取得したい場合、MWSとSP-APIのAPIは以下のようになります。
ASINコードで最安価格情報を取得したい場合は以下のAPIを用います。
MWS: GetLowestOfferListingsForASIN
SP-API: getItemOffers
個人的には、MWSドキュメントの方がWebが見やすいのですが、慣れの問題でしょうか。
まとめ
今回、MWS から SP-API への移行について触り部分だけをお話ししました。AWSユーザ作成~PythonのによるAPIアクセス~結果取得までについては、具体的な Python コードを用いて隙を見て書いてみたいと思います。書きました!(↓)
- Amazon MWS から SP-API への移行 [準備編]
- Amazon MWS から SP-API への移行 [Postmanによるテスト接続編]
- Amazon MWS から SP-API への移行 [PythonでSP-APIをたたく編]
SP-API関連のアプリケーション開発して!というお仕事、お待ちしてます!(ちょっとだけアピール)
ではっ!!!