ebayapi 0.10.1 → 0.10.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +6 -0
- data/Rakefile +2 -2
- data/examples/add_item.rb +50 -0
- data/examples/add_member_message_aaq_to_partner.rb +33 -0
- data/examples/config.rb +10 -0
- data/examples/end_item.rb +18 -0
- data/examples/get_api_usage.rb +21 -0
- data/examples/get_attributes_xsl.rb +26 -0
- data/examples/get_ebay_details.rb +22 -0
- data/examples/get_ebay_time.rb +33 -0
- data/examples/get_ebay_time_raw.rb +31 -0
- data/examples/get_item.rb +25 -0
- data/examples/get_item_transactions.rb +36 -0
- data/examples/get_items_selling.rb +26 -0
- data/examples/get_my_messages.rb +21 -0
- data/examples/get_my_messages_folders.rb +20 -0
- data/examples/get_notification_preferences.rb +36 -0
- data/examples/get_notifications_usage.rb +23 -0
- data/examples/get_product_finder_xsl.rb +27 -0
- data/examples/get_search_results.rb +51 -0
- data/examples/get_user.rb +26 -0
- data/examples/mark_my_messages_message_as_read.rb +22 -0
- data/examples/revise_item.rb +34 -0
- data/examples/set_notification_preferences.rb +27 -0
- data/examples/verify_add_item.rb +37 -0
- data/lib/ebay/api.rb +5 -5
- data/lib/ebay/api_methods.rb +8 -0
- data/lib/ebay/requests.rb +1 -0
- data/lib/ebay/requests/get_category_listings.rb +3 -0
- data/lib/ebay/requests/get_my_ebay_buying.rb +3 -0
- data/lib/ebay/requests/get_search_results.rb +11 -0
- data/lib/ebay/requests/set_shipping_discount_profiles.rb +3 -3
- data/lib/ebay/requests/upload_site_hosted_pictures.rb +22 -0
- data/lib/ebay/responses.rb +1 -0
- data/lib/ebay/responses/get_my_ebay_buying.rb +3 -0
- data/lib/ebay/responses/get_shipping_discount_profiles.rb +3 -3
- data/lib/ebay/responses/upload_site_hosted_pictures.rb +18 -0
- data/lib/ebay/schema/mapper/ebay_schema_importer.rb +1 -1
- data/lib/ebay/schema/mapper/ruby_class_generator.rb +1 -1
- data/lib/ebay/schema/mapper/templates/xsl_file.erb +2 -1
- data/lib/ebay/schema/version.rb +1 -1
- data/lib/ebay/types.rb +8 -0
- data/lib/ebay/types/ad_format_lead.rb +2 -0
- data/lib/ebay/types/base64_binary.rb +17 -0
- data/lib/ebay/types/bid_assistant_list.rb +17 -0
- data/lib/ebay/types/bid_group.rb +22 -0
- data/lib/ebay/types/bid_group_array.rb +16 -0
- data/lib/ebay/types/bid_group_item.rb +20 -0
- data/lib/ebay/types/bid_group_item_status_code.rb +16 -0
- data/lib/ebay/types/bid_group_status_code.rb +11 -0
- data/lib/ebay/types/bid_range.rb +17 -0
- data/lib/ebay/types/bidding_details.rb +2 -0
- data/lib/ebay/types/buyer_protection_details.rb +17 -0
- data/lib/ebay/types/buyer_protection_source_code.rb +11 -0
- data/lib/ebay/types/category_feature.rb +2 -0
- data/lib/ebay/types/category_listings_order_code.rb +1 -0
- data/lib/ebay/types/classified_ad_pay_per_lead_enabled_definition.rb +13 -0
- data/lib/ebay/types/date.rb +19 -0
- data/lib/ebay/types/extended_contact_details.rb +4 -0
- data/lib/ebay/types/feature_definitions.rb +3 -0
- data/lib/ebay/types/feature_id_code.rb +4 -0
- data/lib/ebay/types/group.rb +17 -0
- data/lib/ebay/types/item.rb +9 -0
- data/lib/ebay/types/item_condition_code.rb +11 -0
- data/lib/ebay/types/item_sort_type_code.rb +2 -0
- data/lib/ebay/types/listing_details.rb +2 -0
- data/lib/ebay/types/picture_format_code.rb +11 -0
- data/lib/ebay/types/picture_set_code.rb +12 -0
- data/lib/ebay/types/picture_set_member.rb +19 -0
- data/lib/ebay/types/request_categories.rb +2 -0
- data/lib/ebay/types/search_sort_order_code.rb +1 -0
- data/lib/ebay/types/shipping_details.rb +2 -0
- data/lib/ebay/types/shipping_service_code.rb +3 -0
- data/lib/ebay/types/site_defaults.rb +2 -0
- data/lib/ebay/types/site_hosted_picture_details.rb +26 -0
- data/lib/ebay/types/store_custom_listing_header.rb +0 -2
- data/lib/ebay/types/ticket_details.rb +24 -0
- data/lib/ebay/types/ticket_event_type_code.rb +31 -0
- data/lib/ebay/types/transaction.rb +4 -0
- data/lib/ebay/types/transaction_platform_code.rb +13 -0
- data/lib/ebay/types/xsl_file.rb +2 -1
- data/rakefile +2 -2
- metadata +49 -4
- data/lib/ebay/types/promotional_shipping_discount.rb +0 -21
data/CHANGELOG
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# * Update the Rakefile to include the examples, set version 0.10.2
|
2
|
+
# * Update to eBay XML Schema Version 513
|
3
|
+
# * Ensure that nil values aren't used as headers in the HTTP request
|
4
|
+
# * Update to eBay XML Schema Version 511
|
5
|
+
# * Tweak modification to xsl stylesheets
|
6
|
+
# * Add an example for get_search_results with pagination
|
1
7
|
# * Release 0.10.0
|
2
8
|
# * Update the documentation for better navigation. Provide links to official documentation. Don't use method_missing anymore
|
3
9
|
# * Add eBay documentation from the schema into the RDoc. Generate method calls for all API calls so they are documented
|
data/Rakefile
CHANGED
@@ -6,12 +6,12 @@ require 'rake/rdoctask'
|
|
6
6
|
require 'rake/gempackagetask'
|
7
7
|
require 'rake/contrib/rubyforgepublisher'
|
8
8
|
|
9
|
-
PKG_VERSION = "0.10.
|
9
|
+
PKG_VERSION = "0.10.2"
|
10
10
|
PKG_NAME = "ebayapi"
|
11
11
|
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
12
12
|
|
13
13
|
PKG_FILES = FileList[
|
14
|
-
"lib/**/*", "test/**/*", "
|
14
|
+
"lib/**/*", "test/**/*", "examples/**/*", "[A-Z]*", "rakefile", "init.rb"
|
15
15
|
].exclude(/~$|\.svn/)
|
16
16
|
|
17
17
|
response_dir = File.join(File.dirname(__FILE__), 'test', 'fixtures', 'responses')
|
@@ -0,0 +1,50 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
include Ebay
|
9
|
+
include Ebay::Types
|
10
|
+
|
11
|
+
# With no options, the default is to use the default site_id and the default
|
12
|
+
# auth_token configured on the Api class.
|
13
|
+
ebay = Api.new
|
14
|
+
|
15
|
+
# However, another user's auth_token can be used and the site can be selected
|
16
|
+
# at the time of creation. Ex: Canada with another user's auth token.
|
17
|
+
# ebay = Api.new(:site_id => 2, :auth_token => 'TEST')
|
18
|
+
|
19
|
+
# In this example I am simple passing in the strings 'Days_7', 'USD' and others.
|
20
|
+
# However, there are constants defined for these code types, which can be enumerated
|
21
|
+
# For example, CurrencyCode::CAD
|
22
|
+
# For enumerating through the available types: CurrencyCode.each{|code| puts code}
|
23
|
+
|
24
|
+
item = Item.new( :primary_category => Category.new(:category_id => 57882),
|
25
|
+
:title => 'Ruby eBay API Test Listing',
|
26
|
+
:description => 'Welcome!',
|
27
|
+
:location => 'Ottawa, On',
|
28
|
+
:start_price => Money.new(1200, 'USD'),
|
29
|
+
:quantity => 1,
|
30
|
+
:listing_duration => 'Days_7',
|
31
|
+
:country => 'US',
|
32
|
+
:currency => 'USD',
|
33
|
+
:payment_methods => ['VisaMC', 'PersonalCheck']
|
34
|
+
)
|
35
|
+
|
36
|
+
begin
|
37
|
+
response = ebay.add_item(:item => item)
|
38
|
+
puts "Adding item"
|
39
|
+
puts "eBay time is: #{response.timestamp}"
|
40
|
+
|
41
|
+
puts "Item ID: #{response.item_id}"
|
42
|
+
puts "Fee summary: "
|
43
|
+
response.fees.select{|f| !f.fee.zero? }.each do |f|
|
44
|
+
puts " #{f.name}: #{f.fee.format(:with_currency)}"
|
45
|
+
end
|
46
|
+
rescue Ebay::RequestError => e
|
47
|
+
e.errors.each do |error|
|
48
|
+
puts error.long_message
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
# The buyer and seller must be in a transactional relationship
|
9
|
+
# Use this example as follows:
|
10
|
+
# > ruby add_member_message_aaq_to_partner.rb RECIPIENT_EBAY_ID ITEM_ID
|
11
|
+
#
|
12
|
+
# A new message will be delivered to the recipients My Messages inbox
|
13
|
+
#
|
14
|
+
ebay = Ebay::Api.new
|
15
|
+
begin
|
16
|
+
|
17
|
+
message = Ebay::Types::MemberMessage.new(
|
18
|
+
:body => 'This is a test question',
|
19
|
+
:question_type => 'General',
|
20
|
+
:recipient_id => ARGV.first
|
21
|
+
)
|
22
|
+
|
23
|
+
ebay.add_member_message_aaq_to_partner(
|
24
|
+
:item_id => ARGV.last,
|
25
|
+
:member_message => message
|
26
|
+
)
|
27
|
+
|
28
|
+
puts "Successfully sent the message"
|
29
|
+
rescue Ebay::RequestError => e
|
30
|
+
e.errors.each do |error|
|
31
|
+
puts error.long_message
|
32
|
+
end
|
33
|
+
end
|
data/examples/config.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
Ebay::Api.configure do |ebay|
|
2
|
+
ebay.auth_token = 'YOUR AUTH TOKEN HERE'
|
3
|
+
ebay.dev_id = 'YOUR DEVELOPER ID HERE'
|
4
|
+
ebay.app_id = 'YOUR APPLICATION ID HERE'
|
5
|
+
ebay.cert = 'YOUR CERTIFICATE HERE'
|
6
|
+
|
7
|
+
# The default environment is the production environment
|
8
|
+
# Override by setting use_sandbox to true
|
9
|
+
ebay.use_sandbox = true
|
10
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
ebay = Ebay::Api.new
|
9
|
+
|
10
|
+
begin
|
11
|
+
# End the item as passed in as the first argument
|
12
|
+
response = ebay.end_item(:item_id => ARGV.first)
|
13
|
+
puts "Successfully ended item #{ARGV.first}"
|
14
|
+
rescue Ebay::RequestError => e
|
15
|
+
e.errors.each do |error|
|
16
|
+
puts error.long_message
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
ebay = Ebay::Api.new
|
9
|
+
|
10
|
+
begin
|
11
|
+
# Get the eBay API usage
|
12
|
+
response = ebay.get_api_access_rules
|
13
|
+
|
14
|
+
response.api_access_rules.each do |rule|
|
15
|
+
puts "#{rule.call_name}: Hourly: #{rule.hourly_usage}; Daily: #{rule.daily_usage}"
|
16
|
+
end
|
17
|
+
rescue Ebay::RequestError => e
|
18
|
+
e.errors.each do |error|
|
19
|
+
puts error.long_message
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
require 'ebay'
|
5
|
+
require 'config'
|
6
|
+
|
7
|
+
ebay = Ebay::Api.new
|
8
|
+
|
9
|
+
begin
|
10
|
+
response = ebay.get_attributes_xsl(:detail_level => 'ReturnAll')
|
11
|
+
|
12
|
+
# There is currently only one stylesheet, but eBay may add more in the future
|
13
|
+
file = response.xsl_files.first
|
14
|
+
puts "Downloaded version #{file.file_version}"
|
15
|
+
|
16
|
+
# Save the downloaded file
|
17
|
+
puts "Saving file to: #{file.file_name}"
|
18
|
+
File.open(file.file_name, 'w') do |f|
|
19
|
+
f.puts file.file_content
|
20
|
+
end
|
21
|
+
rescue Ebay::RequestError => e
|
22
|
+
e.errors.each do |error|
|
23
|
+
puts error.long_message
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
ebay = Ebay::Api.new
|
9
|
+
|
10
|
+
begin
|
11
|
+
# Get the eBay site details. This time we only want the SiteDetails, so
|
12
|
+
# specify that that is what we want with the option :detail_names
|
13
|
+
response = ebay.get_ebay_details(:detail_names => [ 'SiteDetails' ])
|
14
|
+
puts "eBay has #{response.site_details.size} total sites\n"
|
15
|
+
response.site_details.each do |site|
|
16
|
+
puts "#{site.site} (#{site.site_id})"
|
17
|
+
end
|
18
|
+
rescue Ebay::RequestError => e
|
19
|
+
e.errors.each do |error|
|
20
|
+
puts error.long_message
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
|
7
|
+
# config.rb contains the authentication configuration for the user account
|
8
|
+
# config.rb also tells eBay to use the Sandbox for this call
|
9
|
+
require 'config'
|
10
|
+
|
11
|
+
# Getting the official eBay time is the Hello World application of
|
12
|
+
# the eBay API. Get the official eBay time and display it.
|
13
|
+
# The request class is the camelized method call name and can be found in
|
14
|
+
# lib/ebay/requests/get_ebay_official_time.rb
|
15
|
+
# The class returned is the camelized method call name.
|
16
|
+
# In this case the returned class is Ebay::Responses::GeteBayOfficialTime
|
17
|
+
# This file can be found at lib/ebay/responses/get_ebay_official_time.rb
|
18
|
+
ebay = Ebay::Api.new
|
19
|
+
|
20
|
+
begin
|
21
|
+
response = ebay.get_ebay_official_time
|
22
|
+
puts "The returned class is: #{response.class}"
|
23
|
+
puts "The current eBay time is: #{response.timestamp}"
|
24
|
+
# Display any request errors to the user. A RequestError is only raised when
|
25
|
+
# the request has a Failure or PartialFailure status.
|
26
|
+
rescue Ebay::RequestError => e
|
27
|
+
# Display any request errors to the user. A RequestError is only raised when
|
28
|
+
# the request has a Failure or PartialFailure status.
|
29
|
+
e.errors.each do |error|
|
30
|
+
puts error.long_message
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
# Sometimes it is better to receive the raw XML response from eBay.
|
9
|
+
# This is beneficial for calls like get_categories(:detail_level => 'ReturnAll'),
|
10
|
+
# which can return 27,000+ categories. It is usefull in a case like that
|
11
|
+
# to use an event based XML listener and process the tags as you go.
|
12
|
+
ebay = Ebay::Api.new(:format => :raw)
|
13
|
+
|
14
|
+
begin
|
15
|
+
# Get the raw XML response. This can also be done by passing in :format => :raw
|
16
|
+
# to the call you're currently making, such as:
|
17
|
+
# ebay.get_ebay_official_time(:format => :raw)
|
18
|
+
response = ebay.get_ebay_official_time
|
19
|
+
|
20
|
+
# Create a new XML document and display the XML formatted on standard output
|
21
|
+
xml = REXML::Document.new(response)
|
22
|
+
xml.write(STDOUT, 0)
|
23
|
+
|
24
|
+
rescue Ebay::RequestError => e
|
25
|
+
# Display any request errors to the user. A RequestError is only raised when
|
26
|
+
# the request has a Failure or PartialFailure status.
|
27
|
+
e.errors.each do |error|
|
28
|
+
puts error.long_message
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
ebay = Ebay::Api.new
|
9
|
+
|
10
|
+
begin
|
11
|
+
# Get the item as passed in as the first argument
|
12
|
+
response = ebay.get_item(:item_id => ARGV.first)
|
13
|
+
|
14
|
+
# Get the item, which is of the type Ebay::Types::Item
|
15
|
+
item = response.item
|
16
|
+
puts "The item number is: #{item.item_id}"
|
17
|
+
puts "The item was listed at: #{item.listing_details.start_time}"
|
18
|
+
puts "The item can be viewed at: #{item.listing_details.view_item_url}"
|
19
|
+
puts "The starting price is: #{item.listing_details.converted_start_price.format(:with_currency)}"
|
20
|
+
rescue Ebay::RequestError => e
|
21
|
+
e.errors.each do |error|
|
22
|
+
puts error.long_message
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
ebay = Ebay::Api.new
|
9
|
+
|
10
|
+
begin
|
11
|
+
# First get the item in question so that we can determine the
|
12
|
+
# modified times
|
13
|
+
response = ebay.get_item(:item_id => ARGV.first)
|
14
|
+
listing_end_time = response.item.listing_details.end_time
|
15
|
+
|
16
|
+
# Use a 29 day window, which is about the max allowable by eBay
|
17
|
+
time_to = listing_end_time + 29.days
|
18
|
+
|
19
|
+
response = ebay.get_item_transactions(
|
20
|
+
:item_id => ARGV.first,
|
21
|
+
:mod_time_from => listing_end_time,
|
22
|
+
:mod_time_to => time_to,
|
23
|
+
:detail_level => 'ItemReturnDescription'
|
24
|
+
)
|
25
|
+
|
26
|
+
puts "Total transactions: #{response.transactions.size}"
|
27
|
+
response.transactions.each do |t|
|
28
|
+
puts "Item Won On: #{listing_end_time}"
|
29
|
+
puts "Item Paid On: #{t.paid_time}"
|
30
|
+
puts "Item Shipped On: #{t.shipped_time}"
|
31
|
+
end
|
32
|
+
rescue Ebay::RequestError => e
|
33
|
+
e.errors.each do |error|
|
34
|
+
puts error.long_message
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
# Get the actively listed items from My eBay and sort them by TimeLeft
|
9
|
+
ebay = Ebay::Api.new
|
10
|
+
|
11
|
+
begin
|
12
|
+
response = ebay.get_my_ebay_selling(
|
13
|
+
:detail_level => 'ReturnAll',
|
14
|
+
:active_list => Ebay::Types::ItemListCustomization.new(:sort => 'TimeLeft')
|
15
|
+
)
|
16
|
+
|
17
|
+
puts "You have #{response.active_list.items.size} active listings:"
|
18
|
+
response.active_list.items.each do |item|
|
19
|
+
puts "#{item.item_id}: #{item.title}"
|
20
|
+
end
|
21
|
+
rescue Ebay::RequestError => e
|
22
|
+
e.errors.each do |error|
|
23
|
+
puts error.long_message
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__),'..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
ebay = Ebay::Api.new
|
9
|
+
|
10
|
+
# Get the messages from MyMessages
|
11
|
+
begin
|
12
|
+
response = ebay.get_my_messages(:detail_level => 'ReturnHeaders')
|
13
|
+
response.messages.each do |message|
|
14
|
+
puts "Sender: #{message.sender} Subject: #{message.subject}"
|
15
|
+
end
|
16
|
+
rescue Ebay::RequestError => e
|
17
|
+
e.errors.each do |error|
|
18
|
+
puts error.long_message
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
ebay = Ebay::Api.new
|
9
|
+
|
10
|
+
begin
|
11
|
+
response = ebay.get_my_messages(:detail_level => 'ReturnSummary')
|
12
|
+
|
13
|
+
response.summary.folder_summaries.each do |folder|
|
14
|
+
puts "#{folder.folder_id}: #{folder.folder_name}"
|
15
|
+
end
|
16
|
+
rescue Ebay::RequestError => e
|
17
|
+
e.errors.each do |error|
|
18
|
+
puts error.long_message
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
$:.unshift File.dirname(__FILE__)
|
3
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
|
5
|
+
require 'ebay'
|
6
|
+
require 'config'
|
7
|
+
|
8
|
+
scope = ARGV.first
|
9
|
+
|
10
|
+
ebay = Ebay::Api.new
|
11
|
+
|
12
|
+
begin
|
13
|
+
# Get the notificiation preferences for either the Application or User scope
|
14
|
+
response = ebay.get_notification_preferences(:preference_level => scope)
|
15
|
+
|
16
|
+
case scope
|
17
|
+
when 'Application'
|
18
|
+
prefs = response.application_delivery_preferences
|
19
|
+
puts "Url: #{prefs.application_url}"
|
20
|
+
puts "Alert enable: #{prefs.alert_enable}"
|
21
|
+
puts "App enable: #{prefs.application_enable}"
|
22
|
+
puts "Type: #{prefs.notification_payload_type}"
|
23
|
+
when 'User'
|
24
|
+
response.user_delivery_preferences.each do |pref|
|
25
|
+
puts "#{pref.event_type}: #{pref.event_enable}"
|
26
|
+
end
|
27
|
+
else
|
28
|
+
puts "Please specify 'Application' or 'User'"
|
29
|
+
end
|
30
|
+
rescue Ebay::RequestError => e
|
31
|
+
e.errors.each do |error|
|
32
|
+
puts error.long_message
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|