peddler 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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>