peddler 2.0.0 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -6
- data/lib/mws/feeds/client.rb +1 -0
- data/lib/mws/fulfillment_inbound_shipment/client.rb +3 -0
- data/lib/peddler/errors/builder.rb +0 -2
- data/lib/peddler/flat_file_parser.rb +3 -2
- data/lib/peddler/marketplace.rb +3 -4
- data/lib/peddler/operation.rb +7 -6
- data/lib/peddler/parser.rb +4 -5
- data/lib/peddler/version.rb +1 -1
- data/test/integration/test_orders.rb +2 -2
- data/test/integration/test_reports.rb +1 -1
- data/test/integration_helper.rb +2 -2
- data/test/unit/mws/test_fulfillment_inbound_shipment_client.rb +40 -3
- data/test/unit/peddler/test_flat_file_parser.rb +7 -0
- data/test/unit/peddler/test_operation.rb +7 -4
- data/test/vcr_cassettes/CartInformation.yml +9 -9
- data/test/vcr_cassettes/CustomerInformation.yml +9 -9
- data/test/vcr_cassettes/Errors.yml +18 -18
- data/test/vcr_cassettes/Feeds.yml +108 -108
- data/test/vcr_cassettes/FulfillmentInboundShipment.yml +27 -27
- data/test/vcr_cassettes/FulfillmentInventory.yml +18 -18
- data/test/vcr_cassettes/FulfillmentOutboundShipment.yml +9 -9
- data/test/vcr_cassettes/MWSHeaders.yml +9 -9
- data/test/vcr_cassettes/MerchantFulfillment.yml +9 -9
- data/test/vcr_cassettes/MultibyteQueries.yml +9 -9
- data/test/vcr_cassettes/OffAmazonPayments.yml +9 -9
- data/test/vcr_cassettes/Orders.yml +27 -27
- data/test/vcr_cassettes/Products.yml +81 -81
- data/test/vcr_cassettes/Recommendations.yml +18 -18
- data/test/vcr_cassettes/Reports.yml +189 -189
- data/test/vcr_cassettes/Sellers.yml +9 -9
- data/test/vcr_cassettes/Subscriptions.yml +27 -27
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab8bcb8e672611aae106acc48115ea0bc464386bfd132d9e63a9f79ec65a98e2
|
4
|
+
data.tar.gz: e9f7a329ded38e2ef63d3a339a925dbaf7696e2d58e7d59851f66fbb1aa7326e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afdecb6f6a1b920e030588a184e28dee532676a3f42946f68eb87ba0798008ea642836d2e14b328d599e1d580cdae1919a2c5f6e1e5d5cacc19a9c2b322a1a9d
|
7
|
+
data.tar.gz: 846746905c8b96848a56dbfa69af5cfa8430e9d0d7d5df77796a760af087d48a30d332ca5e3391e38da45328c4fdda72568786814376fcf0d0b474c320ae8582
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
**Peddler** is a Ruby interface to the [Amazon MWS API](https://developer.amazonservices.com/), a collection of web services that help Amazon sellers programmatically exchange data on their listings, orders, payments, reports, and more.
|
8
8
|
|
9
|
-
To use Amazon MWS, you must have an eligible seller account and
|
9
|
+
To use Amazon MWS, you must have an eligible seller account and register as an [application developer](https://docs.developer.amazonservices.com/en_US/dev_guide/DG_Registering.html#DG_Registering__RegisteringAsADeveloper).
|
10
10
|
|
11
11
|
Amazon has [multiple regions](https://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html). Each region requires application developers to register individually.
|
12
12
|
|
@@ -48,9 +48,9 @@ MWS.orders(marketplace: "US",
|
|
48
48
|
If you are creating a [client for another seller](https://developer.amazonservices.com/gp/mws/faq.html#developForSeller), pass an MWS Auth Token as well.
|
49
49
|
|
50
50
|
```ruby
|
51
|
-
|
52
|
-
|
53
|
-
|
51
|
+
MWS.orders(marketplace: "ATVPDKIKX0DER",
|
52
|
+
merchant_id: "123",
|
53
|
+
auth_token: "123")
|
54
54
|
```
|
55
55
|
|
56
56
|
You won't be able to create a client for another seller if you are in different regions.
|
@@ -122,7 +122,7 @@ rescue Peddler::Errors::QuotaExceeded => error
|
|
122
122
|
end
|
123
123
|
```
|
124
124
|
|
125
|
-
|
125
|
+
Read [tips on how to avoid throttling](https://docs.developer.amazonservices.com/en_US/dev_guide/DG_Throttling.html).
|
126
126
|
|
127
127
|
### Debugging
|
128
128
|
|
@@ -140,7 +140,7 @@ puts response.mws_request_id
|
|
140
140
|
puts response.mws_timestamp
|
141
141
|
```
|
142
142
|
|
143
|
-
You can access the same attributes on `error.response`. See
|
143
|
+
You can access the same attributes on `error.response`. See <a href="#throttling">above example</a>.
|
144
144
|
|
145
145
|
## The APIs
|
146
146
|
|
@@ -150,6 +150,7 @@ The MWS Feeds API lets you upload inventory and order data to Amazon. You can al
|
|
150
150
|
|
151
151
|
- [Amazon references](https://developer.amazonservices.com/gp/mws/api.html?group=bde§ion=feeds)
|
152
152
|
- [Peddler API docs](http://www.rubydoc.info/gems/peddler/MWS/Feeds/Client)
|
153
|
+
- [XML schema docs](https://sellercentral.amazon.com/gp/help/help-page.html?itemID=1611)
|
153
154
|
|
154
155
|
### Finances
|
155
156
|
|
data/lib/mws/feeds/client.rb
CHANGED
@@ -6,6 +6,7 @@ module MWS
|
|
6
6
|
module Feeds
|
7
7
|
# The MWS Feeds API lets you upload inventory and order data to Amazon. You
|
8
8
|
# can also use this API to get information about the processing of feeds.
|
9
|
+
# @see https://sellercentral.amazon.com/gp/help/help-page.html?itemID=1611
|
9
10
|
class Client < ::Peddler::Client
|
10
11
|
self.version = '2009-01-01'
|
11
12
|
self.path = "/Feeds/#{version}"
|
@@ -47,6 +47,8 @@ module MWS
|
|
47
47
|
# @param [Struct, Hash] ship_from_address
|
48
48
|
# @param [Array<Struct, Hash>] inbound_shipment_plan_request_items
|
49
49
|
# @param [Hash] opts
|
50
|
+
# @option opts [String] :ship_to_country_code
|
51
|
+
# @option opts [String] :ship_to_country_subdivision_code
|
50
52
|
# @option opts [String] :label_prep_preference
|
51
53
|
# @return [Peddler::XMLParser]
|
52
54
|
def create_inbound_shipment_plan(ship_from_address,
|
@@ -58,6 +60,7 @@ module MWS
|
|
58
60
|
'InboundShipmentPlanRequestItems' =>
|
59
61
|
inbound_shipment_plan_request_items)
|
60
62
|
.structure!('InboundShipmentPlanRequestItems', 'member')
|
63
|
+
.structure!('PrepDetailsList', 'member')
|
61
64
|
|
62
65
|
run
|
63
66
|
end
|
@@ -12,6 +12,7 @@ module Peddler
|
|
12
12
|
|
13
13
|
# http://stackoverflow.com/questions/8073920/importing-csv-quoting-error-is-driving-me-nuts
|
14
14
|
OPTIONS = { col_sep: "\t", quote_char: "\x00", headers: true }.freeze
|
15
|
+
private_constant :OPTIONS
|
15
16
|
|
16
17
|
attr_reader :content, :summary
|
17
18
|
|
@@ -22,7 +23,7 @@ module Peddler
|
|
22
23
|
end
|
23
24
|
|
24
25
|
def parse(&blk)
|
25
|
-
CSV.parse(content, OPTIONS, &blk)
|
26
|
+
CSV.parse(content, OPTIONS, &blk) unless content.empty?
|
26
27
|
end
|
27
28
|
|
28
29
|
def records_count
|
@@ -42,7 +43,7 @@ module Peddler
|
|
42
43
|
|
43
44
|
def extract_content_and_summary
|
44
45
|
@content = body.encode('UTF-8', invalid: :replace, undef: :replace)
|
45
|
-
@summary, @content = @content.split("\n\n") if @content
|
46
|
+
@summary, @content = @content.split("\n\n", 2) if @content =~ /\t\t.*\n\n/
|
46
47
|
end
|
47
48
|
|
48
49
|
def summarize
|
data/lib/peddler/marketplace.rb
CHANGED
@@ -39,10 +39,9 @@ module Peddler
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
# Caveat: We use
|
43
|
-
#
|
44
|
-
#
|
45
|
-
# replacements.
|
42
|
+
# Caveat: We use supersets Windows-31J and CP1252 in place of Shift_JIS and
|
43
|
+
# ISO 8859-1 respectively to handle some edge cases. These should be safe to
|
44
|
+
# drop in as replacements.
|
46
45
|
def encoding
|
47
46
|
case country_code
|
48
47
|
when 'JP'
|
data/lib/peddler/operation.rb
CHANGED
@@ -15,12 +15,13 @@ module Peddler
|
|
15
15
|
|
16
16
|
def structure!(*list_keys)
|
17
17
|
list_key = list_keys.shift
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
keys
|
19
|
+
.find_all { |key| key.end_with?(list_key) }
|
20
|
+
.each do |found_key|
|
21
|
+
builder = StructuredList.new(found_key, *list_keys)
|
22
|
+
vals = delete(found_key)
|
23
|
+
update(builder.build(vals))
|
24
|
+
end
|
24
25
|
|
25
26
|
self
|
26
27
|
end
|
data/lib/peddler/parser.rb
CHANGED
@@ -7,8 +7,8 @@ module Peddler
|
|
7
7
|
# @api private
|
8
8
|
module Parser
|
9
9
|
class << self
|
10
|
-
#
|
11
|
-
#
|
10
|
+
# We're massaging data produced by a motley army of developers. It's
|
11
|
+
# messy.
|
12
12
|
def new(res, encoding)
|
13
13
|
# Don't parse if there's no body
|
14
14
|
return res unless res.body
|
@@ -16,9 +16,8 @@ module Peddler
|
|
16
16
|
if xml?(res)
|
17
17
|
XMLResponseParser.new(res)
|
18
18
|
else
|
19
|
-
# Amazon returns a variety of content types for flat files
|
20
|
-
#
|
21
|
-
# defensively and check content type again.
|
19
|
+
# Amazon returns a variety of content types for flat files. I simply
|
20
|
+
# assume anything not XML is a flat file.
|
22
21
|
FlatFileParser.new(res, encoding)
|
23
22
|
end
|
24
23
|
end
|
data/lib/peddler/version.rb
CHANGED
@@ -14,8 +14,8 @@ class TestOrders < IntegrationTest
|
|
14
14
|
|
15
15
|
next if order_ids.count < 2
|
16
16
|
|
17
|
-
|
18
|
-
|
17
|
+
res = client.get_order(*order_ids)
|
18
|
+
orders = res.dig('Orders', 'Order')
|
19
19
|
|
20
20
|
assert_equal order_ids.count, orders.count
|
21
21
|
end
|
data/test/integration_helper.rb
CHANGED
@@ -45,7 +45,7 @@ VCR.configure do |c|
|
|
45
45
|
end
|
46
46
|
|
47
47
|
Credentials.each do |record|
|
48
|
-
c.filter_sensitive_data('
|
49
|
-
c.filter_sensitive_data('
|
48
|
+
c.filter_sensitive_data('MERCHANT_ID') { record['merchant_id'] }
|
49
|
+
c.filter_sensitive_data('AWS_ACCESS_KEY_ID') { record['aws_access_key_id'] }
|
50
50
|
end
|
51
51
|
end
|
@@ -39,12 +39,49 @@ class TestMWSFulfillmentInboundShipmentClient < MiniTest::Test
|
|
39
39
|
def test_creates_inbound_shipment_plan
|
40
40
|
operation = {
|
41
41
|
'Action' => 'CreateInboundShipmentPlan',
|
42
|
-
'
|
43
|
-
'
|
42
|
+
'LabelPrepPreference' => 'SELLER_LABEL',
|
43
|
+
'ShipFromAddress.Name' => 'test1',
|
44
|
+
'ShipFromAddress.City' => 'Seattle',
|
45
|
+
'ShipFromAddress.CountryCode' => 'US',
|
46
|
+
'InboundShipmentPlanRequestItems.member.1.SellerSKU' => 'SKU00001',
|
47
|
+
'InboundShipmentPlanRequestItems.member.1.Quantity' => '1',
|
48
|
+
'InboundShipmentPlanRequestItems.member.1.PrepDetailsList.member.1.PrepInstruction' => 'Taping',
|
49
|
+
'InboundShipmentPlanRequestItems.member.1.PrepDetailsList.member.1.PrepOwner' => 'AMAZON',
|
50
|
+
'InboundShipmentPlanRequestItems.member.1.PrepDetailsList.member.2.PrepInstruction' => 'BubbleWrapping',
|
51
|
+
'InboundShipmentPlanRequestItems.member.1.PrepDetailsList.member.2.PrepOwner' => 'AMAZON',
|
52
|
+
'InboundShipmentPlanRequestItems.member.2.SellerSKU' => 'SKU00002',
|
53
|
+
'InboundShipmentPlanRequestItems.member.2.Quantity' => '1',
|
54
|
+
'InboundShipmentPlanRequestItems.member.2.PrepDetailsList.member.1.PrepInstruction' => 'Taping',
|
55
|
+
'InboundShipmentPlanRequestItems.member.2.PrepDetailsList.member.1.PrepOwner' => 'AMAZON',
|
56
|
+
'InboundShipmentPlanRequestItems.member.2.PrepDetailsList.member.2.PrepInstruction' => 'BubbleWrapping',
|
57
|
+
'InboundShipmentPlanRequestItems.member.2.PrepDetailsList.member.2.PrepOwner' => 'AMAZON'
|
44
58
|
}
|
45
59
|
|
46
60
|
@client.stub(:run, nil) do
|
47
|
-
|
61
|
+
address = {
|
62
|
+
'Name' => 'test1',
|
63
|
+
'City' => 'Seattle',
|
64
|
+
'CountryCode' => 'US'
|
65
|
+
}
|
66
|
+
request_items = [
|
67
|
+
{
|
68
|
+
'SellerSKU' => 'SKU00001',
|
69
|
+
'Quantity' => '1',
|
70
|
+
'PrepDetailsList' => [
|
71
|
+
{ 'PrepInstruction' => 'Taping', 'PrepOwner' => 'AMAZON' },
|
72
|
+
{ 'PrepInstruction' => 'BubbleWrapping', 'PrepOwner' => 'AMAZON' }
|
73
|
+
]
|
74
|
+
}, {
|
75
|
+
'SellerSKU' => 'SKU00002',
|
76
|
+
'Quantity' => '1',
|
77
|
+
'PrepDetailsList' => [
|
78
|
+
{ 'PrepInstruction' => 'Taping', 'PrepOwner' => 'AMAZON' },
|
79
|
+
{ 'PrepInstruction' => 'BubbleWrapping', 'PrepOwner' => 'AMAZON' }
|
80
|
+
]
|
81
|
+
}
|
82
|
+
]
|
83
|
+
@client.create_inbound_shipment_plan(address, request_items,
|
84
|
+
label_prep_preference: 'SELLER_LABEL')
|
48
85
|
end
|
49
86
|
|
50
87
|
assert_equal operation, @client.operation
|
@@ -20,6 +20,13 @@ class TestPeddlerFlatFileParser < MiniTest::Test
|
|
20
20
|
assert counter.positive?
|
21
21
|
end
|
22
22
|
|
23
|
+
def test_works_around_empty_rows
|
24
|
+
body = build_body("Feed Processing Summary:\n\tNumber of records processed\t\t2\n\tNumber of records successful\t\t2\n\nfoo\tbar\n1\ta\n\n2\tb\n",
|
25
|
+
encoding: Encoding::ASCII_8BIT)
|
26
|
+
parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
|
27
|
+
assert_equal 3, parser.parse.count
|
28
|
+
end
|
29
|
+
|
23
30
|
def test_summarises
|
24
31
|
body = build_body("Feed Processing Summary:\n\tNumber of records processed\t\t11006\n\tNumber of records successful\t\t11006\n\noriginal-record-number\tsku\terror-code\terror-type\terror-message\n1822\t85da472e-ba6c-11e3-95af-002590a74356\t5000\tWarning\tThe update for Sku '85da472e-ba6c-11e3-95af-002590a74356' was skipped because it is identical to the update in feed '9518995390'.\n",
|
25
32
|
encoding: Encoding::ASCII_8BIT)
|
@@ -16,11 +16,14 @@ class TestPeddlerOperation < MiniTest::Test
|
|
16
16
|
assert_equal 2, @operation['FooStatus.Foo.2']
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
20
|
-
@operation.store('Foo.Status', [{ 'Baz' => 1 }])
|
19
|
+
def test_converts_nested_keys_to_structured_list
|
20
|
+
@operation.store('Foo.1.Status', [{ 'Baz' => 1 }])
|
21
|
+
@operation.store('Foo.2.Status', [{ 'Baz' => 2 }])
|
21
22
|
@operation.structure!('Status', 'Bar')
|
22
|
-
refute @operation.key?('
|
23
|
-
|
23
|
+
refute @operation.key?('Foo.1.Status')
|
24
|
+
refute @operation.key?('Foo.2.Status')
|
25
|
+
assert_equal 1, @operation['Foo.1.Status.Bar.1.Baz']
|
26
|
+
assert_equal 2, @operation['Foo.2.Status.Bar.1.Baz']
|
24
27
|
end
|
25
28
|
|
26
29
|
def test_store_camelizes_symbol_key
|
@@ -5,7 +5,7 @@ http_interactions:
|
|
5
5
|
uri: https://mws.amazonservices.com/CartInformation/2014-03-01
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
|
-
string: AWSAccessKeyId=
|
8
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A17Z&Version=2014-03-01&Signature=Ld91dAS8OXCk9NNcjb9d4AyEerTSfVMGDAdp7EHmCWU%3D
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
11
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -50,7 +50,7 @@ http_interactions:
|
|
50
50
|
uri: https://mws-eu.amazonservices.com/CartInformation/2014-03-01
|
51
51
|
body:
|
52
52
|
encoding: US-ASCII
|
53
|
-
string: AWSAccessKeyId=
|
53
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A18Z&Version=2014-03-01&Signature=d4vyZzrPNWdYbhXs5L01DT%2FoERrRfTDWHwyAlSpZb0I%3D
|
54
54
|
headers:
|
55
55
|
User-Agent:
|
56
56
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -95,7 +95,7 @@ http_interactions:
|
|
95
95
|
uri: https://mws.amazonservices.jp/CartInformation/2014-03-01
|
96
96
|
body:
|
97
97
|
encoding: US-ASCII
|
98
|
-
string: AWSAccessKeyId=
|
98
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A18Z&Version=2014-03-01&Signature=SAtKF%2FgZvRKDqsTqHPIsaSkE4xSeqa9jroOreysDc1I%3D
|
99
99
|
headers:
|
100
100
|
User-Agent:
|
101
101
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -140,7 +140,7 @@ http_interactions:
|
|
140
140
|
uri: https://mws.amazonservices.com/CartInformation/2014-03-01
|
141
141
|
body:
|
142
142
|
encoding: US-ASCII
|
143
|
-
string: AWSAccessKeyId=
|
143
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A20Z&Version=2014-03-01&Signature=W7G0kqHOMU91l%2B731hPIwjZbuNfk%2FuUZh4yEKkcuZKE%3D
|
144
144
|
headers:
|
145
145
|
User-Agent:
|
146
146
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -185,7 +185,7 @@ http_interactions:
|
|
185
185
|
uri: https://mws.amazonservices.com/CartInformation/2014-03-01
|
186
186
|
body:
|
187
187
|
encoding: UTF-8
|
188
|
-
string: AWSAccessKeyId=
|
188
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A36%3A40Z&Version=2014-03-01&Signature=Tk7nFqDn9DB4%2B9%2FiJRdY6NZXW2PFdxWSmMcNOFpUWTg%3D
|
189
189
|
headers:
|
190
190
|
User-Agent:
|
191
191
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -235,7 +235,7 @@ http_interactions:
|
|
235
235
|
uri: https://mws-eu.amazonservices.com/CartInformation/2014-03-01
|
236
236
|
body:
|
237
237
|
encoding: UTF-8
|
238
|
-
string: AWSAccessKeyId=
|
238
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A36%3A42Z&Version=2014-03-01&Signature=zN1E2KOQnB1%2BhCW13NFgfM8%2BzJ124zPIm20B%2BVjDdqY%3D
|
239
239
|
headers:
|
240
240
|
User-Agent:
|
241
241
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -285,7 +285,7 @@ http_interactions:
|
|
285
285
|
uri: https://mws-eu.amazonservices.com/CartInformation/2014-03-01
|
286
286
|
body:
|
287
287
|
encoding: UTF-8
|
288
|
-
string: AWSAccessKeyId=
|
288
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A36%3A42Z&Version=2014-03-01&Signature=n%2FyWxKdk1zAyN4WMU%2BzjWlf9I1B69JYVDJh2JpL5uTo%3D
|
289
289
|
headers:
|
290
290
|
User-Agent:
|
291
291
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -335,7 +335,7 @@ http_interactions:
|
|
335
335
|
uri: https://mws-eu.amazonservices.com/CartInformation/2014-03-01
|
336
336
|
body:
|
337
337
|
encoding: UTF-8
|
338
|
-
string: AWSAccessKeyId=
|
338
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A36%3A42Z&Version=2014-03-01&Signature=AY%2BsyBHSpK5JJWP5oXnho3Rf7jYJ30pGmvlGaAUnfzs%3D
|
339
339
|
headers:
|
340
340
|
User-Agent:
|
341
341
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -385,7 +385,7 @@ http_interactions:
|
|
385
385
|
uri: https://mws-eu.amazonservices.com/CartInformation/2014-03-01
|
386
386
|
body:
|
387
387
|
encoding: UTF-8
|
388
|
-
string: AWSAccessKeyId=
|
388
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A36%3A43Z&Version=2014-03-01&Signature=7rJDI43OadISwA6AfpHAR6jCvV3ncXcRmU%2B%2BDHziIlY%3D
|
389
389
|
headers:
|
390
390
|
User-Agent:
|
391
391
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -5,7 +5,7 @@ http_interactions:
|
|
5
5
|
uri: https://mws.amazonservices.com/CustomerInformation/2014-03-01
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
|
-
string: AWSAccessKeyId=
|
8
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A34Z&Version=2014-03-01&Signature=1%2FL5NDm5Ouf2bLwtGovQmn54OtIeeZHLfzzBQJfZ6P0%3D
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
11
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -50,7 +50,7 @@ http_interactions:
|
|
50
50
|
uri: https://mws-eu.amazonservices.com/CustomerInformation/2014-03-01
|
51
51
|
body:
|
52
52
|
encoding: US-ASCII
|
53
|
-
string: AWSAccessKeyId=
|
53
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A35Z&Version=2014-03-01&Signature=0Z0UxCRnrGZoS%2F%2Bjtn%2F3g0dYYiC4fkyDKQayAkIPtzE%3D
|
54
54
|
headers:
|
55
55
|
User-Agent:
|
56
56
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -95,7 +95,7 @@ http_interactions:
|
|
95
95
|
uri: https://mws.amazonservices.jp/CustomerInformation/2014-03-01
|
96
96
|
body:
|
97
97
|
encoding: US-ASCII
|
98
|
-
string: AWSAccessKeyId=
|
98
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A36Z&Version=2014-03-01&Signature=nwmUlmdXDSzXRlMIkg3H%2FRVk8WFGs%2FkJYb%2FqMSjQi8U%3D
|
99
99
|
headers:
|
100
100
|
User-Agent:
|
101
101
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -140,7 +140,7 @@ http_interactions:
|
|
140
140
|
uri: https://mws.amazonservices.com/CustomerInformation/2014-03-01
|
141
141
|
body:
|
142
142
|
encoding: US-ASCII
|
143
|
-
string: AWSAccessKeyId=
|
143
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2015-03-28T18%3A10%3A37Z&Version=2014-03-01&Signature=1gtD52L%2FPTkcgT%2FIOt40amQ1%2ByJXM9bXkqJz8ubiHf4%3D
|
144
144
|
headers:
|
145
145
|
User-Agent:
|
146
146
|
- Jeff/1.2.0 (Language=Ruby; Hakans-MacBook-Pro.local)
|
@@ -185,7 +185,7 @@ http_interactions:
|
|
185
185
|
uri: https://mws.amazonservices.com/CustomerInformation/2014-03-01
|
186
186
|
body:
|
187
187
|
encoding: UTF-8
|
188
|
-
string: AWSAccessKeyId=
|
188
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A37%3A18Z&Version=2014-03-01&Signature=ulFnKcmr%2Bo3DWGZMbbUllITdAOwwNlHTbQrIcq%2FXWQE%3D
|
189
189
|
headers:
|
190
190
|
User-Agent:
|
191
191
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -235,7 +235,7 @@ http_interactions:
|
|
235
235
|
uri: https://mws-eu.amazonservices.com/CustomerInformation/2014-03-01
|
236
236
|
body:
|
237
237
|
encoding: UTF-8
|
238
|
-
string: AWSAccessKeyId=
|
238
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A37%3A20Z&Version=2014-03-01&Signature=YO2xqZYI%2F5jCYgOq00tHWYklOU8akuk0FHY%2F0X%2F9hrI%3D
|
239
239
|
headers:
|
240
240
|
User-Agent:
|
241
241
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -285,7 +285,7 @@ http_interactions:
|
|
285
285
|
uri: https://mws-eu.amazonservices.com/CustomerInformation/2014-03-01
|
286
286
|
body:
|
287
287
|
encoding: UTF-8
|
288
|
-
string: AWSAccessKeyId=
|
288
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A37%3A21Z&Version=2014-03-01&Signature=NhjhZ7182OzwKG0dPMRbJ5KnB4G2dRdOFCvBFISyLWE%3D
|
289
289
|
headers:
|
290
290
|
User-Agent:
|
291
291
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -335,7 +335,7 @@ http_interactions:
|
|
335
335
|
uri: https://mws-eu.amazonservices.com/CustomerInformation/2014-03-01
|
336
336
|
body:
|
337
337
|
encoding: UTF-8
|
338
|
-
string: AWSAccessKeyId=
|
338
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A37%3A21Z&Version=2014-03-01&Signature=mIV1JMvgycHCj7xRR9wrhkIJLOd30ydlu%2Blh6l43rH0%3D
|
339
339
|
headers:
|
340
340
|
User-Agent:
|
341
341
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|
@@ -385,7 +385,7 @@ http_interactions:
|
|
385
385
|
uri: https://mws-eu.amazonservices.com/CustomerInformation/2014-03-01
|
386
386
|
body:
|
387
387
|
encoding: UTF-8
|
388
|
-
string: AWSAccessKeyId=
|
388
|
+
string: AWSAccessKeyId=AWS_ACCESS_KEY_ID&Action=GetServiceStatus&SellerId=MERCHANT_ID&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-05-23T12%3A37%3A22Z&Version=2014-03-01&Signature=3FoVyLOV9DSHEVssJRfniw6TtAovo7Vx4TqrhlQCT5c%3D
|
389
389
|
headers:
|
390
390
|
User-Agent:
|
391
391
|
- Jeff/1.5.1 (Language=Ruby; Hakans-MacBook.home)
|