peddler 2.0.4 → 2.1.0
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 +12 -18
- data/lib/mws/fulfillment_inbound_shipment/client.rb +18 -0
- data/lib/mws/fulfillment_outbound_shipment/client.rb +0 -11
- data/lib/mws/reports/parser.rb +35 -0
- data/lib/peddler/errors/builder.rb +2 -1
- data/lib/peddler/errors/class_generator.rb +1 -0
- data/lib/peddler/flat_file_parser.rb +1 -0
- data/lib/peddler/headers.rb +4 -0
- data/lib/peddler/marketplace.rb +1 -0
- data/lib/peddler/operation.rb +12 -2
- data/lib/peddler/version.rb +1 -1
- data/lib/peddler/xml_parser.rb +1 -0
- data/lib/peddler/xml_response_parser.rb +1 -1
- data/test/helper.rb +1 -0
- data/test/integration/test_feeds.rb +3 -3
- data/test/integration/test_fulfillment_inbound_shipment.rb +3 -3
- data/test/integration/test_fulfillment_inventory.rb +2 -2
- data/test/integration/test_fulfillment_outbound_shipment.rb +1 -1
- data/test/integration/test_merchant_fulfillment.rb +57 -1
- data/test/integration/test_multibyte_queries.rb +1 -1
- data/test/integration/test_mws_headers.rb +1 -1
- data/test/integration/test_off_amazon_payments.rb +1 -1
- data/test/integration/test_orders.rb +2 -2
- data/test/integration/test_products.rb +12 -12
- data/test/integration/test_recommendations.rb +2 -2
- data/test/integration/test_reports.rb +6 -6
- data/test/integration/test_sellers.rb +1 -1
- data/test/integration/test_subscriptions.rb +3 -3
- data/test/integration_helper.rb +9 -7
- data/test/unit/mws/test_feeds_client.rb +6 -6
- data/test/unit/mws/test_finances_client.rb +5 -5
- data/test/unit/mws/test_fulfillment_inbound_shipment_client.rb +40 -24
- data/test/unit/mws/test_fulfillment_inventory_client.rb +3 -3
- data/test/unit/mws/test_fulfillment_outbound_shipment_client.rb +11 -11
- data/test/unit/mws/test_merchant_fulfillment_client.rb +5 -5
- data/test/unit/mws/test_off_amazon_payments_client.rb +17 -17
- data/test/unit/mws/test_orders_client.rb +7 -7
- data/test/unit/mws/test_products_client.rb +15 -15
- data/test/unit/mws/test_recommendations_client.rb +4 -4
- data/test/unit/mws/test_reports_client.rb +14 -14
- data/test/unit/mws/test_sellers_client.rb +3 -3
- data/test/unit/mws/test_subscriptions_client.rb +11 -11
- data/test/unit/peddler/errors/test_builder.rb +4 -4
- data/test/unit/peddler/errors/test_class_generator.rb +1 -1
- data/test/unit/peddler/errors/test_error.rb +5 -5
- data/test/unit/peddler/errors/test_parser.rb +4 -4
- data/test/unit/peddler/test_client.rb +20 -20
- data/test/unit/peddler/test_flat_file_parser.rb +11 -11
- data/test/unit/peddler/test_headers.rb +1 -1
- data/test/unit/peddler/test_marketplace.rb +1 -1
- data/test/unit/peddler/test_operation.rb +18 -12
- data/test/unit/peddler/test_parser.rb +3 -3
- data/test/unit/peddler/test_structured_list.rb +5 -5
- data/test/unit/peddler/test_vcr_matcher.rb +4 -4
- data/test/unit/peddler/test_xml_parser.rb +3 -3
- data/test/unit/peddler/test_xml_response_parser.rb +4 -4
- data/test/unit/test_mws.rb +1 -1
- data/test/vcr_cassettes/FulfillmentInboundShipment.yml +36 -36
- data/test/vcr_cassettes/MerchantFulfillment.yml +309 -1
- metadata +3 -2
@@ -4,14 +4,14 @@ require 'helper'
|
|
4
4
|
require 'peddler/flat_file_parser'
|
5
5
|
|
6
6
|
class TestPeddlerFlatFileParser < MiniTest::Test
|
7
|
-
def
|
7
|
+
def test_parsing_data
|
8
8
|
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",
|
9
9
|
encoding: Encoding::ASCII_8BIT)
|
10
10
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
|
11
11
|
assert_kind_of CSV::Table, parser.parse
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
14
|
+
def test_parsing_data_a_line_at_a_time
|
15
15
|
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",
|
16
16
|
encoding: Encoding::ASCII_8BIT)
|
17
17
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
|
@@ -20,21 +20,21 @@ class TestPeddlerFlatFileParser < MiniTest::Test
|
|
20
20
|
assert counter.positive?
|
21
21
|
end
|
22
22
|
|
23
|
-
def
|
23
|
+
def test_the_work_around_empty_rows
|
24
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
25
|
encoding: Encoding::ASCII_8BIT)
|
26
26
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
|
27
27
|
assert_equal 3, parser.parse.count
|
28
28
|
end
|
29
29
|
|
30
|
-
def
|
30
|
+
def test_summary
|
31
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",
|
32
32
|
encoding: Encoding::ASCII_8BIT)
|
33
33
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
|
34
34
|
refute_empty parser.records_count
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
37
|
+
def test_summary_of_non_english_reports
|
38
38
|
body = build_body("Riepilogo elaborazione feed:\n\tNumero record elaborati\t\t1\n\tNumero record elaborati con successo\t\t1\n\n",
|
39
39
|
encoding: 'Cp1252')
|
40
40
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), 'ISO-8859-1')
|
@@ -48,38 +48,38 @@ class TestPeddlerFlatFileParser < MiniTest::Test
|
|
48
48
|
assert parser.valid?
|
49
49
|
end
|
50
50
|
|
51
|
-
def
|
51
|
+
def test_handling_reports_without_a_summary
|
52
52
|
response = OpenStruct.new(body: "Foo\nBar\n")
|
53
53
|
parser = Peddler::FlatFileParser.new(response, 'ISO-8859-1')
|
54
54
|
refute_empty parser.content
|
55
55
|
end
|
56
56
|
|
57
|
-
def
|
57
|
+
def test_handling_japanese_flat_files
|
58
58
|
body = build_body("Foo\nこんにちは\n", encoding: Encoding::SHIFT_JIS)
|
59
59
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::WINDOWS_31J)
|
60
60
|
assert_equal 'こんにちは', parser.parse[0]['Foo']
|
61
61
|
end
|
62
62
|
|
63
|
-
def
|
63
|
+
def test_handling_japanese_curly_braces
|
64
64
|
body = build_body("Foo\n〝\n", encoding: Encoding::WINDOWS_31J)
|
65
65
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::WINDOWS_31J)
|
66
66
|
assert_equal '〝', parser.parse[0]['Foo']
|
67
67
|
end
|
68
68
|
|
69
|
-
def
|
69
|
+
def test_handling_latin_1_flat_files
|
70
70
|
body = build_body("Foo\n™\n", encoding: 'Cp1252')
|
71
71
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::CP1252)
|
72
72
|
assert_equal '™', parser.parse['Foo'][0]
|
73
73
|
end
|
74
74
|
|
75
|
-
def
|
75
|
+
def test_handling_undefined_characters
|
76
76
|
body = +"Foo\n\xFF\n"
|
77
77
|
body.force_encoding(Encoding::ASCII_8BIT)
|
78
78
|
parser = Peddler::FlatFileParser.new(build_mock_response(body), Encoding::ASCII_8BIT)
|
79
79
|
assert_equal '�', parser.parse['Foo'][0]
|
80
80
|
end
|
81
81
|
|
82
|
-
def
|
82
|
+
def test_handling_utf8_flat_files
|
83
83
|
body = "Foo\nfür\n"
|
84
84
|
parser = Peddler::FlatFileParser.new(build_mock_response(body, ascii: false), Encoding::CP1252)
|
85
85
|
assert_equal 'für', parser.parse['Foo'][0]
|
@@ -39,7 +39,7 @@ class TestPeddlerMarketplace < MiniTest::Test
|
|
39
39
|
@marketplace = Peddler::Marketplace.find('US')
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
42
|
+
def test_translation_of_uk_to_gb
|
43
43
|
marketplace = Peddler::Marketplace.find('UK')
|
44
44
|
assert_equal 'GB', marketplace.country_code
|
45
45
|
end
|
@@ -8,7 +8,7 @@ class TestPeddlerOperation < MiniTest::Test
|
|
8
8
|
@operation = Peddler::Operation.new('Foo')
|
9
9
|
end
|
10
10
|
|
11
|
-
def
|
11
|
+
def test_that_it_converts_key_to_structured_list
|
12
12
|
@operation.store('FooStatus', [1, 2])
|
13
13
|
@operation.structure!('FooStatus', 'Foo')
|
14
14
|
refute @operation.key?('FooStatus')
|
@@ -16,7 +16,7 @@ class TestPeddlerOperation < MiniTest::Test
|
|
16
16
|
assert_equal 2, @operation['FooStatus.Foo.2']
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
19
|
+
def test_that_it_converts_nested_keys_to_structured_list
|
20
20
|
@operation.store('Foo.1.Status', [{ 'Baz' => 1 }])
|
21
21
|
@operation.store('Foo.2.Status', [{ 'Baz' => 2 }])
|
22
22
|
@operation.structure!('Status', 'Bar')
|
@@ -26,30 +26,36 @@ class TestPeddlerOperation < MiniTest::Test
|
|
26
26
|
assert_equal 2, @operation['Foo.2.Status.Bar.1.Baz']
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
29
|
+
def test_that_store_camelizes_symbol_key
|
30
30
|
@operation.store(:foo_bar, 'baz')
|
31
31
|
assert @operation.key?('FooBar')
|
32
32
|
refute @operation.key?(:foo_bar)
|
33
33
|
end
|
34
34
|
|
35
|
-
def
|
35
|
+
def test_that_store_wont_camelize_string_key
|
36
36
|
@operation.store('foo_bar', 'baz')
|
37
37
|
assert @operation.key?('foo_bar')
|
38
38
|
refute @operation.key?('FooBar')
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
41
|
+
def test_that_store_wont_camelize_symbol_key_with_capital_letter
|
42
42
|
@operation.store('MarketplaceId'.to_sym, '1')
|
43
43
|
assert @operation.key?('MarketplaceId')
|
44
44
|
end
|
45
45
|
|
46
|
-
def
|
47
|
-
@operation.store(:seller_sku, '
|
46
|
+
def test_that_store_upcases_sku
|
47
|
+
@operation.store(:seller_sku, 'foo')
|
48
48
|
assert @operation.key?('SellerSKU')
|
49
49
|
refute @operation.key?(:seller_sku)
|
50
50
|
end
|
51
51
|
|
52
|
-
def
|
52
|
+
def test_that_store_upcases_cod
|
53
|
+
@operation.store(:include_cod_fulfillment_preview, 'foo')
|
54
|
+
assert @operation.key?('IncludeCODFulfillmentPreview')
|
55
|
+
refute @operation.key?(:include_cod_fulfillment_preview)
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_that_store_timestamps_time_values
|
53
59
|
ts = Minitest::Mock.new
|
54
60
|
ts.expect(:iso8601, 'foo')
|
55
61
|
@operation.store('time', ts)
|
@@ -57,25 +63,25 @@ class TestPeddlerOperation < MiniTest::Test
|
|
57
63
|
assert_equal 'foo', @operation.fetch('time')
|
58
64
|
end
|
59
65
|
|
60
|
-
def
|
66
|
+
def test_stringifying_hash_values
|
61
67
|
@operation.store('Foo', bar: 1)
|
62
68
|
assert_equal 1, @operation.fetch('Foo.Bar')
|
63
69
|
refute @operation.key?('Foo')
|
64
70
|
end
|
65
71
|
|
66
|
-
def
|
72
|
+
def test_stringifying_nested_hash_values
|
67
73
|
@operation.store('Foo', bar: { baz: 1 })
|
68
74
|
assert_equal 1, @operation.fetch('Foo.Bar.Baz')
|
69
75
|
refute @operation.key?('Foo')
|
70
76
|
end
|
71
77
|
|
72
|
-
def
|
78
|
+
def test_stringifying_struct_values
|
73
79
|
@operation.store('Foo', Struct.new(:bar, :baz).new(1, 2))
|
74
80
|
assert_equal 1, @operation.fetch('Foo.Bar')
|
75
81
|
assert_equal 2, @operation.fetch('Foo.Baz')
|
76
82
|
end
|
77
83
|
|
78
|
-
def
|
84
|
+
def test_that_update_returns_delegator
|
79
85
|
assert_kind_of Peddler::Operation, @operation.add(foo: 'bar')
|
80
86
|
end
|
81
87
|
end
|
@@ -16,19 +16,19 @@ class TestPeddlerParser < MiniTest::Test
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
19
|
+
def test_parsing_xml
|
20
20
|
assert_parser Peddler::XMLParser,
|
21
21
|
'text/xml',
|
22
22
|
'text/xml; charset=UTF-8'
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
25
|
+
def test_parsing_incorrect_content_type
|
26
26
|
assert_parser Peddler::XMLParser,
|
27
27
|
'xml; charset=UTF-8',
|
28
28
|
body: '<?xml version="1.0"?><GetLowestOfferListingsForASINResponse>...'
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
31
|
+
def test_parsing_flat_files
|
32
32
|
assert_parser Peddler::FlatFileParser,
|
33
33
|
'text/plain',
|
34
34
|
'application/octet-stream'
|
@@ -8,29 +8,29 @@ class TestPeddlerStructuredList < MiniTest::Test
|
|
8
8
|
@list = Peddler::StructuredList.new('OrderStatus', 'Status')
|
9
9
|
end
|
10
10
|
|
11
|
-
def
|
11
|
+
def test_building_a_structured_list_for_a_single_value
|
12
12
|
exp = { 'OrderStatus.Status.1' => 'foo' }
|
13
13
|
assert_equal exp, @list.build('foo')
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
16
|
+
def test_building_a_structured_list_for_an_array_of_values
|
17
17
|
exp = { 'OrderStatus.Status.1' => 'foo', 'OrderStatus.Status.2' => 'bar' }
|
18
18
|
assert_equal exp, @list.build(%w[foo bar])
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
21
|
+
def test_flattening_nested_arrays_of_values
|
22
22
|
exp = { 'OrderStatus.Status.1' => 'foo', 'OrderStatus.Status.2' => 'bar' }
|
23
23
|
assert_equal exp, @list.build([%w[foo bar]])
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
26
|
+
def test_handling_single_key
|
27
27
|
list = Peddler::StructuredList.new('Foo')
|
28
28
|
exp = { 'Foo.1' => 'bar' }
|
29
29
|
|
30
30
|
assert_equal exp, list.build('bar')
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
33
|
+
def test_handling_more_than_two_keys
|
34
34
|
list = Peddler::StructuredList.new('QueryList', 'Query', '1', 'FilterOptions', 'FilterOption')
|
35
35
|
exp = { 'QueryList.Query.1.FilterOptions.FilterOption.1' => 'foo' }
|
36
36
|
|
@@ -13,7 +13,7 @@ class TestPeddlerVCRMatcher < MiniTest::Test
|
|
13
13
|
VCR.insert_cassette(test_name)
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
16
|
+
def test_matching_recorded_post_without_body
|
17
17
|
client.run
|
18
18
|
end
|
19
19
|
|
@@ -24,12 +24,12 @@ class TestPeddlerVCRMatcher < MiniTest::Test
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
def
|
27
|
+
def test_matching_recorded_post_with_body
|
28
28
|
client.body = 'content'
|
29
29
|
client.run
|
30
30
|
end
|
31
31
|
|
32
|
-
def
|
32
|
+
def test_that_it_wont_match_unrecorded_post_with_different_query_and_same_body
|
33
33
|
client.operation.add(foo: 'bar')
|
34
34
|
client.body = 'content'
|
35
35
|
assert_raises(VCR::Errors::UnhandledHTTPRequestError) do
|
@@ -37,7 +37,7 @@ class TestPeddlerVCRMatcher < MiniTest::Test
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
def
|
40
|
+
def test_that_it_wont_match_unrecorded_post_with_same_query_and_different_body
|
41
41
|
client.body = 'other content'
|
42
42
|
assert_raises(VCR::Errors::UnhandledHTTPRequestError) do
|
43
43
|
client.run
|
@@ -20,18 +20,18 @@ class TestPeddlerXMLParser < MiniTest::Test
|
|
20
20
|
@parser = Parser.new(res)
|
21
21
|
end
|
22
22
|
|
23
|
-
def
|
23
|
+
def test_that_it_does_not_implement_parsing
|
24
24
|
assert_raises(NotImplementedError) do
|
25
25
|
@parser.parse
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
29
|
+
def test_digging_data
|
30
30
|
@parser.instance_variable_set :@data, foo: { bar: :baz }
|
31
31
|
assert_equal :baz, @parser.dig(:foo, :bar)
|
32
32
|
end
|
33
33
|
|
34
|
-
def
|
34
|
+
def test_validation
|
35
35
|
assert @parser.valid?
|
36
36
|
end
|
37
37
|
end
|
@@ -4,25 +4,25 @@ require 'helper'
|
|
4
4
|
require 'peddler/xml_response_parser'
|
5
5
|
|
6
6
|
class TestPeddlerXMLResponseParser < MiniTest::Test
|
7
|
-
def
|
7
|
+
def test_parsing_responses
|
8
8
|
body = '<Response><Result><Foo>Bar</Foo></Result></Response>'
|
9
9
|
parser = Peddler::XMLResponseParser.new(response(body))
|
10
10
|
assert_equal 'Bar', parser.parse['Foo']
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
13
|
+
def test_parsing_messages
|
14
14
|
body = '<Response><MessageType>ProcessingReport</MessageType><Message><Foo>Bar</Foo></Message></Response>'
|
15
15
|
parser = Peddler::XMLResponseParser.new(response(body))
|
16
16
|
assert_equal 'Bar', parser.parse['Foo']
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
19
|
+
def test_parsing_reports
|
20
20
|
body = '<fooReports><fooReport><foo>Bar</foo></fooReport></fooReports>'
|
21
21
|
parser = Peddler::XMLResponseParser.new(response(body))
|
22
22
|
assert_equal 'Bar', parser.parse['foo']
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
25
|
+
def test_parsing_next_token
|
26
26
|
body = '<Response><Result><NextToken>123</NextToken></Result></Response>'
|
27
27
|
parser = Peddler::XMLResponseParser.new(response(body))
|
28
28
|
assert_equal '123', parser.next_token
|
data/test/unit/test_mws.rb
CHANGED
@@ -46,12 +46,12 @@ http_interactions:
|
|
46
46
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
47
47
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
48
48
|
<ShipToAddress>
|
49
|
-
<City>
|
49
|
+
<City>FILTERED</City>
|
50
50
|
<CountryCode>US</CountryCode>
|
51
51
|
<PostalCode>FILTERED</PostalCode>
|
52
52
|
<Name>FILTERED</Name>
|
53
53
|
<AddressLine1>FILTERED</AddressLine1>
|
54
|
-
<StateOrProvinceCode>
|
54
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
55
55
|
</ShipToAddress>
|
56
56
|
<Items>
|
57
57
|
<member>
|
@@ -116,12 +116,12 @@ http_interactions:
|
|
116
116
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
117
117
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
118
118
|
<ShipToAddress>
|
119
|
-
<City>
|
119
|
+
<City>FILTERED</City>
|
120
120
|
<CountryCode>US</CountryCode>
|
121
121
|
<PostalCode>FILTERED</PostalCode>
|
122
122
|
<Name>FILTERED</Name>
|
123
123
|
<AddressLine1>FILTERED</AddressLine1>
|
124
|
-
<StateOrProvinceCode>
|
124
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
125
125
|
</ShipToAddress>
|
126
126
|
<Items>
|
127
127
|
<member>
|
@@ -186,12 +186,12 @@ http_interactions:
|
|
186
186
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
187
187
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
188
188
|
<ShipToAddress>
|
189
|
-
<City>
|
189
|
+
<City>FILTERED</City>
|
190
190
|
<CountryCode>US</CountryCode>
|
191
191
|
<PostalCode>FILTERED</PostalCode>
|
192
192
|
<Name>FILTERED</Name>
|
193
193
|
<AddressLine1>FILTERED</AddressLine1>
|
194
|
-
<StateOrProvinceCode>
|
194
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
195
195
|
</ShipToAddress>
|
196
196
|
<Items>
|
197
197
|
<member>
|
@@ -256,12 +256,12 @@ http_interactions:
|
|
256
256
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
257
257
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
258
258
|
<ShipToAddress>
|
259
|
-
<City>
|
259
|
+
<City>FILTERED</City>
|
260
260
|
<CountryCode>US</CountryCode>
|
261
261
|
<PostalCode>FILTERED</PostalCode>
|
262
262
|
<Name>FILTERED</Name>
|
263
263
|
<AddressLine1>FILTERED</AddressLine1>
|
264
|
-
<StateOrProvinceCode>
|
264
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
265
265
|
</ShipToAddress>
|
266
266
|
<Items>
|
267
267
|
<member>
|
@@ -756,12 +756,12 @@ http_interactions:
|
|
756
756
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
757
757
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
758
758
|
<ShipToAddress>
|
759
|
-
<City>
|
759
|
+
<City>FILTERED</City>
|
760
760
|
<CountryCode>US</CountryCode>
|
761
761
|
<PostalCode>FILTERED</PostalCode>
|
762
762
|
<Name>FILTERED</Name>
|
763
763
|
<AddressLine1>FILTERED</AddressLine1>
|
764
|
-
<StateOrProvinceCode>
|
764
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
765
765
|
</ShipToAddress>
|
766
766
|
<Items>
|
767
767
|
<member>
|
@@ -826,12 +826,12 @@ http_interactions:
|
|
826
826
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
827
827
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
828
828
|
<ShipToAddress>
|
829
|
-
<City>
|
829
|
+
<City>FILTERED</City>
|
830
830
|
<CountryCode>US</CountryCode>
|
831
831
|
<PostalCode>FILTERED</PostalCode>
|
832
832
|
<Name>FILTERED</Name>
|
833
833
|
<AddressLine1>FILTERED</AddressLine1>
|
834
|
-
<StateOrProvinceCode>
|
834
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
835
835
|
</ShipToAddress>
|
836
836
|
<Items>
|
837
837
|
<member>
|
@@ -896,12 +896,12 @@ http_interactions:
|
|
896
896
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
897
897
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
898
898
|
<ShipToAddress>
|
899
|
-
<City>
|
899
|
+
<City>FILTERED</City>
|
900
900
|
<CountryCode>US</CountryCode>
|
901
901
|
<PostalCode>FILTERED</PostalCode>
|
902
902
|
<Name>FILTERED</Name>
|
903
903
|
<AddressLine1>FILTERED</AddressLine1>
|
904
|
-
<StateOrProvinceCode>
|
904
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
905
905
|
</ShipToAddress>
|
906
906
|
<Items>
|
907
907
|
<member>
|
@@ -966,12 +966,12 @@ http_interactions:
|
|
966
966
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
967
967
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
968
968
|
<ShipToAddress>
|
969
|
-
<City>
|
969
|
+
<City>FILTERED</City>
|
970
970
|
<CountryCode>US</CountryCode>
|
971
971
|
<PostalCode>FILTERED</PostalCode>
|
972
972
|
<Name>FILTERED</Name>
|
973
973
|
<AddressLine1>FILTERED</AddressLine1>
|
974
|
-
<StateOrProvinceCode>
|
974
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
975
975
|
</ShipToAddress>
|
976
976
|
<Items>
|
977
977
|
<member>
|
@@ -1036,12 +1036,12 @@ http_interactions:
|
|
1036
1036
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
1037
1037
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
1038
1038
|
<ShipToAddress>
|
1039
|
-
<City>
|
1039
|
+
<City>FILTERED</City>
|
1040
1040
|
<CountryCode>US</CountryCode>
|
1041
1041
|
<PostalCode>FILTERED</PostalCode>
|
1042
1042
|
<Name>FILTERED</Name>
|
1043
1043
|
<AddressLine1>FILTERED</AddressLine1>
|
1044
|
-
<StateOrProvinceCode>
|
1044
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
1045
1045
|
</ShipToAddress>
|
1046
1046
|
<Items>
|
1047
1047
|
<member>
|
@@ -1108,12 +1108,12 @@ http_interactions:
|
|
1108
1108
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
1109
1109
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
1110
1110
|
<ShipToAddress>
|
1111
|
-
<City>
|
1111
|
+
<City>FILTERED</City>
|
1112
1112
|
<CountryCode>US</CountryCode>
|
1113
1113
|
<PostalCode>FILTERED</PostalCode>
|
1114
1114
|
<Name>FILTERED</Name>
|
1115
1115
|
<AddressLine1>FILTERED</AddressLine1>
|
1116
|
-
<StateOrProvinceCode>
|
1116
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
1117
1117
|
</ShipToAddress>
|
1118
1118
|
<Items>
|
1119
1119
|
<member>
|
@@ -1675,12 +1675,12 @@ http_interactions:
|
|
1675
1675
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
1676
1676
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
1677
1677
|
<ShipToAddress>
|
1678
|
-
<City>
|
1678
|
+
<City>FILTERED</City>
|
1679
1679
|
<CountryCode>US</CountryCode>
|
1680
1680
|
<PostalCode>FILTERED</PostalCode>
|
1681
1681
|
<Name>FILTERED</Name>
|
1682
1682
|
<AddressLine1>FILTERED</AddressLine1>
|
1683
|
-
<StateOrProvinceCode>
|
1683
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
1684
1684
|
</ShipToAddress>
|
1685
1685
|
<Items>
|
1686
1686
|
<member>
|
@@ -2242,12 +2242,12 @@ http_interactions:
|
|
2242
2242
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
2243
2243
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
2244
2244
|
<ShipToAddress>
|
2245
|
-
<City>
|
2245
|
+
<City>FILTERED</City>
|
2246
2246
|
<CountryCode>US</CountryCode>
|
2247
2247
|
<PostalCode>FILTERED</PostalCode>
|
2248
2248
|
<Name>FILTERED</Name>
|
2249
2249
|
<AddressLine1>FILTERED</AddressLine1>
|
2250
|
-
<StateOrProvinceCode>
|
2250
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
2251
2251
|
</ShipToAddress>
|
2252
2252
|
<Items>
|
2253
2253
|
<member>
|
@@ -2809,12 +2809,12 @@ http_interactions:
|
|
2809
2809
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
2810
2810
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
2811
2811
|
<ShipToAddress>
|
2812
|
-
<City>
|
2812
|
+
<City>FILTERED</City>
|
2813
2813
|
<CountryCode>US</CountryCode>
|
2814
2814
|
<PostalCode>FILTERED</PostalCode>
|
2815
2815
|
<Name>FILTERED</Name>
|
2816
2816
|
<AddressLine1>FILTERED</AddressLine1>
|
2817
|
-
<StateOrProvinceCode>
|
2817
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
2818
2818
|
</ShipToAddress>
|
2819
2819
|
<Items>
|
2820
2820
|
<member>
|
@@ -3376,12 +3376,12 @@ http_interactions:
|
|
3376
3376
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
3377
3377
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
3378
3378
|
<ShipToAddress>
|
3379
|
-
<City>
|
3379
|
+
<City>FILTERED</City>
|
3380
3380
|
<CountryCode>US</CountryCode>
|
3381
3381
|
<PostalCode>FILTERED</PostalCode>
|
3382
3382
|
<Name>FILTERED</Name>
|
3383
3383
|
<AddressLine1>FILTERED</AddressLine1>
|
3384
|
-
<StateOrProvinceCode>
|
3384
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
3385
3385
|
</ShipToAddress>
|
3386
3386
|
<Items>
|
3387
3387
|
<member>
|
@@ -3943,12 +3943,12 @@ http_interactions:
|
|
3943
3943
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
3944
3944
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
3945
3945
|
<ShipToAddress>
|
3946
|
-
<City>
|
3946
|
+
<City>FILTERED</City>
|
3947
3947
|
<CountryCode>US</CountryCode>
|
3948
3948
|
<PostalCode>FILTERED</PostalCode>
|
3949
3949
|
<Name>FILTERED</Name>
|
3950
3950
|
<AddressLine1>FILTERED</AddressLine1>
|
3951
|
-
<StateOrProvinceCode>
|
3951
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
3952
3952
|
</ShipToAddress>
|
3953
3953
|
<Items>
|
3954
3954
|
<member>
|
@@ -4510,12 +4510,12 @@ http_interactions:
|
|
4510
4510
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
4511
4511
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
4512
4512
|
<ShipToAddress>
|
4513
|
-
<City>
|
4513
|
+
<City>FILTERED</City>
|
4514
4514
|
<CountryCode>US</CountryCode>
|
4515
4515
|
<PostalCode>FILTERED</PostalCode>
|
4516
4516
|
<Name>FILTERED</Name>
|
4517
4517
|
<AddressLine1>FILTERED</AddressLine1>
|
4518
|
-
<StateOrProvinceCode>
|
4518
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
4519
4519
|
</ShipToAddress>
|
4520
4520
|
<Items>
|
4521
4521
|
<member>
|
@@ -5077,12 +5077,12 @@ http_interactions:
|
|
5077
5077
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
5078
5078
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
5079
5079
|
<ShipToAddress>
|
5080
|
-
<City>
|
5080
|
+
<City>FILTERED</City>
|
5081
5081
|
<CountryCode>US</CountryCode>
|
5082
5082
|
<PostalCode>FILTERED</PostalCode>
|
5083
5083
|
<Name>FILTERED</Name>
|
5084
5084
|
<AddressLine1>FILTERED</AddressLine1>
|
5085
|
-
<StateOrProvinceCode>
|
5085
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
5086
5086
|
</ShipToAddress>
|
5087
5087
|
<Items>
|
5088
5088
|
<member>
|
@@ -5644,12 +5644,12 @@ http_interactions:
|
|
5644
5644
|
<DestinationFulfillmentCenterId>IND1</DestinationFulfillmentCenterId>
|
5645
5645
|
<LabelPrepType>SELLER_LABEL</LabelPrepType>
|
5646
5646
|
<ShipToAddress>
|
5647
|
-
<City>
|
5647
|
+
<City>FILTERED</City>
|
5648
5648
|
<CountryCode>US</CountryCode>
|
5649
5649
|
<PostalCode>FILTERED</PostalCode>
|
5650
5650
|
<Name>FILTERED</Name>
|
5651
5651
|
<AddressLine1>FILTERED</AddressLine1>
|
5652
|
-
<StateOrProvinceCode>
|
5652
|
+
<StateOrProvinceCode>FILTERED</StateOrProvinceCode>
|
5653
5653
|
</ShipToAddress>
|
5654
5654
|
<Items>
|
5655
5655
|
<member>
|