|
@@ -6,21 +6,28 @@ module Ebaytr
|
|
|
# CONFIG_FILE_PATH = %w(ebay_client.yml)
|
|
|
# yml = YAML.load_file(Rails.root.join(*CONFIG_FILE_PATH))
|
|
|
# yml = YAML::load(IO.read(path_to_yaml_file))
|
|
|
- mattr_accessor :token, :url, :api, :site, :app_name, :global_id
|
|
|
+ mattr_accessor :token, :app_name, :env, :url, :api, :site, :global_id
|
|
|
|
|
|
@@token = ''#yml[Rails.env]["token"]
|
|
|
@@app_name = ''#yml[Rails.env]["appid"]
|
|
|
+ @@env = "development"
|
|
|
@@url = "https://api.sandbox.ebay.com/ws/api.dll"
|
|
|
@@api = "967"
|
|
|
- @@site = "0"
|
|
|
+ @@site = "US"
|
|
|
@@global_id = "EBAY-US"
|
|
|
|
|
|
- def self.trading(request_name,hash = {})
|
|
|
+ def self.trading(request_name, hash={})
|
|
|
+ if @@env=='production'
|
|
|
+ @@url = "https://api.ebay.com/ws/api.dll"
|
|
|
+ else
|
|
|
+ @@url = "https://api.sandbox.ebay.com/ws/api.dll"
|
|
|
+ end
|
|
|
url = URI.parse(@@url)
|
|
|
https = Net::HTTP.new(url.host,url.port)
|
|
|
https.use_ssl = true
|
|
|
req = Net::HTTP::Post.new(url.path)
|
|
|
- req.add_field("X-EBAY-API-SITEID", @@site)
|
|
|
+ site_id = trading_site_map.select{|x| x[:site_code]==@@site }[0][:site_id]
|
|
|
+ req.add_field("X-EBAY-API-SITEID", site_id)
|
|
|
req.add_field("X-EBAY-API-COMPATIBILITY-LEVEL", @@api)
|
|
|
req.add_field("X-EBAY-API-CALL-NAME", request_name)
|
|
|
|
|
@@ -106,4 +113,39 @@ module Ebaytr
|
|
|
object_hash = Hash.from_xml(res.body)["#{request_name}Response"]
|
|
|
object_hash
|
|
|
end
|
|
|
+
|
|
|
+ def self.site_map
|
|
|
+ trading_site_map
|
|
|
+ end
|
|
|
+
|
|
|
+ private
|
|
|
+
|
|
|
+ def trading_site_map
|
|
|
+ # http://developer.ebay.com/devzone/xml/docs/reference/ebay/types/sitecodetype.html
|
|
|
+ [
|
|
|
+ { site_id: 15, site_code: 'Australia' },
|
|
|
+ { site_id: 16, site_code: 'Austria' },
|
|
|
+ { site_id: 123, site_code: 'Belgium_Dutch' },
|
|
|
+ { site_id: 23, site_code: 'Belgium_French' },
|
|
|
+ { site_id: 2, site_code: 'Canada' },
|
|
|
+ { site_id: 210, site_code: 'CanadaFrench' },
|
|
|
+ { site_id: 100, site_code: 'eBayMotors' },
|
|
|
+ { site_id: 71, site_code: 'France' },
|
|
|
+ { site_id: 77, site_code: 'Germany' },
|
|
|
+ { site_id: 201, site_code: 'HongKong' },
|
|
|
+ { site_id: 203, site_code: 'India' },
|
|
|
+ { site_id: 205, site_code: 'Ireland' },
|
|
|
+ { site_id: 101, site_code: 'Italy' },
|
|
|
+ { site_id: 207, site_code: 'Malaysia' },
|
|
|
+ { site_id: 146, site_code: 'Netherlands' },
|
|
|
+ { site_id: 211, site_code: 'Philippines' },
|
|
|
+ { site_id: 212, site_code: 'Poland' },
|
|
|
+ { site_id: 215, site_code: 'Russia' },
|
|
|
+ { site_id: 216, site_code: 'Singapore' },
|
|
|
+ { site_id: 186, site_code: 'Spain' },
|
|
|
+ { site_id: 193, site_code: 'Switzerland' },
|
|
|
+ { site_id: 3, site_code: 'UK' },
|
|
|
+ { site_id: 0, site_code: 'US' },
|
|
|
+ ]
|
|
|
+ end
|
|
|
end
|