🐱

FileMakerで SP-API の Feeds API を用いてAmazon在庫更新(前編)

2023/04/05に公開約3,000字

はじめに

Amazonに関わるEC通販土方のみなさん、MWS から SP-API への移行は順調に進みましたか?ドキュメントによると、MWSは2024年3月31日以降は完全に利用できなくなるようですので、MWSを利用されている「大口出品」さんは対応しないといけません。
https://docs.developer.amazonservices.com/ja_JP/dev_guide/index.html

ところが!

この移行がまた大変...以前、こちらの在庫反映記事で各モールを紹介しましたが、とにかくAmazonでの在庫更新は色々と大変でした。
https://zenn.dev/ontherocks_plz/articles/3df44a4c8d345f
MWSの時ですらこれでしたので、SP-APIではどうなることやら...と重い腰をあげて移行に着手したものの、実際ドえらい目にあったわけで...さすがAmazon、巨人やで...

そこで今回、同じような境遇で苦労されているかもしれないインハウのEC通販土方さんへ向けて、SP-APIでの在庫更新の仕方を紹介していきたいと思います。

本題

MWSを利用していたということは、デベロッパーとしての登録はされていると思います。
デベロッパーセントラルで確認できますデベロッパーセントラルで詳細を確認できます

このデベロッパーとしての登録を初め、SP-APIを利用する為の出品パートナーAPIアプリケーションの登録については、このGitHubを見ながら進めれば問題ないかと思います。
https://github.com/amzn/selling-partner-api-docs/blob/main/guides/ja-JP/developer-guide/SellingPartnerApiDeveloperGuide(日本語).md#開発者として登録

これらの登録等が終わっているという前提で、SP-APIでの在庫反映手順を進めていきますが、実際問題として、ここまで終えるのもそれはそれで大変だと思います。

が!
この辺りはまだ序の口です。何しろ、SP-APIのリファレンスは全編怒涛の英語です。そしてAmazonのリファレンスにありがちな言葉足らず、コレ。どっかのコミュニティでも外人さんが怒ってました 「説明不足すぎるんだヤツらは!」 って(

とにかく、ここまでの準備は頑張って下さい。鬼ガンガレ鬼ガンガレ...

使用するAPI

では早速、どうやって在庫更新するかですが、可能なAPIは実は2つあります。

  • Listings Items API
  • Feeds API

Listings Items API でやる場合は、メソッドは PATCH になり、更新SKUをピンポイントで指定しないといけない為、複数のSKUを同時に更新の指示ができません。複数のSKUを更新する場合は、レート制限(5リクエスト/秒)に注意しつつループさせる必要があります。

そんなに更新頻度は必要ないという場合は Listings Items API の PATCH で問題ないと思いますが、FileMakerServerのスクリプトスケジュールでやりたいから、細かいレート制限管理のループ処理待機はちょっと...、一括で相当数のSKUを更新していきたい...、といった場合は、複数SKUを同時に更新可能な Feeds API が良いと思います。

私は Feeds API を利用して在庫更新していますので、今回は Feeds API で話を進めます。

Feeds API

で、
この Feeds API ですが、手順を要約すると、

  1. POST:在庫更新データ(XML)アップロード用のURLと識別IDの取得
  2. PUT:1.のURLに在庫更新データ(XML)をアップロード
  3. POST:1.の識別IDを用いて2.のアップロードしたデータに対して処理を指定
  4. GET:3.の処理状態を確認、処理完了時の識別IDを取得
  5. GET:4.の識別IDを用いて結果レポートを取得
  6. GET:5.の結果レポートIDを用いて、結果レポートを取得

といった流れになります。

正直、Listings Items API よりかなり手順が多い(

そして、PUT 以外のメソッドでは、かの悪名高き署名付きリクエストが必要という鬼畜っぷり。つまり、1.3.4.5.は署名付きリクエストが必要です。署名とはなんぞや!?って人に簡単に説明すると、いわゆる認証のことですね。Authorizationヘッダーとして必要なもので、一般的な OAuth2.0 とはまた一味も二味も違います。

MWSの時の署名もエンコードしたりなんやかんやしたり大変でしたよね。SP-APIの署名はそれ以上に面倒臭いです。

ラスボスと言う名の署名

取り合えず、
何をするにしてもですね、ほぼ署名を付けてぶん投げないといけませんので、作成できなければそこで試合終了です。安西先生...在庫更新がしt...

その署名の作成手順は、公式で案内されていますが...
https://docs.aws.amazon.com/ja_jp/general/latest/gr/create-signed-request.html
ファルシのルシがコクーンでパージ\(^o^)/

でも安心して下さい!
株式会社フルーデンスの小巻さんが、丁寧に解説して下さっています。

コチラの「AWS API リクエストの署名」を参照
https://frudens.jp/how-to-use-aws-apis-s3-ec2-from-filemaker/

または、HAZIさんのコチラも参照されると良いと思います。
https://qiita.com/HAZI/items/28211d973b26f83baf7e

署名に関してはこんな感じなんですが、後編ではこの署名も含め、Feeds API をじっくり解説していきます。

前編 まとめ

まずSP-APIを始めるまでが大変なんですが、これは色んなサイトで紹介もされていますので、ぜひ諦めずに頑張ってみて下さい。ここさえ乗り切れば、後はFileMakerで何とかしていく処理になります。

とは言え、それはそれで大変なんですが、後編では実際のスクリプトステップを詳細に解説していきますので、自身で組んでいきたい方でも安心して挑戦できると思います。

※書き上げました、後編はコチラです。
https://zenn.dev/ontherocks_plz/articles/00667ffaccf9e2

それでは
Let's enjoy FileMaker!

Discussion

ログインするとコメントできます