会社行きたくなかったんです。

自由になりたくて会社辞めました

Amazon ビジネス

Amazon MWS サブスクリプションAPIとAmazon SQSの設定をしてみました。

更新日:

Amazon MWS サブスクリプションAPIを使ってみようと思い立ちました。

サブスクリプションAPIを使うと、自分が出品している商品のTOP20の出品者の出品情報の変化をPUSH通知で受け取ることができます。(AnyOfferChangedNotification)

もう一つ、FBAマルチチャネルサービス(MCF)の出荷注文のステータスが変更されたときに送信される機能もあります。(FulfillmentOrderStatusNotification)

僕は、FulfillmentOrderStatusNotificationを最終的に使用したいと考えています。

スポンサーリンク

Amazon MWS サブスクリプションAPIとAmazon SQSの設定手順

こちらのページの手順をそのままやってみます。
サブスクリプションAPI 設定方法について

おおまかな手順は以下です。

1.Amazon SQSのキューの作成
(AWS Management Consoleで行う)
2.Amazon MWSで購読設定
(Amazon MWS Scratchpadで設定)
3.MWSの購読設定の確認
(Amazon MWS Scratchpadで確認)
4.Amazon SQSへの送信テスト
(Amazon MWS Scratchpadで送信し、 SQSのコンソール画面で確認)
5.サブスクライブ(購読)情報を設定
(Amazon MWS Scratchpadで設定、この設定により出品情報の変動がSQSに届くようになります。)

1.Amazon SQSのキューの作成

まずは、こちらのページで、「アカウント」にマウスカーソルを合わせて、「AWS マネジメントコンソール」をクリック

「サービス」をクリック

「メッセージング」の下にある「Simple Queue Service」をクリック

「今すぐ始める」をクリック

「新しいキューの作成」画面が開きます。
キュー名を入力し、標準キューとFIFOキューのどちらを選択したらよいかわからないので、とりあえず、標準キューを選択しました。

「キューのクイック作成」をクリック

 

キューが作成されました。

右下の赤枠で囲った部分の値と、公式ブログの値を見比べると、同じなので、「標準キュー」を選択したのが正しかったということになる思います。

↓↓↓これと

↓↓↓公式ブログの値とが一致しています。

 

次に、Amazon MWSがキューに対してメッセージを送信できるようにするためのアクセス許可を設定します。

下の方のタブの「アクセス許可」をクリックして、

「アクセス許可の追加」をクリック

効果は、「許可」にチェックです。
アクションは、「SendMessage」と「GetQueueAttributes」にチェックを入れます。


AWS アカウント番号は、公式ブログには、「437568002678」と書いてあります。

自分自身のアカウント番号ではなく、「437568002678」を入力します。

僕は、これを間違っていて、受信できませんでした。

入力したら、「アクセス許可の追加」をクリック

アクセス許可が追加されました。

以上で、Amazon SQSのキューの作成が完了しました。

2.Amazon MWSで購読設定

Amazon MWS Scratchpadで設定を行います。

公式ブログに書いてある通りに、入力します。

- APIセクション:サブスクリプション
- Operation: RegisterDestination
- SellerId,AWSAccessKeyId,Secret Key: それぞれに発行された認証情報を設定ください。
- MarketplaceId: A1VC38T7YXB528 (日本のマーケットプレイスID)
- Destination.DeliveryChannel: SQS
- Destination.AttributeList.member.1.Key: sqsQueueUrl
- Destination.AttributeList.member.1.Value: SQSのキューを作成した際に発行されたURLを設定します

SQSのキューを作成した際に発行されたURLは、AWS SQS Management Consoleでキューを選択すると、下に表示される「詳細」の中の「URL」です。

全て入力したら、「送信」をクリック


右側にレスポンス(200)と表示されれば成功です。

購読設定完了しました。
念のため、設定を確認します。

3.MWSの購読設定の確認

RegisterDestinationをListRegisteredDestinationsに変更すると、
MarketplaceIdが空欄になってしまうので、再度、 A1VC38T7YXB528を入力します。

「送信」をクリック
右側にレスポンス(200)と表示され、AttributeList>member>valueにSQSのキューを作成した際に発行されたURLが表示されていればOKです。

購読設定ができたので、次は送信テストを行います。

4.Amazon SQSへの送信テスト

引き続きAmazon MWS ScratchpadでListRegisteredDestinationsをSendTestNotificationToDestinationsに変更します。

MarketplaceId: A1VC38T7YXB528
Destination.AttributeList.member.1.Value:SQSのキューを作成した際に発行されたURL

「送信」をクリック

エラーが発生してしまいました。
DependencyFatalException Amazon MWS Scratchpad SendTestNotificationToDestinations レスポンス (424)
Seller '[Seller ID]' is not eligible.

「Seller '****' is not eligible.」

↓↓↓

セラー'****'は不適格です。

怖いですね。

テクニカルサポートに問い合わせしたり、いろいろ設定をいじってみましたが、ダメでした。

知り合いのセラーにもスクラッチパッドで「SendTestNotificationToDestinations」をやってもらいましたが、同じエラーでした。

 

無視して、購読設定をしてみました。

5.サブスクライブ(購読)情報を設定

この設定をすることで、アマゾンからSQSキューにメッセージが届くようになります。

引き続きスクラッチパッドで作業します。

ListRegisteredDestinations を CreateSubscriptionに変更します。

MarketplaceId: A1VC38T7YXB528
Subscription.NotificationType:AnyOfferChanged
Destination.AttributeList.member.1.Value:SQSのキューを作成した際に発行されたURL

「送信」をクリックします。

右側にレスポンス(200)と表示されたので、成功したようです。

ListSubscriptionで確認してみました。

CreateSubscription をListSubscription に変更します。
MarketplaceId: A1VC38T7YXB528
Destination.AttributeList.member.1.Value:SQSのキューを作成した際に発行されたURL

「送信」をクリックします。

右側にレスポンス(200)と表示され、ちゃんと登録されているようです。

 

「レスポンス (424)」のエラーは解消されていませんが、

SQSキューにメッセージが届くようになりました。

「Amazon AWS」関連書籍の情報

楽天で検索した結果

アマゾンで検索した結果

 

-Amazon, ビジネス

Copyright© 自由になりたくて会社辞めました , 2018 AllRights Reserved Powered by AFFINGER4.