2019-10-15

Amazon MWS案件

株式会社qnote > 事例 > Amazon MWS案件

案件の概要

Amazonの出品や在庫を依頼先のデータベースと連携するバッチの開発です。

依頼先では、すでに別のECサイトとの連携を行なっていて、依頼先データベースで一元管理を行なっていました。
今回は、Amazonとの連携を行いたいとのことでしたので、Amazonと依頼先データベースを連携するバッチを開発しました。

Amazon MWSとはなにか

Amazonが提供しているサービスのひとつです。
ではどんなサービスなのかというと、公式では

AmazonマーケットプレイスWebサービス(Amazon MWS)は統合されたWebサービス API で、これにより出品者は出品、注文、支払い、レポートなどをプログラムでデータを交換することができます。

Amazonマーケットプレイス Web サービス (Amazon MWS) ドキュメント

と説明されています。

何ができるのか

通常、Amazonに出品する場合は、「セラーセントラル」という出品用の管理ページで行います。
Amazon MWSを使うと、出品する際に、管理画面を使うことなく、APIを利用して出品や在庫の更新などを行うことができます。
大量の商品を扱ったり、在庫の変動が激しい商品など、人の手での管理が厳しい場合は、このAPIを利用して自動で管理を行うプログラムを開発することで、入力ミスや時間短縮をすることができます。

また、商品の価格なども取得できるため、価格の推移や競合価格などマーケティングに必要な情報を得ることもできます。

どう連携するのか

以下の4つのバッチを順番で実行し、依頼者データベースとAmazonを連携させます。

  • 受注作成バッチ

    Amazonから注文された内容を、依頼者データベース(以下DB)に登録するバッチ

  • 在庫連携バッチ

    Amazonに出品されている商品の在庫をDBから取得、Amazonへ反映するバッチ

  • 商品連携バッチ

    Amazonへ出品する商品をDBから取得、Amazonへ反映するバッチ

  • 出荷連携バッチ

    注文の出荷状況をDBから取得、Amazonへ反映するバッチ

商品連携

Amazonへ出品する商品を連携するバッチです。
データベースから、連携する商品リストを取得、それをTSVデータとして作成します。
そのTSVデータと、前回アップロードに成功したTSVデータの差分を比較、差分のあるデータを抽出してアップロード用TSVとして出力します。
※このとき、ファイルサイズは10MB以下でないとアップロードができないため、10MBを超えるデータは次回連携データとして出力します。
そして、作成したアップロード用TSVデータを、フィードAPIを使用してAmazon MWSにアップロードし、Amazonに反映させます。

受注作成

Amazonで未出荷状態の注文を取得して、データベースに反映するバッチです。
Amazon MWSの「注文API」を使用して、Amazonから未出荷の注文を取得します。
そこで取得した「注文番号」から、その注文の商品情報を、「注文API」で取得します。
取得した情報を、データベースに沿った形に変更、データベースに注文として登録します。

在庫連携

データベースから在庫を取得して、Amazonに反映するバッチです。
在庫連携対象商品を取得したら、TSVデータとして作成します。
そのTSVデータと、前回アップロードに成功したTSVデータの差分を比較、差分のあるデータを抽出してアップロード用TSVとして出力します。
※このとき、ファイルサイズは10MB以下でないとアップロードができないため、10MBを超えるデータは次回連携データとして出力します。
そして、作成したアップロード用TSVデータを、フィードAPIを使用してAmazon MWSにアップロード、Amazonに反映させます。

出荷連携

データベースから出荷状況を取得して、Amazonに反映するバッチです。
出荷連携対象商品を取得したら、TSVデータとして作成します。
※このとき、ファイルサイズは10MB以下でないとアップロードができないため、10MBを超えるデータは次回連携データとして出力します。
そして、作成したアップロード用TSVデータを、フィードAPIを使用してAmazon MWSにアップロードし、Amazonに反映させます。

MWSの仕組み

MWSはAPIを使用して、Amazonとデータのやり取りを行います。
また、Amazonへデータを送る場合は、フィードAPIを使用することになります。

フィードAPIについて

在庫を更新する、出荷状況を更新する、商品を更新する…といった場合、フィードAPIを使用してデータをアップロードすることになります。
フィードAPI自体は共通ですが、アップロードの際に指定するフィードタイプによって、在庫を更新したり商品の価格を変更したりなど、更新する内容が変わります。

クライアントライブラリを利用する

Amazon MWSにはクライアントライブラリが用意されています。
現在、Java、PHP、C#の3つの言語でサポートされたものが提供されています。
https://developer.amazonservices.jp/tools

クライアントライブラリを使用することで、リクエストの署名や送信リクエストのフォーマットなどが実行できます。

このサービスに関するお問い合わせはこちら

- お問い合わせ -

Recommend

Contact

お問い合わせ

ご要望など、お気軽にお問い合わせください。