peddler 0.5.3 → 0.6.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.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +237 -8
  3. data/lib/mws/feeds.rb +1 -0
  4. data/lib/mws/feeds/client.rb +97 -0
  5. data/lib/mws/feeds/parsers/feed.rb +14 -0
  6. data/lib/mws/feeds/parsers/feed_submission.rb +25 -0
  7. data/lib/mws/feeds/parsers/feed_submission_count.rb +13 -0
  8. data/lib/mws/feeds/parsers/feed_submission_list.rb +20 -0
  9. data/lib/mws/feeds/parsers/feed_submission_result.rb +10 -0
  10. data/lib/mws/feeds/parsers/feed_submissions.rb +18 -0
  11. data/lib/mws/feeds/requests/feed.rb +38 -0
  12. data/lib/mws/feeds/requests/feed_submission_count.rb +20 -0
  13. data/lib/mws/feeds/requests/feed_submission_list.rb +28 -0
  14. data/lib/mws/feeds/requests/feed_submission_result.rb +18 -0
  15. data/lib/mws/feeds/requests/feed_submissions.rb +20 -0
  16. data/lib/mws/fulfillment_inbound_shipment/client.rb +7 -0
  17. data/lib/mws/fulfillment_inventory/client.rb +7 -0
  18. data/lib/mws/fulfillment_outbound_shipment/client.rb +7 -0
  19. data/lib/mws/off_amazon_payments/client.rb +7 -0
  20. data/lib/mws/orders.rb +1 -0
  21. data/lib/mws/orders/client.rb +88 -0
  22. data/lib/mws/orders/parsers/invoice_data.rb +25 -0
  23. data/lib/mws/orders/parsers/order.rb +113 -0
  24. data/lib/mws/orders/parsers/order_item.rb +110 -0
  25. data/lib/mws/orders/parsers/order_items.rb +20 -0
  26. data/lib/mws/orders/parsers/orders.rb +20 -0
  27. data/lib/mws/orders/parsers/payment_execution_detail.rb +20 -0
  28. data/lib/mws/orders/parsers/payment_execution_detail_item.rb +17 -0
  29. data/lib/mws/orders/parsers/service_status.rb +36 -0
  30. data/lib/mws/orders/parsers/service_status_message.rb +17 -0
  31. data/lib/mws/orders/parsers/shipping_address.rb +37 -0
  32. data/lib/mws/orders/requests/order_items.rb +26 -0
  33. data/lib/mws/orders/requests/orders.rb +39 -0
  34. data/lib/mws/orders/requests/service_status.rb +15 -0
  35. data/lib/mws/products/client.rb +7 -0
  36. data/lib/mws/recommendations/client.rb +7 -0
  37. data/lib/mws/reports/client.rb +6 -0
  38. data/lib/mws/sellers/client.rb +7 -0
  39. data/lib/mws/subscriptions/client.rb +7 -0
  40. data/lib/peddler.rb +11 -1
  41. data/lib/peddler/client.rb +62 -0
  42. data/lib/peddler/parsers/base.rb +15 -0
  43. data/lib/peddler/parsers/collection.rb +23 -0
  44. data/lib/peddler/parsers/model.rb +43 -0
  45. data/lib/peddler/parsers/text.rb +13 -0
  46. data/lib/peddler/parsers/xml.rb +25 -0
  47. data/lib/peddler/request.rb +50 -0
  48. data/lib/peddler/request/parameters.rb +56 -0
  49. data/lib/peddler/request/structured_list.rb +43 -0
  50. data/lib/peddler/response_wrapper.rb +32 -0
  51. data/lib/peddler/version.rb +1 -1
  52. data/test/fixtures/feeds/feed_submission.xml +14 -0
  53. data/test/fixtures/feeds/feed_submission_count.xml +9 -0
  54. data/test/fixtures/feeds/feed_submission_list.xml +17 -0
  55. data/test/fixtures/feeds/feed_submissions.xml +15 -0
  56. data/test/fixtures/mws.yml +8 -0
  57. data/test/fixtures/mws.yml.example +4 -0
  58. data/test/fixtures/orders/order_items.xml +83 -0
  59. data/test/fixtures/orders/orders.xml +109 -0
  60. data/test/fixtures/orders/service_status.xml +19 -0
  61. data/test/helper.rb +5 -0
  62. data/test/integration/feeds/test_feed_submission_count.rb +13 -0
  63. data/test/integration/feeds/test_feed_submission_list.rb +15 -0
  64. data/test/integration/feeds/test_feed_submission_result.rb +15 -0
  65. data/test/integration/orders/test_order_items.rb +19 -0
  66. data/test/integration/orders/test_orders.rb +20 -0
  67. data/test/integration/orders/test_service_status.rb +12 -0
  68. data/test/integration_helper.rb +16 -0
  69. data/test/mws/feeds/parsers/test_feed.rb +13 -0
  70. data/test/mws/feeds/parsers/test_feed_submission.rb +25 -0
  71. data/test/mws/feeds/parsers/test_feed_submission_count.rb +13 -0
  72. data/test/mws/feeds/parsers/test_feed_submission_list.rb +14 -0
  73. data/test/mws/feeds/parsers/test_feed_submission_result.rb +13 -0
  74. data/test/mws/feeds/parsers/test_feed_submissions.rb +17 -0
  75. data/test/mws/feeds/requests/test_feed.rb +63 -0
  76. data/test/mws/feeds/requests/test_feed_submission_count.rb +23 -0
  77. data/test/mws/feeds/requests/test_feed_submission_list.rb +40 -0
  78. data/test/mws/feeds/requests/test_feed_submissions.rb +29 -0
  79. data/test/mws/orders/parsers/test_order.rb +86 -0
  80. data/test/mws/orders/parsers/test_order_item.rb +69 -0
  81. data/test/mws/orders/parsers/test_order_items.rb +14 -0
  82. data/test/mws/orders/parsers/test_orders.rb +14 -0
  83. data/test/mws/orders/parsers/test_payment_execution_detail.rb +14 -0
  84. data/test/mws/orders/parsers/test_payment_execution_detail_item.rb +17 -0
  85. data/test/mws/orders/parsers/test_service_status.rb +39 -0
  86. data/test/mws/orders/parsers/test_service_status_message.rb +17 -0
  87. data/test/mws/orders/parsers/test_shipping_address.rb +36 -0
  88. data/test/mws/orders/requests/test_order_items.rb +39 -0
  89. data/test/mws/orders/requests/test_orders.rb +49 -0
  90. data/test/mws/orders/requests/test_service_status.rb +25 -0
  91. data/test/parser_helper.rb +11 -0
  92. data/test/peddler/parsers/test_collection.rb +8 -0
  93. data/test/peddler/parsers/test_model.rb +34 -0
  94. data/test/peddler/request/test_parameters.rb +35 -0
  95. data/test/peddler/request/test_structured_list.rb +18 -0
  96. data/test/peddler/test_client.rb +42 -0
  97. data/test/request_helper.rb +20 -0
  98. metadata +213 -10
  99. data/lib/peddler/apis.rb +0 -45
  100. data/lib/peddler/service.rb +0 -83
  101. data/test/service_test.rb +0 -42
  102. data/test/test_helper.rb +0 -3
@@ -0,0 +1,13 @@
1
+ require 'peddler/parsers/base'
2
+
3
+ module Peddler
4
+ module Parsers
5
+ class Text < Base
6
+ def self.handle?(type)
7
+ type == :txt
8
+ end
9
+
10
+ alias :to_s :document
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,25 @@
1
+ require 'peddler/parsers/base'
2
+
3
+ module Peddler
4
+ module Parsers
5
+ class XML < Base
6
+ def self.handle?(type)
7
+ type == :xml
8
+ end
9
+
10
+ def at_xpath(path)
11
+ document.at_xpath(with_namespace(path))
12
+ end
13
+
14
+ def xpath(path)
15
+ document.xpath(with_namespace(path))
16
+ end
17
+
18
+ private
19
+
20
+ def with_namespace(path)
21
+ path.split('/').map { |attr| "xmlns:#{attr}" }.join('/')
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,50 @@
1
+ require 'forwardable'
2
+
3
+ require 'peddler/request/parameters'
4
+ require 'peddler/response_wrapper'
5
+
6
+ module Peddler
7
+ class Request
8
+ extend Forwardable
9
+
10
+ def_delegator :last_response, :next_token
11
+ def_delegator :last_response, :xml_payload, :last_xml_payload
12
+
13
+ attr :client, :headers
14
+
15
+ attr_accessor :body, :last_response
16
+
17
+ def initialize(client)
18
+ @client = client
19
+ @headers = {}
20
+ end
21
+
22
+ def parameters(action = nil)
23
+ @parameters = Parameters.new(action) if action
24
+ @parameters
25
+ end
26
+
27
+ def execute
28
+ fetch
29
+ parse
30
+ end
31
+
32
+ private
33
+
34
+ def parser
35
+ @parser ||= Object.const_get(self.class.name.sub('Request', 'Parser'))
36
+ end
37
+
38
+ def fetch
39
+ opts = { query: parameters, headers: headers }
40
+ opts.update(body: body) if body
41
+ res = client.post(opts)
42
+
43
+ @last_response = ResponseWrapper.new(res)
44
+ end
45
+
46
+ def parse
47
+ parser.new(parser.handle?(:xml) ? last_xml_payload : last_response.body)
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,56 @@
1
+ require 'delegate'
2
+ require 'time'
3
+
4
+ require 'peddler/request/structured_list'
5
+
6
+ module Peddler
7
+ class Request
8
+ class Parameters < SimpleDelegator
9
+ def initialize(action)
10
+ super({ 'Action' => camelize(action) })
11
+ end
12
+
13
+ def timestamp!
14
+ each do |key, value|
15
+ store(key, value.iso8601) if value.respond_to?(:iso8601)
16
+ end
17
+
18
+ self
19
+ end
20
+
21
+ def format_structured_lists!
22
+ lists = {}
23
+
24
+ each do |key, value|
25
+ if StructuredList.handle?(key)
26
+ lists.update(StructuredList.new(key).build(delete(key)))
27
+ end
28
+ end
29
+
30
+ update(lists)
31
+ end
32
+
33
+ def camelize_keys!
34
+ keys.each do |key|
35
+ if key.is_a?(Symbol)
36
+ new_key = camelize(key)
37
+ store(new_key, delete(key))
38
+ end
39
+ end
40
+
41
+ self
42
+ end
43
+
44
+ def update(hsh)
45
+ __getobj__.update(hsh)
46
+ self
47
+ end
48
+
49
+ private
50
+
51
+ def camelize(sym)
52
+ sym.to_s.split('_').map(&:capitalize).join
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,43 @@
1
+ module Peddler
2
+ class Request
3
+ class StructuredList
4
+ KEYS = {
5
+ # Feeds
6
+ feed_submission_id_list: %w(FeedSubmissionIdList Id),
7
+ feed_type_list: %w(FeedTypeList Type),
8
+ feed_processing_status_list: %w(FeedProcessingStatusList Status),
9
+ # Orders
10
+ order_status: %w(OrderStatus Status),
11
+ marketplace_id: %w(MarketplaceId Id),
12
+ fulfillment_channel: %w(FulfillmentChannel Channel),
13
+ payment_method: %w(PaymentMethod),
14
+ tfm_shipment_status: %w(TFMShipmentStatus Status),
15
+ amazon_order_id: %w(AmazonOrderId Id),
16
+ }
17
+
18
+ attr :keys
19
+
20
+ def self.handle?(key)
21
+ KEYS.has_key?(key)
22
+ end
23
+
24
+ def initialize(key)
25
+ @keys = KEYS.fetch(key)
26
+ end
27
+
28
+ def build(values)
29
+ Array(values)
30
+ .each_with_index
31
+ .reduce(Hash.new) { |hsh, (v, i)|
32
+ hsh.merge(composite_key(i + 1) => v)
33
+ }
34
+ end
35
+
36
+ private
37
+
38
+ def composite_key(index)
39
+ (keys.dup << index).join('.')
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,32 @@
1
+ require 'forwardable'
2
+ require 'nokogiri'
3
+
4
+ module Peddler
5
+ class ResponseWrapper
6
+ extend Forwardable
7
+
8
+ def_delegator :response, :body
9
+
10
+ attr :response
11
+
12
+ def initialize(response)
13
+ @response = response
14
+ end
15
+
16
+ def document
17
+ Nokogiri::XML(body)
18
+ end
19
+
20
+ def xml_payload
21
+ root = document.root
22
+ path = root.name.sub('Response', 'Result')
23
+
24
+ root.xpath("xmlns:#{path}")
25
+ end
26
+
27
+ def next_token
28
+ node = xml_payload.at_xpath('xmlns:NextToken')
29
+ node.text if node
30
+ end
31
+ end
32
+ end
@@ -1,3 +1,3 @@
1
1
  module Peddler
2
- VERSION = '0.5.3'
2
+ VERSION = '0.6.0'
3
3
  end
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0"?>
2
+ <SubmitFeedResponse xmlns="http://mws.amazonservices.com/doc/2009-01-01/">
3
+ <SubmitFeedResult>
4
+ <FeedSubmissionInfo>
5
+ <FeedSubmissionId>2291326430</FeedSubmissionId>
6
+ <FeedType>_POST_PRODUCT_DATA_</FeedType>
7
+ <SubmittedDate>2009-02-20T02:10:35+00:00</SubmittedDate>
8
+ <FeedProcessingStatus>_SUBMITTED_</FeedProcessingStatus>
9
+ </FeedSubmissionInfo>
10
+ </SubmitFeedResult>
11
+ <ResponseMetadata>
12
+ <RequestId>75424a38-f333-4105-98f0-2aa9592d665c</RequestId>
13
+ </ResponseMetadata>
14
+ </SubmitFeedResponse>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0"?>
2
+ <GetFeedSubmissionCountResponse xmlns="http://mws.amazonservices.com/doc/2009-01-01/">
3
+ <GetFeedSubmissionCountResult>
4
+ <Count>463</Count>
5
+ </GetFeedSubmissionCountResult>
6
+ <ResponseMetadata>
7
+ <RequestId>21e482a8-15c7-4da3-91a4-424995ed0756</RequestId>
8
+ </ResponseMetadata>
9
+ </GetFeedSubmissionCountResponse>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0"?>
2
+ <GetFeedSubmissionListResponse xmlns="http://mws.amazonservices.com/
3
+ doc/2009-01-01/">
4
+ <GetFeedSubmissionListResult>
5
+ <NextToken>2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=</NextToken>
6
+ <HasNext>true</HasNext>
7
+ <FeedSubmissionInfo>
8
+ <FeedSubmissionId>2291326430</FeedSubmissionId>
9
+ <FeedType>_POST_PRODUCT_DATA_</FeedType>
10
+ <SubmittedDate>2009-02-20T02:10:35+00:00</SubmittedDate>
11
+ <FeedProcessingStatus>_SUBMITTED_</FeedProcessingStatus>
12
+ </FeedSubmissionInfo>
13
+ </GetFeedSubmissionListResult>
14
+ <ResponseMetadata>
15
+ <RequestId>1105b931-6f1c-4480-8e97-f3b467840a9e</RequestId>
16
+ </ResponseMetadata>
17
+ </GetFeedSubmissionListResponse>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0"?>
2
+ <CancelFeedSubmissionsResponse xmlns="http://mws.amazonservices.com/doc/2009-01-01/">
3
+ <CancelFeedSubmissionsResult>
4
+ <Count>1</Count>
5
+ <FeedSubmissionInfo>
6
+ <FeedSubmissionId>2291326430</FeedSubmissionId>
7
+ <FeedType>_POST_PRODUCT_DATA_</FeedType>
8
+ <SubmittedDate>2009-02-20T02:10:35+00:00</SubmittedDate>
9
+ <FeedProcessingStatus>_CANCELLED_</FeedProcessingStatus>
10
+ </FeedSubmissionInfo>
11
+ </CancelFeedSubmissionsResult>
12
+ <ResponseMetadata>
13
+ <RequestId>18e78983-bbf9-43aa-a661-ae7696cb49d4</RequestId>
14
+ </ResponseMetadata>
15
+ </CancelFeedSubmissionsResponse>
@@ -0,0 +1,8 @@
1
+ - country: GB
2
+ aws_access_key_id: AKIAJJDQ2MJTMPXKJE4A
3
+ aws_secret_access_key: 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
4
+ seller_id: A2D9DZ30GEWP6N
5
+ - country: JP
6
+ aws_access_key_id: AKIAJ5RDDSRROM6GXQ5Q
7
+ aws_secret_access_key: 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
8
+ seller_id: A7BU5WGNVGQ1I
@@ -0,0 +1,4 @@
1
+ - country: GB
2
+ aws_access_key_id: foo
3
+ aws_secret_access_key: bar
4
+ seller_id: baz
@@ -0,0 +1,83 @@
1
+ <?xml version="1.0"?>
2
+ <ListOrderItemsResponse xmlns="https://mws.amazonservices.com
3
+ /Orders/2011-01-01">
4
+ <ListOrderItemsResult>
5
+ <NextToken>MRgZW55IGNhcm5hbCBwbGVhc3VyZS6=</NextToken>
6
+ <AmazonOrderId>058-1233752-8214740</AmazonOrderId>
7
+ <OrderItems>
8
+ <OrderItem>
9
+ <ASIN>BT0093TELA</ASIN>
10
+ <OrderItemId>68828574383266</OrderItemId>
11
+ <SellerSKU>CBA_OTF_1</SellerSKU>
12
+ <Title>Example item name</Title>
13
+ <QuantityOrdered>1</QuantityOrdered>
14
+ <QuantityShipped>1</QuantityShipped>
15
+ <PromotionIds>
16
+ <PromotionId>SSOF SSS-25</PromotionId>
17
+ </PromotionIds>
18
+ <ItemPrice>
19
+ <CurrencyCode>USD</CurrencyCode>
20
+ <Amount>25.99</Amount>
21
+ </ItemPrice>
22
+ <ItemTax>
23
+ <CurrencyCode>USD</CurrencyCode>
24
+ <Amount>0.00</Amount>
25
+ </ItemTax>
26
+ <ShippingPrice>
27
+ <CurrencyCode>USD</CurrencyCode>
28
+ <Amount>1.26</Amount>
29
+ </ShippingPrice>
30
+ <ShippingTax>
31
+ <CurrencyCode>USD</CurrencyCode>
32
+ <Amount>0.00</Amount>
33
+ </ShippingTax>
34
+ <PromotionDiscount>
35
+ <CurrencyCode>USD</CurrencyCode>
36
+ <Amount>0.00</Amount>
37
+ </PromotionDiscount>
38
+ <ShippingDiscount>
39
+ <CurrencyCode>USD</CurrencyCode>
40
+ <Amount>0.00</Amount>
41
+ </ShippingDiscount>
42
+ <ScheduledDeliveryEndDate>2013-01-01T01:30:00.000-06:00
43
+ </ScheduledDeliveryEndDate>
44
+ <ScheduledDeliveryStartDate>2012-12-31T02:00:00.000-06:00
45
+ </ScheduledDeliveryStartDate>
46
+ <CODFee>
47
+ <CurrencyCode>USD</CurrencyCode>
48
+ <Amount>10.00</Amount>
49
+ </CODFee>
50
+ <CODFeeDiscount>
51
+ <CurrencyCode>USD</CurrencyCode>
52
+ <Amount>1.00</Amount>
53
+ </CODFeeDiscount>
54
+ <GiftMessageText>For you!</GiftMessageText>
55
+ <GiftWrapPrice>
56
+ <CurrencyCode>USD</CurrencyCode>
57
+ <Amount>1.99</Amount>
58
+ </GiftWrapPrice>
59
+ <GiftWrapLevel>Classic</GiftWrapLevel>
60
+ </OrderItem>
61
+ <OrderItem>
62
+ <ASIN>BCTU1104UEFB</ASIN>
63
+ <OrderItemId>79039765272157</OrderItemId>
64
+ <SellerSKU>CBA_OTF_5</SellerSKU>
65
+ <Title>Example item name</Title>
66
+ <QuantityOrdered>2</QuantityOrdered>
67
+ <ItemPrice>
68
+ <CurrencyCode>USD</CurrencyCode>
69
+ <Amount>17.95</Amount>
70
+ </ItemPrice>
71
+ <PromotionIds>
72
+ <PromotionId>FREESHIP</PromotionId>
73
+ </PromotionIds>
74
+ <ConditionId>Used</ConditionID>
75
+ <ConditionSubtypeId>Mint</ConditionSubtypeId>
76
+ <ConditionNote>Example ConditionNote</ConditionNote>
77
+ </OrderItem>
78
+ </OrderItems>
79
+ </ListOrderItemsResult>
80
+ <ResponseMetadata>
81
+ <RequestId>88faca76-b600-46d2-b53c-0c8c4533e43a</RequestId>
82
+ </ResponseMetadata>
83
+ </ListOrderItemsResponse>
@@ -0,0 +1,109 @@
1
+ <?xml version="1.0"?>
2
+ <ListOrdersResponse xmlns="https://mws.amazonservices.com/Orders/2011-01-01">
3
+ <ListOrdersResult>
4
+ <NextToken>2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=</NextToken>
5
+ <LastUpdatedBefore>2010-10-05T18%3A12%3A20.687Z</LastUpdatedBefore>
6
+ <Orders>
7
+ <Order>
8
+ <AmazonOrderId>058-1233752-8214740</AmazonOrderId>
9
+ <PurchaseDate>2010-10-05T00%3A06%3A07.000Z</PurchaseDate>
10
+ <LastUpdateDate>2010-10-05T12%3A43%3A16.000Z</LastUpdateDate>
11
+ <OrderStatus>Unshipped</OrderStatus>
12
+ <OrderType>StandardOrder</OrderType>
13
+ <SalesChannel>Checkout by Amazon</SalesChannel>
14
+ <ShipServiceLevel>Std DE Dom</ShipServiceLevel>
15
+ <FulfillmentChannel>MFN</FulfillmentChannel>
16
+ <OrderTotal>
17
+ <CurrencyCode>USD</CurrencyCode>
18
+ <Amount>111.01</Amount>
19
+ </OrderTotal>
20
+ <ShippingAddress>
21
+ <Name>John Smith</Name>
22
+ <AddressLine1>2700 First Avenue</AddressLine1>
23
+ <City>Seattle</City>
24
+ <StateOrRegion>WA</StateOrRegion>
25
+ <PostalCode>98102</PostalCode>
26
+ <CountryCode>US</CountryCode>
27
+ </ShippingAddress>
28
+ <NumberOfItemsShipped>0</NumberOfItemsShipped>
29
+ <NumberOfItemsUnshipped>1</NumberOfItemsUnshipped>
30
+ <PaymentExecutionDetail>
31
+ <PaymentExecutionDetailItem>
32
+ <Payment>
33
+ <CurrencyCode>USD</CurrencyCode>
34
+ <Amount>101.01</Amount>
35
+ </Payment>
36
+ <PaymentMethod>COD</PaymentMethod>
37
+ </PaymentExecutionDetailItem>
38
+ <PaymentExecutionDetailItem>
39
+ <Payment>
40
+ <CurrencyCode>USD</CurrencyCode>
41
+ <Amount>10.00</Amount>
42
+ </Payment>
43
+ <PaymentMethod>GC</PaymentMethod>
44
+ </PaymentExecutionDetailItem>
45
+ </PaymentExecutionDetail>
46
+ <PaymentMethod>COD</PaymentMethod>
47
+ <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
48
+ <BuyerName>Amazon User</BuyerName>
49
+ <BuyerEmail>5vlh04mgfmjh9h5@marketplace.amazon.com</BuyerEmail>
50
+ <ShipmentServiceLevelCategory>Standard
51
+ </ShipmentServiceLevelCategory>
52
+ </Order>
53
+ <Order>
54
+ <ShipmentServiceLevelCategory>Standard
55
+ </ShipmentServiceLevelCategory>
56
+ <OrderTotal>
57
+ <Amount>10.87</Amount>
58
+ <CurrencyCode>USD</CurrencyCode>
59
+ </OrderTotal>
60
+ <FulfillmentChannel>MFN</FulfillmentChannel>
61
+ <BuyerEmail>1x3v628skdi34u2@marketplace.amazon.com</BuyerEmail>
62
+ <OrderStatus>Pending</OrderStatus>
63
+ <BuyerName>Example Name</BuyerName>
64
+ <ShipServiceLevel>Std US Dom</ShipServiceLevel>
65
+ <CbaDisplayableShippingLabel>Example shipment service level
66
+ </CbaDisplayableShippingLabel>
67
+ <LastUpdateDate>2012-10-11T15:53:37Z</LastUpdateDate>
68
+ <PurchaseDate>2012-10-11T14:15:55Z</PurchaseDate>
69
+ <EarliestShipDate>2012-10-13T05:00:00Z</EarliestShipDate>
70
+ <LatestShipDate>2012-10-15T07:59:59Z</LatestShipDate>
71
+ <OrderType>Preorder</OrderType>
72
+ <NumberOfItemsUnshipped>0</NumberOfItemsUnshipped>
73
+ <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
74
+ <SalesChannel>Amazon.com</SalesChannel>
75
+ <ShippingAddress>
76
+ <Phone>111 222 1234</Phone>
77
+ <PostalCode>48823</PostalCode>
78
+ <Name>Example Name</Name>
79
+ <CountryCode>US</CountryCode>
80
+ <StateOrRegion>WA</StateOrRegion>
81
+ <AddressLine1>1234 Ridge Rd</AddressLine1>
82
+ <City>Seattle</City>
83
+ </ShippingAddress>
84
+ <NumberOfItemsShipped>1</NumberOfItemsShipped>
85
+ <AmazonOrderId>123-1234567-4567890</AmazonOrderId>
86
+ <PaymentMethod>Other</PaymentMethod>
87
+ </Order>
88
+ <Order>
89
+ <ShipmentServiceLevelCategory>Standard
90
+ </ShipmentServiceLevelCategory>
91
+ <FulfillmentChannel>MFN</FulfillmentChannel>
92
+ <OrderStatus>Pending</OrderStatus>
93
+ <OrderType>StandardOrder</OrderType>
94
+ <ShipServiceLevel>Std US Dom</ShipServiceLevel>
95
+ <LastUpdateDate>2012-10-12T20:34:00Z</LastUpdateDate>
96
+ <PurchaseDate>2012-10-12T20:33:16Z</PurchaseDate>
97
+ <NumberOfItemsUnshipped>0</NumberOfItemsUnshipped>
98
+ <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
99
+ <SalesChannel>Amazon.com</SalesChannel>
100
+ <NumberOfItemsShipped>0</NumberOfItemsShipped>
101
+ <AmazonOrderId>123-9876543-6543212</AmazonOrderId>
102
+ <PaymentMethod>Other</PaymentMethod>
103
+ </Order>
104
+ </Orders>
105
+ </ListOrdersResult>
106
+ <ResponseMetadata>
107
+ <RequestId>88faca76-b600-46d2-b53c-0c8c4533e43a</RequestId>
108
+ </ResponseMetadata>
109
+ </ListOrdersResponse>