etsy 0.3.0 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +14 -5
  3. data/CHANGELOG.md +16 -0
  4. data/Gemfile +0 -4
  5. data/README.md +50 -8
  6. data/etsy.gemspec +5 -5
  7. data/lib/etsy/about.rb +15 -0
  8. data/lib/etsy/attribute_value.rb +46 -0
  9. data/lib/etsy/bill_charge.rb +31 -0
  10. data/lib/etsy/bill_payment.rb +28 -0
  11. data/lib/etsy/billing_overview.rb +18 -0
  12. data/lib/etsy/image.rb +5 -2
  13. data/lib/etsy/listing.rb +108 -7
  14. data/lib/etsy/model.rb +2 -2
  15. data/lib/etsy/receipt.rb +23 -3
  16. data/lib/etsy/request.rb +5 -5
  17. data/lib/etsy/secure_client.rb +1 -1
  18. data/lib/etsy/shipping_info.rb +27 -0
  19. data/lib/etsy/shipping_template.rb +10 -1
  20. data/lib/etsy/shop.rb +5 -0
  21. data/lib/etsy/transaction.rb +51 -1
  22. data/lib/etsy/user.rb +30 -0
  23. data/lib/etsy/variation/property_set.rb +71 -0
  24. data/lib/etsy/version.rb +1 -1
  25. data/lib/etsy.rb +10 -3
  26. data/test/fixtures/about/getAbout.json +16 -0
  27. data/test/fixtures/attribute_value/findAllListingPropertyValues.json +44 -0
  28. data/test/fixtures/bill_charge/getBillCharge.json +1 -0
  29. data/test/fixtures/bill_payment/getBillPayment.json +1 -0
  30. data/test/fixtures/billing_overview/getBillingOverview.json +1 -0
  31. data/test/fixtures/listing/findAllShopListings.json +5 -3
  32. data/test/fixtures/listing/getListing.single.includeImages.json +1 -0
  33. data/test/fixtures/receipt/findAllShopReceipts.json +4 -4
  34. data/test/fixtures/shipping_info/getShippingInfo.json +1 -0
  35. data/test/fixtures/shop/findAllShop.json +1 -1
  36. data/test/fixtures/shop/findAllShop.single.json +1 -1
  37. data/test/fixtures/shop/getShop.multiple.json +1 -1
  38. data/test/fixtures/shop/getShop.single.json +2 -1
  39. data/test/test_helper.rb +0 -2
  40. data/test/unit/etsy/attribute_value_test.rb +67 -0
  41. data/test/unit/etsy/bill_charge_test.rb +24 -0
  42. data/test/unit/etsy/bill_payment_test.rb +24 -0
  43. data/test/unit/etsy/billing_overview_test.rb +20 -0
  44. data/test/unit/etsy/image_test.rb +15 -3
  45. data/test/unit/etsy/listing_test.rb +45 -7
  46. data/test/unit/etsy/model_test.rb +4 -4
  47. data/test/unit/etsy/receipt_test.rb +15 -0
  48. data/test/unit/etsy/shipping_info_test.rb +24 -0
  49. data/test/unit/etsy/shop_about_test.rb +43 -0
  50. data/test/unit/etsy/shop_test.rb +12 -0
  51. data/test/unit/etsy/transaction_test.rb +5 -1
  52. metadata +50 -17
@@ -19,7 +19,16 @@ module Etsy
19
19
  }
20
20
  get("/shipping/templates/#{id}", options)
21
21
  end
22
-
22
+
23
+ def self.find_entries(id, credentials = {})
24
+ options = {
25
+ :access_token => credentials[:access_token],
26
+ :access_secret => credentials[:access_secret],
27
+ :require_secure => true
28
+ }
29
+ get("/shipping/templates/#{id}/entries", options)
30
+ end
31
+
23
32
  def self.find_by_user(user, credentials = {})
24
33
  options = {
25
34
  :access_token => credentials[:access_token],
data/lib/etsy/shop.rb CHANGED
@@ -30,6 +30,7 @@ module Etsy
30
30
  attribute :message, :from => :sale_message
31
31
  attribute :url, :from => :url
32
32
  attribute :favorers_count, :from => :num_favorers
33
+ attribute :icon_url, :from => 'icon_url_fullxfull'
33
34
 
34
35
  # Retrieve one or more shops by name or ID:
35
36
  #
@@ -75,6 +76,10 @@ module Etsy
75
76
  Section.find_by_shop(self)
76
77
  end
77
78
 
79
+ def about
80
+ About.find_by_shop(self)
81
+ end
82
+
78
83
  private
79
84
  def oauth
80
85
  oauth = (token && secret) ? {:access_token => token, :access_secret => secret} : {}
@@ -4,20 +4,70 @@ module Etsy
4
4
 
5
5
  attribute :id, :from => :transaction_id
6
6
  attribute :buyer_id, :from => :buyer_user_id
7
+ attribute :seller_id, :from => :seller_user_id
7
8
  attributes :quantity, :listing_id
8
9
 
10
+ attribute :created, :from => :creation_tsz
11
+ attribute :shipped, :from => :shipped_tsz
12
+ attribute :paid, :from => :paid_tsz
13
+
14
+ attributes :title, :description, :price, :currency_code, :quantity,
15
+ :tags, :materials, :image_listing_id, :receipt_id,
16
+ :is_digital, :file_data, :listing_id, :url, :product_data,
17
+ :variations, :transaction_type, :buyer_feedback_id,
18
+ :seller_feedback_id
19
+
20
+
9
21
  def self.find_all_by_shop_id(shop_id, options = {})
10
22
  get_all("/shops/#{shop_id}/transactions", options)
11
23
  end
12
24
 
25
+ def created_at
26
+ Time.at(created)
27
+ end
28
+
29
+ def shipped_at
30
+ Time.at(shipped)
31
+ end
32
+
33
+ def paid_at
34
+ Time.at(paid)
35
+ end
36
+
37
+ def self.find(*identifiers_and_options)
38
+ find_one_or_more('transactions', identifiers_and_options)
39
+ end
40
+
13
41
  #Find all Transactions by the buyer_id
14
42
  #
15
43
  def self.find_all_by_buyer_id(user_id, options = {})
16
44
  get_all("/users/#{user_id}/transactions", options)
17
45
  end
18
46
 
47
+ def self.find_all_by_listing_id(listing_id, options = {})
48
+ get_all("/listings/#{listing_id}/transactions", options)
49
+ end
50
+
51
+ def self.find_all_by_receipt_id(receipt_id, options = {})
52
+ get_all("/receipts/#{receipt_id}/transactions", options)
53
+ end
54
+
55
+ def receipt
56
+ @receipt ||= Receipt.find(receipt_id, oauth)
57
+ end
58
+
19
59
  def buyer
20
- @buyer ||= User.find(buyer_id)
60
+ @buyer ||= User.find(buyer_id, oauth)
61
+ end
62
+
63
+ def listing
64
+ @listing ||= Listing.find(listing_id, oauth)
65
+ end
66
+
67
+ private
68
+
69
+ def oauth
70
+ oauth = (token && secret) ? {:access_token => token, :access_secret => secret} : {}
21
71
  end
22
72
 
23
73
  end
data/lib/etsy/user.rb CHANGED
@@ -19,6 +19,8 @@ module Etsy
19
19
 
20
20
  association :profile, :from => 'Profile'
21
21
  association :shops, :from => 'Shops'
22
+ association :bill_charges, :from => 'BillCharges'
23
+ association :bill_payments, :from => 'BillPayments'
22
24
 
23
25
  # Retrieve one or more users by name or ID:
24
26
  #
@@ -81,6 +83,34 @@ module Etsy
81
83
  @shops
82
84
  end
83
85
 
86
+ def bill_charges
87
+ unless @bill_charges
88
+ if associated_bill_charges
89
+ @bill_charges = associated_bill_charges.map { |bill_charge| BillCharge.new(bill_charge) }
90
+ else
91
+ options = {:fields => 'user_id', :includes => 'BillCharges'}
92
+ options = options.merge(:access_token => token, :access_secret => secret) if (token && secret)
93
+ tmp = User.find(username, options)
94
+ @bill_charges = tmp.associated_bill_charges.map { |bill_charge| BillCharge.new(bill_charge) }
95
+ end
96
+ end
97
+ @bill_charges
98
+ end
99
+
100
+ def bill_payments
101
+ unless @bill_payments
102
+ if associated_bill_payments
103
+ @bill_payments = associated_bill_payments.map { |bill_payment| BillPayment.new(bill_payment) }
104
+ else
105
+ options = {:fields => 'user_id', :includes => 'BillPayments'}
106
+ options = options.merge(:access_token => token, :access_secret => secret) if (token && secret)
107
+ tmp = User.find(username, options)
108
+ @bill_payments = tmp.associated_bill_payments.map { |bill_payment| BillPayment.new(bill_payment) }
109
+ end
110
+ end
111
+ @bill_payments
112
+ end
113
+
84
114
  # Time that this user was created
85
115
  #
86
116
  def created_at
@@ -0,0 +1,71 @@
1
+ module Etsy
2
+ module Variation
3
+ class PropertySet
4
+ # Used to find properties which the seller can vary (eg Size, Color, etc), and options associated with those properties (eg Inches)
5
+ #
6
+ # The variations stuff is complex. See https://www.etsy.com/developers/documentation/getting_started/variations for more info.
7
+ #
8
+ # Probably the most useful method here is qualifying_properties_for_property. This method pulls in data from a few sources to get
9
+ # you everything you need to set up your variation options.
10
+ #
11
+ # Eg: I want to have a few Length options on my listings, and I want to use the unit Inches, then:
12
+ # Etsy::Variation::PropertySet.qualifying_properties_for_property("Length")
13
+ # => [{
14
+ # "param"=>"sizing_scale",
15
+ # "description"=>"Sizing Scale",
16
+ # "options"=>{
17
+ # "Alpha" => 301,
18
+ # "Inches" => 327,
19
+ # "Centimeters" => 328,
20
+ # "Fluid Ounces" => 335,
21
+ # "Millilitres" => 336,
22
+ # "Litres" => 337,
23
+ # "Other => 329
24
+ # }
25
+ # }]
26
+ #
27
+ # This tells me I want to set the parameter sizing_scale to 327 when calling Etsy::Listing.add_variations.
28
+
29
+ include Etsy::Model
30
+
31
+
32
+ attributes :properties, :category_id, :options, :qualifiers,
33
+ :qualifying_properties
34
+
35
+ def self.all
36
+ @all ||= get("/property_sets")
37
+ end
38
+
39
+ def self.find_property_by_name(name)
40
+ property = all.properties.detect {|prop_id, prop| prop["name"] == name}
41
+ if property
42
+ property_id, property_data = property
43
+ property_data
44
+ end
45
+ end
46
+
47
+ def self.qualifying_properties_for_property(name)
48
+ property = find_property_by_name(name)
49
+ return nil unless property
50
+ property_id = property["property_id"]
51
+
52
+ qualifiers = all.qualifiers[property_id.to_s]
53
+ return [] unless qualifiers
54
+
55
+ qualifiers.map do |qualifier|
56
+ qualifying_properties = all.qualifying_properties[qualifier.fetch("property_id").to_s]
57
+ options = qualifier.fetch("options").inject({}) do |acc, opt_id|
58
+ acc.merge({
59
+ all.options.fetch(opt_id.to_s) => opt_id
60
+ })
61
+ end
62
+ {
63
+ "param" => qualifying_properties.fetch("param"),
64
+ "description" => qualifying_properties.fetch("description"),
65
+ "options" => options
66
+ }
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
data/lib/etsy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Etsy
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.4"
3
3
  end
data/lib/etsy.rb CHANGED
@@ -15,8 +15,12 @@ require 'etsy/verification_request'
15
15
  require 'etsy/model'
16
16
  require 'etsy/user'
17
17
  require 'etsy/profile'
18
+ require 'etsy/bill_charge'
19
+ require 'etsy/bill_payment'
20
+ require 'etsy/billing_overview'
18
21
  require 'etsy/shop'
19
22
  require 'etsy/listing'
23
+ require 'etsy/attribute_value'
20
24
  require 'etsy/image'
21
25
  require 'etsy/transaction'
22
26
  require 'etsy/address'
@@ -24,9 +28,12 @@ require 'etsy/category'
24
28
  require 'etsy/payment_template'
25
29
  require 'etsy/country'
26
30
  require 'etsy/shipping_template'
31
+ require 'etsy/shipping_info'
27
32
  require 'etsy/section'
28
33
  require 'etsy/favorite_listing'
29
34
  require 'etsy/receipt'
35
+ require 'etsy/variation/property_set'
36
+ require 'etsy/about'
30
37
 
31
38
  # = Etsy: A friendly Ruby interface to the Etsy API
32
39
  #
@@ -82,7 +89,7 @@ module Etsy
82
89
  def self.api_secret
83
90
  Thread.current[:etsy_api_secret] || @api_secret
84
91
  end
85
-
92
+
86
93
  def self.api_secret=(secret)
87
94
  @api_secret ||= secret
88
95
  Thread.current[:etsy_api_secret] = secret
@@ -101,14 +108,14 @@ module Etsy
101
108
  @environment = environment
102
109
  @host = (environment == :sandbox) ? SANDBOX_HOST : PRODUCTION_HOST
103
110
  end
104
-
111
+
105
112
  def self.protocol=(protocol)
106
113
  unless ["http", "https"].include?(protocol.to_s)
107
114
  raise(ArgumentError, "protocol must be set to either 'http' or 'https'")
108
115
  end
109
116
  @protocol = protocol.to_s
110
117
  end
111
-
118
+
112
119
  # Allow throwing API errors
113
120
  #
114
121
  def self.silent_errors=(bool)
@@ -0,0 +1,16 @@
1
+ {
2
+ "count":1,
3
+ "results":[
4
+ { "shop_id": 8740774,
5
+ "status": "active",
6
+ "story_headline": "A shop long in the making...",
7
+ "story_leading_paragraph": "This is the leading paragraph",
8
+ "story": "I grew up with strong women in my family who all had a love of creating. My mom and grandma always encouraged a lifelong love of creating Working with glass, wire, and mineral components brings back my graduate school days, when I studied these items from a scientific point-of-view. Here's hoping I can create something that gives you a little sparkle in your life!",
9
+ "related_links": {
10
+ "link-0": {"title": "facebook", "url": "https://www.facebook.com/pebbleplusmetal/"},
11
+ "link-1": {"title": "pinterest", "url": "https://www.pinterest.com/PebblePlusMetal/pebble%2Bmetal/"}
12
+ },
13
+ "url": "https://www.etsy.com/shop/PebblePlusMetal/about"
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,44 @@
1
+
2
+ {
3
+ "count":4,
4
+ "results":
5
+ [
6
+ {
7
+ "property_id": 200,
8
+ "property_name": "Primary color",
9
+ "scale_id": null,
10
+ "scale_name": null,
11
+ "value_ids": [1213],
12
+ "values": ["Beige"]
13
+ },
14
+ {
15
+ "property_id": 52047899002,
16
+ "property_name": "Secondary color",
17
+ "scale_id": null,
18
+ "scale_name": null,
19
+ "value_ids": [1],
20
+ "values": ["Black"]
21
+ },
22
+ {
23
+ "property_id": 47626759834,
24
+ "property_name": "Height",
25
+ "scale_id": 5,
26
+ "scale_name": "Inches",
27
+ "value_ids": [0],
28
+ "values": ["15"]
29
+ },
30
+ {
31
+ "property_id": 47626759898,
32
+ "property_name": "Width",
33
+ "scale_id": 5,
34
+ "scale_name": "Inches",
35
+ "value_ids": [0],
36
+ "values": ["25"]
37
+ }
38
+ ],
39
+ "params":
40
+ {
41
+ "listing_id":"59495892"
42
+ },
43
+ "type":"ListingPropertyValue"
44
+ }
@@ -0,0 +1 @@
1
+ {"count":1,"results":[{"bill_charge_id":212,"type":"listing_id","type_id":14888443,"amount":"3.00"}],"params":{"user_id":"212"},"type":"BillCharge","pagination":{}}
@@ -0,0 +1 @@
1
+ {"count":1,"results":[{"bill_payment_id":212,"type":"listing_id","type_id":14888443,"amount":"3.00"}],"params":{"user_id":"212"},"type":"BillPayment","pagination":{}}
@@ -0,0 +1 @@
1
+ {"count":1,"results":[{"total_balance":1399,"balance_due":999}],"params":{"user_id":"212"},"type":"BillingOverview","pagination":{}}
@@ -23,7 +23,8 @@
23
23
  "brightness": 100,
24
24
  "is_black_and_white": false,
25
25
  "url": "http://www.etsy.com/listing/59495892/initials-carved-into-tree-love-stamp",
26
- "views": 37
26
+ "views": 37,
27
+ "is_supply": "false"
27
28
  },
28
29
  {
29
30
  "listing_id": 59495804,
@@ -48,7 +49,8 @@
48
49
  "brightness": 100,
49
50
  "is_black_and_white": false,
50
51
  "url": "http://www.etsy.com/listing/59495804/faux-bois-heart-hand-carved-stamp",
51
- "views": 78
52
+ "views": 78,
53
+ "is_supply": "true"
52
54
  }],
53
55
  "params": {
54
56
  "limit": "2",
@@ -66,4 +68,4 @@
66
68
  "category": null
67
69
  },
68
70
  "type": "Listing"
69
- }
71
+ }
@@ -0,0 +1 @@
1
+ {"count":1,"results":[{"listing_id":59759273,"state":"active","user_id":7301949,"title":"Vinyl Wall Art Decal -- Multi-colored Flowers Set","description":"The listing is for a beautiful set of multi-colored flowers, colors as shown in the picture.\r\n\r\nExclusive design only from OrqueShaw's walldecors! you won't find this anywhere else on etsy!\r\n\r\nHeights of the 4 large flowers: 52in\/37in\/29in\/26in.\r\n\r\nAll of our decals are computer die-cut, there are no "edges" nor "backgrounds", all you will get is the lovely image! and after applying they will look like they are stenciled on with paint!\r\n\r\nuggested install areas: Walls, Mirrors, Metals, Woods, Plastic...Lightly textured surfaces would be just fine! \r\n\r\n\r\n\r\n\r\nABOUT US AND OUR BEAUTIFUL DECALS:\r\n\r\nWe want to transform your walls....and your lives.\r\nDid you know that you can save literally hundreds of dollars designing your own interior space? Seriously, got bored of painting walls,using stencils, applying borders, and putting up wallpapers?? Using our super convenient n' simply gorgeous wall art decals is a very cool and a great way to make a room shine (or to change a room) w\/out damaging your walls or the bank! great alternative to wall paper or a head board, and without any of the mess and hassle involved with painting. Especially nice if you rent and cannot paint your walls, You can even take your wall decals to work and redesign your office or cubical. Easy to apply even for the creative or somewhat domestically challenged . We carry a variety of colors, styles and themes which you could use to decorate every room for anyone in the family!\r\n\r\nOur wall art decals are hand made, they are easy and fun to install.These wall stickers affix on most smooth surfaces and can be removed without leaving any residues. Complete and simple step-by-step instructions are included with your order. \r\n\r\n\r\nSHIPPING:\r\n\r\n*We combine shipping for multiple purchases!\r\n\r\n*Orders usually ship within 2 business days after the clear of payment. \r\n\r\n*All of our shipments are packed in 3 ply spiral wound mailing tubes to ensure the maximum protection during deliveries.\r\n\r\n*Shipping rates: $9.75 for US and Canada $16.75 for other countries.\r\n\r\n*2-7 business days for shipping in Canada, 6-12 business days for shipping to US and other countries, we are not responsible for the delays caused by the custom clearance.\r\n\r\n*Faster delivery options are available upon request.\r\n\r\n*We ship worldwide except the following places: Africa, China, South & North Korea, Italy, Republic Of Serbia, Turkmenistan and Republic Of Montenegro.\r\n\r\n\r\nPAYMENT:\r\n\r\n*Please remit payment within 3 days. Your product will not be shipped until payment is received. Thank you!\r\n\r\n*If you are not 100% satisfied with your purchase, please return the item in its original condition(unopened) within 30 days of delivery of your shipment. Please note that we cannot accept the returns of opened items or items returned more than 30 days past delivery, shipping cost is not refundable and buyers are responsible for the return shipping fees at any case. \r\n","creation_tsz":1288738828,"ending_tsz":1299042000,"original_creation_tsz":1287867280,"last_modified_tsz":1288738828,"price":"42.00","currency_code":"USD","quantity":1,"tags":["children","wallpaper_graphic","nursery_playroom","red_orange_pink","green_lime_color","furniture","office_room","bedroom_bathroom","nature_garden","girl_boy_baby","everything_else","cheersandtears","front_page","soft_colors"],"materials":["self_adhesive_vinyl","decal_transfer_paper"],"shop_section_id":6489554,"featured_rank":null,"state_tsz":1288738828,"hue":0,"saturation":0,"brightness":100,"is_black_and_white":false,"url":"http:\/\/www.etsy.com\/listing\/59759273\/vinyl-wall-art-decal-multi-colored","views":178,"num_favorers":5,"Images":[{"listing_image_id":1132761, "hex_code":"6B6868", "red":107, "green":104, "blue":104, "hue":0, "saturation":2, "brightness":41, "is_black_and_white":false, "creation_tsz":1485797197, "listing_id":59759273, "rank":1, "url_75x75":"https://img0.etsystatic.com/176/0/12065520/il_75x75.1132761110_kggi.jpg", "url_170x135":"https://img0.etsystatic.com/176/0/12065520/il_170x135.1132761110_kggi.jpg", "url_570xN":"https://img0.etsystatic.com/176/0/12065520/il_570xN.1132761110_kggi.jpg", "url_fullxfull":"https://img0.etsystatic.com/176/0/12065520/il_fullxfull.1132761110_kggi.jpg", "full_height":540, "full_width":720}, {"listing_image_id":1179359, "hex_code":"6E6A6B", "red":110, "green":106, "blue":107, "hue":345, "saturation":3, "brightness":43, "is_black_and_white":false, "creation_tsz":1485797197, "listing_id":59759273, "rank":2, "url_75x75":"https://img1.etsystatic.com/155/0/12065520/il_75x75.1179359629_mhmc.jpg", "url_170x135":"https://img1.etsystatic.com/155/0/12065520/il_170x135.1179359629_mhmc.jpg", "url_570xN":"https://img1.etsystatic.com/155/0/12065520/il_570xN.1179359629_mhmc.jpg", "url_fullxfull":"https://img1.etsystatic.com/155/0/12065520/il_fullxfull.1179359629_mhmc.jpg", "full_height":540, "full_width":720}, {"listing_image_id":1179359, "hex_code":"6C6869", "red":108, "green":104, "blue":105, "hue":345, "saturation":3, "brightness":42, "is_black_and_white":false, "creation_tsz":1485797197, "listing_id":59759273, "rank":3, "url_75x75":"https://img1.etsystatic.com/144/0/12065520/il_75x75.1179359767_d5qd.jpg", "url_170x135":"https://img1.etsystatic.com/144/0/12065520/il_170x135.1179359767_d5qd.jpg", "url_570xN":"https://img1.etsystatic.com/144/0/12065520/il_570xN.1179359767_d5qd.jpg", "url_fullxfull":"https://img1.etsystatic.com/144/0/12065520/il_fullxfull.1179359767_d5qd.jpg", "full_height":540, "full_width":720}, {"listing_image_id":1132761, "hex_code":"6D6A6B", "red":109, "green":106, "blue":107, "hue":340, "saturation":2, "brightness":42, "is_black_and_white":false, "creation_tsz":1485797197, "listing_id":59759273, "rank":4, "url_75x75":"https://img0.etsystatic.com/169/0/12065520/il_75x75.1132761176_n7b7.jpg", "url_170x135":"https://img0.etsystatic.com/169/0/12065520/il_170x135.1132761176_n7b7.jpg", "url_570xN":"https://img0.etsystatic.com/169/0/12065520/il_570xN.1132761176_n7b7.jpg", "url_fullxfull":"https://img0.etsystatic.com/169/0/12065520/il_fullxfull.1132761176_n7b7.jpg", "full_height":540, "full_width":720}, {"listing_image_id":1179359, "hex_code":"6B6868", "red":107, "green":104, "blue":104, "hue":0, "saturation":2, "brightness":41, "is_black_and_white":false, "creation_tsz":1485797197, "listing_id":59759273, "rank":5, "url_75x75":"https://img1.etsystatic.com/169/0/12065520/il_75x75.1179359817_215n.jpg", "url_170x135":"https://img1.etsystatic.com/169/0/12065520/il_170x135.1179359817_215n.jpg", "url_570xN":"https://img1.etsystatic.com/169/0/12065520/il_570xN.1179359817_215n.jpg", "url_fullxfull":"https://img1.etsystatic.com/169/0/12065520/il_fullxfull.1179359817_215n.jpg", "full_height":540, "full_width":720}]}],"params":{"listing_id":"59759273", "includes":"Images"},"type":"Listing"}
@@ -1,11 +1,11 @@
1
- {
1
+ {
2
2
  "count":1,
3
3
  "results":
4
4
  [
5
5
  {
6
6
  "receipt_id":27230877,
7
7
  "buyer_user_id":12345,
8
- "created_tsz":1412206858,
8
+ "creation_tsz":1412206858,
9
9
  "quantity":5,
10
10
  "listing_id":123456,
11
11
  "name":"Mike Taylor",
@@ -19,10 +19,10 @@
19
19
  "buyer_email":"bar@example.com"
20
20
  }
21
21
  ],
22
- "params": {
22
+ "params": {
23
23
  "shop_id":"5818087",
24
24
  "limit":25,
25
25
  "offset":0
26
26
  },
27
27
  "type":"Receipt"
28
- }
28
+ }
@@ -0,0 +1 @@
1
+ {"count":1,"results":[{"shipping_info_id":212,"primary_cost":"$9.99","listing_id":14888443}],"params":{"shipping_template_id":"212"},"type":"ShippingTemplate","pagination":{}}