Skip to content
/ mws-rb Public

A complete wrapper for Amazon.com's Marketplace Web Service (MWS) API.

License

Notifications You must be signed in to change notification settings

veeqo/mws-rb

Folders and files

NameName
Last commit message
Last commit date
Apr 8, 2021
Apr 8, 2021
Apr 8, 2021
Mar 17, 2015
Dec 14, 2015
Apr 6, 2015
Apr 21, 2016
Aug 19, 2019
Apr 21, 2016
Dec 15, 2015
Dec 8, 2015
Aug 22, 2019
Dec 15, 2015
Feb 19, 2018

Repository files navigation

mws_rb

Build Status

This gem is a complete wrapper for Amazon.com's Marketplace Web Service (MWS) API extracted from http://veeqo.com

Installation

Using with a Gemfile:

gem 'mws_rb', require: 'mws'
bundle install

Using in a simple ruby file:

gem install mws_rb
require 'mws'

Initialization

MWS API
    mws_api = MWS.new(
      host: "mws-eu.amazonservices.com",
      aws_access_key_id: "Your access key id",
      aws_secret_access_key: "Your secret access key",
      seller_id: "Your seller/merchant id"
    )
MWS AUTH
    mws_auth = MWS.auth(
      aws_access_key_id: "Your access key id",
      aws_secret_access_key: "Your secret access key",
      app_instance_id: "Your application instance id",
      host: "sellercentral.amazon.co.uk", # or another marketplace
      uri: "/gp/mws/registration/register.html",
      return_path: "/auth/oauth_callback?sessionID=your_session_id"
    )

Using

MWS API

To access the apis you can use:

     mws_api._api_name_._action_to_calll(params={})

Let's say we want to retrieve a list of orders using MWS orders api:

    mws_api.orders.list_orders(
      "MarketplaceId.Id.1" => "marketplace id",
      created_after: Time.new(2013, 1, 1)
    )

Here is a list of all available APIS:

  • mws_api.feeds
  • mws_api.orders
  • mws_api.reports
  • mws_api.products
  • mws_api.sellers
  • mws_api.subscriptions
  • mws_api.recommendations
  • mws_api.fulfillment_inventory
  • mws_api.fulfillment_inbound_shipment
  • mws_api.fulfillment_outbound_shipment
  • mws_api.merchant_fulfillment
MWS AUTH

To get authorization url for your marketplace:

     mws_auth.authorization_url

And after successful authentication on Amazon side it will redirect you to your callback url:

    POST www.your-domain.com/auth/oauth_callback

with params:

    params = {
      'sessionID': 'your_session_id', # custom param
      'Merchant': 'Merchant ID',
      'Marketplace': 'Merchant Marketplace',
      'MWSAuthToken': 'MWS authorization token',
      'SignatureMethod': 'HmacSHA256',
      'SignatureVersion': '2',
      'Signature': 'Signature generated from your side and have sent to Amazon',
      'AWSAccessKeyId': 'Amazon access key for the marketplace',
      'SignedString': "POST\nhttps://www.vendor.com/mwsApp1\n/orders/listRecentOrders.jsp?sessionId=123\nAWSAccessKeyId=AKIAFJPPO5KLY6G4XO7Q&MWSAuthToken=mzn.mws.1234&Marketplace=ATVPDKIKX0DER&Merchant=A047950713KM6AGKQCBRD&SignatureMethod=HmacSHA256&SignatureVersion=2"
    }

NOTE: Before saving the credentials to your DB check the validity of the received signature:

mws_auth.valid_signature?(signature: params[:Signature], signed_string: params[:SignedString])

API docs/actions/params

You can check on the MWS documentation section all actions and params needed:

LICENSE

Copyright (c) Jhimy Fernandes Villar

About

A complete wrapper for Amazon.com's Marketplace Web Service (MWS) API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages