diff --git a/lib/paapi.rb b/lib/paapi.rb index 383dbf4..24103b2 100644 --- a/lib/paapi.rb +++ b/lib/paapi.rb @@ -1,8 +1,8 @@ require 'paapi/version' -require 'paapi/locales' require 'paapi/aws_request' require 'paapi/client' +require 'paapi/item' require 'paapi/response' module Paapi @@ -26,7 +26,39 @@ module Paapi 'Offers.Listings.MerchantInfo', 'Offers.Listings.Price', 'Offers.Listings.SavingBasis' - ] + ].freeze + + Locale = Struct.new(:key, :name, :host, :region) do + def site + host.sub('webservices', 'www') + end + end + + MARKETPLACES = { + au: Locale.new(:au, 'Australia', 'webservices.amazon.com.au', 'us-west-2'), + br: Locale.new(:br, 'Brazil', 'webservices.amazon.com.br' 'us-east-1'), + ca: Locale.new(:ca, 'Canada', 'webservices.amazon.ca', 'us-east-1'), + fr: Locale.new(:fr, 'France', 'webservices.amazon.fr', 'eu-west-1'), + de: Locale.new(:de, 'Germany', 'webservices.amazon.de', 'eu-west-1'), + in: Locale.new(:in, 'India', 'webservices.amazon.in', 'eu-west-1'), + it: Locale.new(:it, 'Italy', 'webservices.amazon.it', 'eu-west-1'), + jp: Locale.new(:jp, 'Japan', 'webservices.amazon.co.jp', 'us-west-2'), + mx: Locale.new(:mx, 'Mexico', 'webservices.amazon.com.mx', 'us-east-1'), + es: Locale.new(:es, 'Spain', 'webservices.amazon.es', 'eu-west-1'), + tr: Locale.new(:tk, 'Turkey', 'webservices.amazon.com.tr', 'eu-west-1'), + ae: Locale.new(:ae, 'United Arab Emirates', 'webservices.amazon.ae', 'eu-west-1'), + uk: Locale.new(:uk, 'United Kingdom', 'webservices.amazon.co.uk', 'eu-west-1'), + us: Locale.new(:us, 'United States', 'webservices.amazon.com', 'us-east-1'), + }.freeze + + Operation = Struct.new(:target_name, :endpoint_suffix, :http_method, :service ) + + OPERATIONS = { + get_browse_nodes: Operation.new( 'GetBrowseNodes', 'getbrowsenodes', 'POST', 'ProductAdvertisingAPI' ), + get_items: Operation.new( 'GetItems', 'getitems', 'POST', 'ProductAdvertisingAPI' ), + get_variations: Operation.new( 'GetVariations', 'getvariations', 'POST', 'ProductAdvertisingAPI' ), + search_items: Operation.new( 'SearchItems', 'searchitems', 'POST', 'ProductAdvertisingAPI' ) + }.freeze class << self attr_accessor :access_key, diff --git a/lib/paapi/version.rb b/lib/paapi/version.rb index d4cdc2f..098f67a 100644 --- a/lib/paapi/version.rb +++ b/lib/paapi/version.rb @@ -1,3 +1,3 @@ module Paapi - VERSION = '0.0.1' + VERSION = '0.0.2' end