Amazonプログラミング入門

[サンプルソース付]MWS APIを使ってASINと価格をもとに販売手数料を取得する方法

投稿日:

Amazonで物販をするとなると、商品のリサーチをして仕入れ金額がいくらになるか、ということを計算しますよね。

で、いつも計算が大変なのがAmazonの販売手数料です。これはカテゴリごとに課せられる料率が違うし、15%と言われても正確に15%というわけではないんですよね。

Amazon販売手数料の計算には、FBA料金シミュレータというAmazon謹製のwebアプリを使うことでしょう。

多くの人はざっくりとカテゴリをもとに手数料を計算しておいて、利益出る可能性のあるやつを最終確認でFBA料金シミュレータに入力しているはずです。

FBA料金シミュレータはとても便利なのですが、入力が面倒なんです。

  1. ASINを入力して検索
  2. 金額を入力して計算
  3. 出てきた金額をコピペしたり電卓に入力して利益計算

面倒ですよね。え?面倒じゃない?当然の作業?

いえいえ、こういった小さな手間の削減が長い目で見て大きな削減につながりますし、常に作業を効率化させようという意識を持つべきなんです。

というわけで、今回はMWS APIを使ってFBA料金シミュレータで出てくる結果、Amazon販売手数料を自動で取得しちゃおう!というお話です。

例のごとく、サンプルソースコードだけほしいという方は目次から飛んじゃってください。

MWS APIを使ったAmazonの販売手数料・FBA料金シミュレータの結果を自動で取得する方法

MWS APIが便利だということは知っていても、MWS APIでFBA料金シミュレータによるAmazonの販売手数料を取得できるということを知らない人が多かったりします。

たいていの方は人からウワサ程度に『MWS API 便利』としか聞いたことがない人でしょうからね。

で、MWS APIを使ってAmazonの販売手数料を取得するには、下記のライブラリを使用します。

  • GetMyFeesEstimate

『Fee』とは手数料です。

こいつを使えば、何万件とあるASINがあっても、あなたは実行ボタンをクリックするだけ。あとはプログラムが自動で販売手数料を取得してくれます

当ブログで公開しているAsinStockerを使っている方であれば、すでにその快感を体験しているはずです。

コレを使えばFBA料金シミュレータにASINと価格を入力するという単純作業から解放されます。

前に書いた、カート価格を取得する方法・最安値を取得する方法、2つの処理を実行し、その結果をGetMyFeesEstimateに突っ込むとさらに効率が良いです。(もちろん当ブログで公開しているAsinStockerはそういう作りになっています)

Amazon MWS APIを使った販売手数料を取得するサンプルソースコード

GetMyFeesEstimateを使ったサンプルソース

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MarketplaceWebServiceProducts;
using MarketplaceWebServiceProducts.Mock;
using MarketplaceWebServiceProducts.Model;

namespace _00_sample
{
    class Program
    {
        static void Main(string[] args)
        {
            string appName         = "";               // アプリの名前
            string appVer          = "";               // アプリのバージョン
            string merchantId      = "";               // 出品者ID
            string accessKeyId     = "";               // アクセスキー
            string secretAccessKey = "";               // 秘密キー
            string marketPlaceId   = "A1VC38T7YXB528"; // ←日本はこの値固定

            MarketplaceWebServiceProductsConfig config = new MarketplaceWebServiceProductsConfig();
            config.ServiceURL = "https://mws.amazonservices.jp";

            MarketplaceWebServiceProductsClient service;
            service = new MarketplaceWebServiceProductsClient(appName, appVer, accessKeyId, secretAccessKey, config);

            GetMyFeesEstimateRequest request = new GetMyFeesEstimateRequest();

            string[] asinAry = { // 1度に突っ込めるASINは10個まで!
                                   "B00WXLQBEI",
                                   "B00HIVH840",
                                   "B00MHXHL64",
                                   "B01ASQ2G6G",
                                   "B00PDMJ7VS",
                                   "B006D37Q82",
                                   "B01KFQQARK",
                                   "B005TJMC0S",
                                   "B075Q94T7Y",
                                   "B00BYIGR4U",
                               };
            decimal[] priceAry = { // ASINに対する価格
                                     8300,
                                     13500,
                                     5550,
                                     3980,
                                     5080,
                                     12980,
                                     4839,
                                     13800,
                                     10300,
                                     25500,
                                 };

            request.FeesEstimateRequestList = new FeesEstimateRequestList();
            for (int i = 0; i < asinAry.Length; i++ )
            {
                FeesEstimateRequest feeReq = new FeesEstimateRequest();

                feeReq.MarketplaceId                                 = marketPlaceId;
                feeReq.IdType                                        = "ASIN";
                feeReq.IdValue                                       = asinAry[i];
                feeReq.PriceToEstimateFees                           = new PriceToEstimateFees();
                feeReq.PriceToEstimateFees.ListingPrice              = new MoneyType();
                feeReq.PriceToEstimateFees.ListingPrice.CurrencyCode = "JPY";
                feeReq.Identifier                                    = i.ToString();
                feeReq.IsAmazonFulfilled                             = true;
                feeReq.PriceToEstimateFees.ListingPrice.Amount       = priceAry[i];

                request.FeesEstimateRequestList.FeesEstimateRequest.Add(feeReq);
            }
            request.SellerId = merchantId;

            GetMyFeesEstimateResponse response = null;
            response = service.GetMyFeesEstimate(request);

            for (int i = 0; i < asinAry.Length; i++ )
                Console.WriteLine(response.GetMyFeesEstimateResult.FeesEstimateResultList.FeesEstimateResult[i].FeesEstimate.TotalFeesEstimate.Amount);
        }
    }
}

GetMyFeesEstimate実行結果

GetMyFeesEstimate実行結果

どどん!

…キレイな顔してるだろ?死んでるんだぜ、これ。

10個分のASINを入力したはずなのですが、8個分しか出ていませんねぇ…。原因は、9個目のASINで例外を吐き出していました。

まぁMWS APIをそこそこ使えばわかってくるのですが、例外処理はしっかり作っておかないとダメです。

当ブログで公開するサンプルソースには例外処理は載せていません。あまりにもソースコードが長くなるので。

GetMyFeesEstimateでよく起こる例外というか失敗するケースとしましては、ASINに対して商品の重量が設定されていない場合ですね。

ここで取得した結果を販売価格から差し引けば、FBA料金シミュレータの値とほぼ一致します。

まとめ

MWS APIでAmazon販売手数料が自動で取得できるということを知らない人が多いように見えます。

AsinStockerを使っていただいている方にはすでにわかっていると思うのですが、何千、何万のASINを一括で販売手数料を取得してくれるってありがたいですよね。

『ツールを使うと稼げない』とよく言われてきましたが、わたしのような多忙で無能な人間は『ツールを使わなければ稼げない』なんですよね。

ツールはツールでも、楽するツールは稼げないけど、作業効率を上げるツールは稼ぐことに大きく貢献してくれます。

使えるツールやプログラム、ソースコードはガンガン使っていきましょう!


							

スポンサードリンク

-Amazonプログラミング入門
-, , ,

Copyright© 自作ツールと輸入ビジネス , 2024 AllRights Reserved Powered by AFFINGER4.