dhl-ecommerce 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.
@@ -0,0 +1,24 @@
1
+ module DHL
2
+ module Ecommerce
3
+ class Location < Base
4
+ include DHL::Ecommerce::Operations::Find
5
+ include DHL::Ecommerce::Operations::List
6
+
7
+ attr_reader :id, :account_id, :address, :email, :phone, :fax
8
+
9
+ def initialize(attributes = {})
10
+ super attributes
11
+
12
+ unless attributes.empty?
13
+ @id = attributes[:pickup].to_i if attributes[:pickup]
14
+ @account_id = attributes[:account].to_i if attributes[:account]
15
+ @address = StandardAddress.new attributes
16
+ end
17
+ end
18
+
19
+ def account
20
+ @account ||= DHL::Ecommerce::Account.find(account_id)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,54 @@
1
+ module DHL
2
+ module Ecommerce
3
+ class Manifest < Base
4
+ attr_reader :id, :location_id, :file
5
+
6
+ def location_id=(location_id)
7
+ @location = nil
8
+ @location_id = location_id
9
+ end
10
+
11
+ def location
12
+ @location ||= DHL::Ecommerce::Location.find location_id
13
+ end
14
+
15
+ def self.create(labels)
16
+ labels.group_by(&:location_id).each.collect do |location_id, location_labels|
17
+ closeout_id = DHL::Ecommerce.request :get, "https://api.dhlglobalmail.com/v1/{DHL::Ecommerce::Location.resource_name.downcase}s/#{location_id}/closeout/id"
18
+
19
+ location_labels.each_slice(500) do |slice_labels|
20
+ xml = Builder::XmlMarkup.new
21
+ xml.instruct! :xml, version: "1.1", encoding: "UTF-8"
22
+
23
+ xml.ImbpList do
24
+ slice_labels.each do |label|
25
+ xml.Impb do
26
+ xml.Construct label.impb.construct
27
+ xml.Value label.impb.value
28
+ end
29
+ end
30
+ end
31
+
32
+ DHL::Ecommerce.request :post, "https://api.dhlglobalmail.com/v1/{DHL::Ecommerce::Location.resource_name.downcase}s/#{location_id}/closeout/#{closeout_id}" do |request|
33
+ request.body xml.target!
34
+ end
35
+ end
36
+
37
+ response = DHL::Ecommerce.request :post, "https://api.dhlglobalmail.com/v1/{DHL::Ecommerce::Location.resource_name.downcase}s/#{location_id}/closeout/#{closeout_id}"
38
+ response[:manifest_list][:manifest] = [response[:manifest_list][:manifest]] unless response[:manifest_list][:manifest].is_a? Array
39
+ response[:manifest_list][:manifest].each.collect do |attributes|
40
+ new attributes.merge(location_id: location_id)
41
+ end
42
+ end.flatten
43
+ end
44
+
45
+ def initialize(attributes = {})
46
+ super attributes
47
+
48
+ unless attributes.empty?
49
+ @file = StringIO.new(Base64.decode64(attributes[:file])) if attributes[:file] unless attributes[:file].is_a? StringIO
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,18 @@
1
+ module DHL
2
+ module Ecommerce
3
+ module Operations
4
+ module Find
5
+ module ClassMethods
6
+ def find(id)
7
+ attributes = DHL::Ecommerce.request :get, "https://api.dhlglobalmail.com/v1/#{resource_name.downcase}s/#{id}"
8
+ new attributes[resource_name]
9
+ end
10
+ end
11
+
12
+ def self.included(base)
13
+ base.extend ClassMethods
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ module DHL
2
+ module Ecommerce
3
+ module Operations
4
+ module List
5
+ module ClassMethods
6
+ def all
7
+ response = DHL::Ecommerce.request :get, "https://api.dhlglobalmail.com/v1/#{resource_name.downcase}s"
8
+ response["#{resource_name}s"][resource_name] = [response["#{resource_name}s"][resource_name]] unless response["#{resource_name}s"][resource_name].is_a? Array
9
+ response["#{resource_name}s"][resource_name].map do |attributes| new attributes end
10
+ end
11
+ end
12
+
13
+ def self.included(base)
14
+ base.extend ClassMethods
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,34 @@
1
+ module DHL
2
+ module Ecommerce
3
+ class Product < Base
4
+ include DHL::Ecommerce::Operations::Find
5
+ include DHL::Ecommerce::Operations::List
6
+
7
+ TYPES = {
8
+ domestic: "DomesticUS",
9
+ international: "International"
10
+ }
11
+
12
+ CATEGORIES = {
13
+ clearance: "Clearance",
14
+ expedited: "Expedited",
15
+ expedited_parcel: "Expedited P",
16
+ ground: "Ground",
17
+ other: "Other Services",
18
+ priority: "Priority",
19
+ standard: "Standard"
20
+ }
21
+
22
+ attr_reader :id, :name, :category, :type
23
+
24
+ def initialize(attributes = {})
25
+ super attributes
26
+
27
+ unless attributes.empty?
28
+ @category = CATEGORIES.key(attributes[:category]) if attributes[:category]
29
+ @type = TYPES.key(attributes[:class]) if attributes[:class]
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,20 @@
1
+ module DHL
2
+ module Ecommerce
3
+ class StandardAddress < Base
4
+ attr_accessor :name, :firm, :address_1, :address_2, :city, :state, :postal_code, :country
5
+
6
+ def initialize(attributes = {})
7
+ super attributes
8
+
9
+ unless attributes.empty?
10
+ @name = attributes[:contact] if attributes[:contact]
11
+ @name = attributes[:recipient] if attributes[:recipient]
12
+ @firm = attributes[:account_name] if attributes[:account_name]
13
+ @firm = attributes[:pickup_name] if attributes[:pickup_name]
14
+ @address_1 = attributes[:address1] if attributes[:address1]
15
+ @address_2 = attributes[:address2] if attributes[:address2]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ module DHL
2
+ module Ecommerce
3
+ class TrackedEvent < Base
4
+ include DHL::Ecommerce::Operations::Find
5
+ include DHL::Ecommerce::Operations::List
6
+
7
+ attr_reader :created_at, :event, :location, :postal_code
8
+
9
+ def initialize(attributes = {})
10
+ super attributes
11
+
12
+ unless attributes.empty?
13
+ @created_at = Time.parse("#{attributes[:date]} #{attributes[:time]} #{attributes[:time_zone]}") if attributes[:date] && attributes[:time] && attributes[:time_zone]
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,5 @@
1
+ module DHL
2
+ module Ecommerce
3
+ VERSION = "1.0"
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ require_relative "spec_helper"
2
+
3
+ describe DHL::Ecommerce::Account do
4
+ it "must work" do
5
+ DHL::Ecommerce::Account.find 5115902
6
+ end
7
+
8
+ it "must work2" do
9
+ DHL::Ecommerce::Account.all
10
+ end
11
+ end
@@ -0,0 +1,381 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.dhlglobalmail.com/v1/accounts/5115902?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/xml
12
+ Content-Type:
13
+ - application/xml;charset=UTF-8
14
+ User-Agent:
15
+ - Faraday v0.9.1
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Transfer-Encoding:
24
+ - chunked
25
+ Content-Type:
26
+ - application/xml;charset=UTF-8
27
+ Server:
28
+ - Microsoft-IIS/7.5
29
+ X-Powered-By:
30
+ - WEB5
31
+ Date:
32
+ - Wed, 04 Mar 2015 05:25:58 GMT
33
+ body:
34
+ encoding: UTF-8
35
+ string: |-
36
+ <?xml version="1.0" encoding="UTF-8"?>
37
+ <Response><Meta><Timestamp>2015-03-04T00:25:58-05:00</Timestamp><Code>200</Code></Meta><Data><Account><Address2>STE 103</Address2><PostalCode>98230</PostalCode><State>WA</State><Address1>288 MARTIN ST</Address1><Country>US</Country><Email>Olivia@meowbox.com</Email><City>BLAINE</City><AccountName>MEOWBOX</AccountName><Account>5115902</Account><Contact/></Account></Data></Response>
38
+ http_version:
39
+ recorded_at: Wed, 04 Mar 2015 05:26:12 GMT
40
+ - request:
41
+ method: get
42
+ uri: https://api.dhlglobalmail.com/v1/accounts?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ''
46
+ headers:
47
+ Accept:
48
+ - application/xml
49
+ Content-Type:
50
+ - application/xml;charset=UTF-8
51
+ User-Agent:
52
+ - Faraday v0.9.1
53
+ Accept-Encoding:
54
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
55
+ response:
56
+ status:
57
+ code: 200
58
+ message: OK
59
+ headers:
60
+ Transfer-Encoding:
61
+ - chunked
62
+ Content-Type:
63
+ - application/xml;charset=UTF-8
64
+ Server:
65
+ - Microsoft-IIS/7.5
66
+ X-Powered-By:
67
+ - WEB4
68
+ Date:
69
+ - Wed, 04 Mar 2015 05:25:58 GMT
70
+ body:
71
+ encoding: UTF-8
72
+ string: |-
73
+ <?xml version="1.0" encoding="UTF-8"?>
74
+ <Response><Meta><Timestamp>2015-03-04T00:25:58-05:00</Timestamp><Code>200</Code></Meta><Data><Accounts><Account><Address2>STE 103</Address2><PostalCode>98230</PostalCode><State>WA</State><Address1>288 MARTIN ST</Address1><Country>US</Country><Email>Olivia@meowbox.com</Email><City>BLAINE</City><AccountName>MEOWBOX</AccountName><Account>5115902</Account><Contact/></Account></Accounts></Data></Response>
75
+ http_version:
76
+ recorded_at: Wed, 04 Mar 2015 05:26:13 GMT
77
+ - request:
78
+ method: get
79
+ uri: https://api.dhlglobalmail.com/v1/events/600?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
80
+ body:
81
+ encoding: US-ASCII
82
+ string: ''
83
+ headers:
84
+ Accept:
85
+ - application/xml
86
+ Content-Type:
87
+ - application/xml;charset=UTF-8
88
+ User-Agent:
89
+ - Faraday v0.9.1
90
+ Accept-Encoding:
91
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
92
+ response:
93
+ status:
94
+ code: 200
95
+ message: OK
96
+ headers:
97
+ Transfer-Encoding:
98
+ - chunked
99
+ Content-Type:
100
+ - application/xml;charset=UTF-8
101
+ Server:
102
+ - Microsoft-IIS/7.5
103
+ X-Powered-By:
104
+ - WEB4
105
+ Date:
106
+ - Wed, 04 Mar 2015 05:25:59 GMT
107
+ body:
108
+ encoding: UTF-8
109
+ string: |-
110
+ <?xml version="1.0" encoding="UTF-8"?>
111
+ <Response><Meta><Timestamp>2015-03-04T00:25:59-05:00</Timestamp><Code>200</Code></Meta><Data><Event><Description>DELIVERED</Description><Id>600</Id></Event></Data></Response>
112
+ http_version:
113
+ recorded_at: Wed, 04 Mar 2015 05:26:14 GMT
114
+ - request:
115
+ method: get
116
+ uri: https://api.dhlglobalmail.com/v1/events?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
117
+ body:
118
+ encoding: US-ASCII
119
+ string: ''
120
+ headers:
121
+ Accept:
122
+ - application/xml
123
+ Content-Type:
124
+ - application/xml;charset=UTF-8
125
+ User-Agent:
126
+ - Faraday v0.9.1
127
+ Accept-Encoding:
128
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
129
+ response:
130
+ status:
131
+ code: 200
132
+ message: OK
133
+ headers:
134
+ Transfer-Encoding:
135
+ - chunked
136
+ Content-Type:
137
+ - application/xml;charset=UTF-8
138
+ Server:
139
+ - Microsoft-IIS/7.5
140
+ X-Powered-By:
141
+ - WEB5
142
+ Date:
143
+ - Wed, 04 Mar 2015 05:26:00 GMT
144
+ body:
145
+ encoding: UTF-8
146
+ string: |-
147
+ <?xml version="1.0" encoding="UTF-8"?>
148
+ <Response><Meta><Timestamp>2015-03-04T00:26:00-05:00</Timestamp><Code>200</Code></Meta><Data><Events><Event><Description>ELECTRONIC NOTIFICATION RECEIVED</Description><Id>99</Id></Event><Event><Description>PICK UP</Description><Id>100</Id></Event><Event><Description>SHIPMENT DEPARTED SELLERS ORIGIN TERMINAL</Description><Id>110</Id></Event><Event><Description>RECEIVED BY CARRIER FOR TRANSPORT</Description><Id>115</Id></Event><Event><Description>DEPART ORIGIN DHL TRANSPORT LOCATION</Description><Id>120</Id></Event><Event><Description>ARRIVAL SORT LOCATION</Description><Id>125</Id></Event><Event><Description>PICKED UP BY SHIPPING PARTNER</Description><Id>130</Id></Event><Event><Description>AVAILABLE FOR DELIVERY TO DHL DISTRIBUTION CENTER</Description><Id>150</Id></Event><Event><Description>ARRIVAL DHL DISTRIBUTION CENTER</Description><Id>155</Id></Event><Event><Description>ARRIVAL DHL DISTRIBUTION CENTER</Description><Id>200</Id></Event><Event><Description>PROCESSED</Description><Id>220</Id></Event><Event><Description>IDENTIFIED AS UNPROCESSABLE</Description><Id>221</Id></Event><Event><Description>DELETED</Description><Id>222</Id></Event><Event><Description>RE-ENCODED</Description><Id>223</Id></Event><Event><Description>DAMAGED IN PROCESSING</Description><Id>224</Id></Event><Event><Description>ORIGINAL ENCODED MAIL TYPE INCORRECT</Description><Id>226</Id></Event><Event><Description>DHL MIS-SHIPPED</Description><Id>227</Id></Event><Event><Description>RETURN SHIPMENT LABEL CREATED</Description><Id>235</Id></Event><Event><Description>DEPARTURE DHL DISTRIBUTION CENTER</Description><Id>300</Id></Event><Event><Description>ARRIVAL DESTINATION DHL DISTRIBUTION CENTER</Description><Id>350</Id></Event><Event><Description>PROCESSED SORT FACILITY</Description><Id>365</Id></Event><Event><Description>SCANNED INTO SACK/CONTAINER</Description><Id>375</Id></Event><Event><Description>TENDERED TO USPS</Description><Id>400</Id></Event><Event><Description>MANIFESTED FOR OUTBOUND TRANSPORTATION</Description><Id>401</Id></Event><Event><Description>PROCESSING COMPLETED AT ORIGIN</Description><Id>431</Id></Event><Event><Description>MANIFESTED FOR OUTBOUND TRANSPORTATION</Description><Id>451</Id></Event><Event><Description>IN TRANSIT</Description><Id>499</Id></Event><Event><Description>ARRIVED AT CUSTOMS</Description><Id>501</Id></Event><Event><Description>CLEARED CUSTOMS</Description><Id>502</Id></Event><Event><Description>CONSIGNEE CONTACTED FOR PAYMENT</Description><Id>503</Id></Event><Event><Description>DUTIES PAYMENT RECEIVED</Description><Id>504</Id></Event><Event><Description>SHIPMENT ACCEPTED BY USPS</Description><Id>505</Id></Event><Event><Description>HELD AT CUSTOMS</Description><Id>506</Id></Event><Event><Description>SHIPMENT DATA RECEIVED</Description><Id>507</Id></Event><Event><Description>CUSTOMS DELAY</Description><Id>508</Id></Event><Event><Description>IN CLEARANCE PROCESSING</Description><Id>509</Id></Event><Event><Description>SHIPMENT ACCEPTED BY USPS</Description><Id>510</Id></Event><Event><Description>SHIPMENT ACCEPTED</Description><Id>511</Id></Event><Event><Description>DATA BUT NO PIECE</Description><Id>512</Id></Event><Event><Description>PIECE BUT NO DATA</Description><Id>513</Id></Event><Event><Description>ARRIVAL AT POST OFFICE</Description><Id>520</Id></Event><Event><Description>ARRIVED AT TERMINAL LOCATION</Description><Id>521</Id></Event><Event><Description>ARRIVED USPS SORT FACILITY</Description><Id>526</Id></Event><Event><Description>SHIPMENT WAS PROCESSED AT EXPORT SORTING HUB</Description><Id>528</Id></Event><Event><Description>PROCESSED SORT FACILITY</Description><Id>529</Id></Event><Event><Description>FORWARDED</Description><Id>530</Id></Event><Event><Description>DEPARTED TERMINAL LOCATION</Description><Id>531</Id></Event><Event><Description>TRANSPORT TO DESTINATION COUNTRY</Description><Id>532</Id></Event><Event><Description>ARRIVAL AT DESTINATION COUNTRY</Description><Id>533</Id></Event><Event><Description>FORWARDED</Description><Id>534</Id></Event><Event><Description>HANDED OVER TO PARTNER CARRIER</Description><Id>535</Id></Event><Event><Description>SORTED THROUGH USPS FACILITY</Description><Id>536</Id></Event><Event><Description>SORTED TO FINAL DELIVERY LOCATION</Description><Id>537</Id></Event><Event><Description>DEPART USPS SORT FACILITY</Description><Id>538</Id></Event><Event><Description>SORTING COMPLETE</Description><Id>539</Id></Event><Event><Description>PROCESSED THROUGH SORT FACILITY</Description><Id>540</Id></Event><Event><Description>EN ROUTE TO DELIVERY LOCATION</Description><Id>541</Id></Event><Event><Description>ARRIVED AT DELIVERING TERMINAL</Description><Id>542</Id></Event><Event><Description>SHIPMENT WAS PROCESSED AT DESTINATION SORTING HUB</Description><Id>543</Id></Event><Event><Description>SHIPMENT WAS LOADED INTO DELIVERY VEHICLE</Description><Id>544</Id></Event><Event><Description>ENROUTE</Description><Id>545</Id></Event><Event><Description>MISROUTE - FORWARDED TO DESTINATION</Description><Id>546</Id></Event><Event><Description>AVAILABLE FOR DELIVERY</Description><Id>547</Id></Event><Event><Description>DISPATCHED FROM INTERNATIONAL SERVICE CENTER</Description><Id>548</Id></Event><Event><Description>NOTICE LEFT</Description><Id>550</Id></Event><Event><Description>NO ONE HOME, CARD LEFT</Description><Id>551</Id></Event><Event><Description>NO ONE TO RECEIVE, CARD LEFT</Description><Id>552</Id></Event><Event><Description>NOTICE LEFT (RECEPTACLE FULL/ITEM OVERSIZED)</Description><Id>553</Id></Event><Event><Description>NOTICE LEFT (NO SECURE LOCATION AVAILABLE)</Description><Id>554</Id></Event><Event><Description>NOTICE LEFT (BUSINESS CLOSED)</Description><Id>555</Id></Event><Event><Description>NOTICE LEFT (NO AUTHORIZED RECIPIENT AVAILABLE)</Description><Id>556</Id></Event><Event><Description>ARRIVAL AT PICK-UP-POINT</Description><Id>560</Id></Event><Event><Description>AVAILABLE FOR PICKUP</Description><Id>570</Id></Event><Event><Description>DELIVERY ATTEMPTED; RETURNED FOR RE-DELIVERY</Description><Id>571</Id></Event><Event><Description>PICKED UP BY CONSIGNEE</Description><Id>572</Id></Event><Event><Description>SHIPMENT HANDED OVER TO LOCAL CUSTOMS OFFICE; CONSIGNEE CONTACTED FOR PICKUP</Description><Id>588</Id></Event><Event><Description>DELAYED DELIVERY AS PER CONSIGNEE REQUEST</Description><Id>589</Id></Event><Event><Description>PICKED UP BY AGENT</Description><Id>590</Id></Event><Event><Description>COD AMOUNT COLLECTED</Description><Id>591</Id></Event><Event><Description>POSSIBLE DELIVERY DELAY</Description><Id>592</Id></Event><Event><Description>POSSIBLE DELIVERY DELAY - ADVERSE WEATHER</Description><Id>593</Id></Event><Event><Description>CONSIGNEE ON HOLIDAY</Description><Id>594</Id></Event><Event><Description>ATTEMPTED DELIVERY</Description><Id>596</Id></Event><Event><Description>OUT FOR DELIVERY</Description><Id>597</Id></Event><Event><Description>OUT FOR DELIVERY</Description><Id>598</Id></Event><Event><Description>RECEIVED AT OPENING UNIT</Description><Id>599</Id></Event><Event><Description>DELIVERED</Description><Id>600</Id></Event><Event><Description>SHIPMENT RETURNED TO SHIPPER</Description><Id>602</Id></Event><Event><Description>RETURNED TO DELIVERY WAREHOUSE</Description><Id>603</Id></Event><Event><Description>SHIPMENT RECALLED BY SENDER</Description><Id>604</Id></Event><Event><Description>REFUSED</Description><Id>610</Id></Event><Event><Description>CUSTOMER REFUSED SHIPMENT</Description><Id>611</Id></Event><Event><Description>VISIBLE DAMAGE</Description><Id>620</Id></Event><Event><Description>UNDELIVERABLE AS ADDRESSED</Description><Id>630</Id></Event><Event><Description>INCORRECT ADDRESS</Description><Id>631</Id></Event><Event><Description>CHANGE OF ADDRESS</Description><Id>632</Id></Event><Event><Description>DELIVERY NOT POSSIBLE</Description><Id>635</Id></Event><Event><Description>UNDELIVERED - PROCESSES FOR LOCAL DISPOSAL</Description><Id>636</Id></Event><Event><Description>MISSENT</Description><Id>640</Id></Event><Event><Description>DEAD LETTER</Description><Id>650</Id></Event><Event><Description>MIS-SHIPPED</Description><Id>670</Id></Event><Event><Description>DELIVERY STATUS NOT UPDATED</Description><Id>699</Id></Event><Event><Description>NO SUCH NUMBER</Description><Id>700</Id></Event><Event><Description>INSUFFICIENT ADDRESS</Description><Id>710</Id></Event><Event><Description>MOVED</Description><Id>720</Id></Event><Event><Description>FORWARD EXPIRED</Description><Id>730</Id></Event><Event><Description>ADDRESSEE UNKNOWN</Description><Id>740</Id></Event><Event><Description>VACANT</Description><Id>750</Id></Event><Event><Description>UNCLAIMED</Description><Id>760</Id></Event><Event><Description>DECEASED</Description><Id>770</Id></Event><Event><Description>RETURN TO SENDER</Description><Id>800</Id></Event><Event><Description>RETURNED, INSUFFICIENT POSTAGE</Description><Id>801</Id></Event><Event><Description>RETURNED, SERVICE NOT AVAILABLE</Description><Id>802</Id></Event><Event><Description>RETURNED, INCORRECT LABEL</Description><Id>803</Id></Event><Event><Description>RETURNED TO SENDER</Description><Id>804</Id></Event></Events></Data></Response>
149
+ http_version:
150
+ recorded_at: Wed, 04 Mar 2015 05:26:15 GMT
151
+ - request:
152
+ method: get
153
+ uri: https://api.dhlglobalmail.com/v1/locations/5325183?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
154
+ body:
155
+ encoding: US-ASCII
156
+ string: ''
157
+ headers:
158
+ Accept:
159
+ - application/xml
160
+ Content-Type:
161
+ - application/xml;charset=UTF-8
162
+ User-Agent:
163
+ - Faraday v0.9.1
164
+ Accept-Encoding:
165
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
166
+ response:
167
+ status:
168
+ code: 200
169
+ message: OK
170
+ headers:
171
+ Transfer-Encoding:
172
+ - chunked
173
+ Content-Type:
174
+ - application/xml;charset=UTF-8
175
+ Server:
176
+ - Microsoft-IIS/7.5
177
+ X-Powered-By:
178
+ - WEB6
179
+ Date:
180
+ - Wed, 04 Mar 2015 05:26:00 GMT
181
+ body:
182
+ encoding: UTF-8
183
+ string: |-
184
+ <?xml version="1.0" encoding="UTF-8"?>
185
+ <Response><Meta><Timestamp>2015-03-04T00:26:01-05:00</Timestamp><Code>200</Code></Meta><Data><Location><State>WA</State><Country>US</Country><PickupName>PNC FULFILLMENT</PickupName><Account>5115902</Account><Contact>BRIAN</Contact><Address2>STE 103</Address2><Phone>360-778-1528</Phone><PostalCode>98230</PostalCode><Address1>288 MARTIN STREET</Address1><Email>orders@pncfulfillment.com</Email><City>BLAINE</City><Pickup>5325183</Pickup><Fax/></Location></Data></Response>
186
+ http_version:
187
+ recorded_at: Wed, 04 Mar 2015 05:26:16 GMT
188
+ - request:
189
+ method: get
190
+ uri: https://api.dhlglobalmail.com/v1/locations?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
191
+ body:
192
+ encoding: US-ASCII
193
+ string: ''
194
+ headers:
195
+ Accept:
196
+ - application/xml
197
+ Content-Type:
198
+ - application/xml;charset=UTF-8
199
+ User-Agent:
200
+ - Faraday v0.9.1
201
+ Accept-Encoding:
202
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
203
+ response:
204
+ status:
205
+ code: 200
206
+ message: OK
207
+ headers:
208
+ Transfer-Encoding:
209
+ - chunked
210
+ Content-Type:
211
+ - application/xml;charset=UTF-8
212
+ Server:
213
+ - Microsoft-IIS/7.5
214
+ X-Powered-By:
215
+ - WEB7
216
+ Date:
217
+ - Wed, 04 Mar 2015 05:26:03 GMT
218
+ body:
219
+ encoding: UTF-8
220
+ string: |-
221
+ <?xml version="1.0" encoding="UTF-8"?>
222
+ <Response><Meta><Timestamp>2015-03-04T00:26:03-05:00</Timestamp><Code>200</Code></Meta><Data><Locations><Location><State>WA</State><Country>US</Country><PickupName>PNC FULFILLMENT</PickupName><Account>5115902</Account><Contact>BRIAN</Contact><Address2>STE 103</Address2><Phone>360-778-1528</Phone><PostalCode>98230</PostalCode><Address1>288 MARTIN STREET</Address1><Email>orders@pncfulfillment.com</Email><City>BLAINE</City><Pickup>5325183</Pickup><Fax/></Location></Locations></Data></Response>
223
+ http_version:
224
+ recorded_at: Wed, 04 Mar 2015 05:26:17 GMT
225
+ - request:
226
+ method: post
227
+ uri: https://api.dhlglobalmail.com/v1/label/US/5325183/zpl?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
228
+ body:
229
+ encoding: UTF-8
230
+ string: <?xml version="1.1" encoding="UTF-8"?><EncodeRequest><CustomerId>5325183</CustomerId><BatchRef>1425446777562</BatchRef><HalfOnError>false</HalfOnError><RejectAllOnError>true</RejectAllOnError><MpuList><Mpu><PackageId>1</PackageId><PackageRef><PrintFlag>true</PrintFlag><LabelText>PKG
231
+ ID</LabelText></PackageRef><ConsigneeAddress><StandardAddress><Name>TEST</Name><Firm></Firm><Address1>916
232
+ PEACE PORTAL DR</Address1><Address2></Address2><City>BLAINE</City><State>WA</State><Zip>98230</Zip><CountryCode>US</CountryCode></StandardAddress></ConsigneeAddress><ReturnAddress><StandardAddress><Name>TEST</Name><Firm></Firm><Address1>916
233
+ PEACE PORTAL DR</Address1><Address2></Address2><City>BLAINE</City><State>WA</State><Zip>98230</Zip><CountryCode>US</CountryCode></StandardAddress></ReturnAddress><OrderedProductCode>83</OrderedProductCode><Weight><Value>1</Value><Unit>LB</Unit></Weight><BillingRef1/><BillingRef2/><FacilityCode>USSEA1</FacilityCode><ExpectedShipDate>20150305</ExpectedShipDate><MailTypeCode>7</MailTypeCode></Mpu></MpuList></EncodeRequest>
234
+ headers:
235
+ Accept:
236
+ - application/xml
237
+ Content-Type:
238
+ - application/xml;charset=UTF-8
239
+ User-Agent:
240
+ - Faraday v0.9.1
241
+ Accept-Encoding:
242
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
243
+ response:
244
+ status:
245
+ code: 200
246
+ message: OK
247
+ headers:
248
+ Transfer-Encoding:
249
+ - chunked
250
+ Content-Type:
251
+ - application/xml;charset=UTF-8
252
+ Server:
253
+ - Microsoft-IIS/7.5
254
+ X-Powered-By:
255
+ - WEB7
256
+ Date:
257
+ - Wed, 04 Mar 2015 05:26:04 GMT
258
+ body:
259
+ encoding: UTF-8
260
+ string: |-
261
+ <?xml version="1.0" encoding="UTF-8"?><Response><Meta><Code>200</Code><Timestamp>2015-03-04T00:26:04-05:00</Timestamp><NumAccepted>1</NumAccepted><NumRejected>0</NumRejected><NumUnprocessed>0</NumUnprocessed></Meta><Data><MpuList><Mpu><PackageId>1</PackageId><PackageRef><PrintFlag>true</PrintFlag><LabelText>PKG ID</LabelText></PackageRef><ConsigneeAddress><StandardAddress><Name>TEST</Name><Firm/><Address1>916 PEACE PORTAL DR</Address1><Address2/><City>BLAINE</City><State>WA</State><Zip>98230</Zip><CountryCode>US</CountryCode></StandardAddress></ConsigneeAddress><ReturnAddress><StandardAddress><Name>TEST</Name><Firm/><Address1>916 PEACE PORTAL DR</Address1><Address2/><City>BLAINE</City><State>WA</State><Zip>98230</Zip><CountryCode>US</CountryCode></StandardAddress></ReturnAddress><OrderedProductCode>83</OrderedProductCode><Weight><Unit>LB</Unit><Value>1</Value></Weight><BillingRef1/><BillingRef2/><MailTypeCode>7</MailTypeCode><FacilityCode>USSEA1</FacilityCode><ExpectedShipDate>20150305</ExpectedShipDate><ErrorList/><LabelDetail><Impb><Construct>C07</Construct><Value>420982309361269903500324295866</Value></Impb><ServiceTypeCode>612</ServiceTypeCode><MailTypeCode>7</MailTypeCode><ShipperAddress><StandardAddress><Name>TEST</Name><Firm/><Address1>916 PEACE PORTAL DR</Address1><Address2/><City>BLAINE</City><State>WA</State><Zip>98230</Zip><CountryCode>US</CountryCode></StandardAddress></ShipperAddress><InboundSortCode>J22</InboundSortCode><IntendedReceivingFacility>SEA</IntendedReceivingFacility><OutboundSortCode>17</OutboundSortCode><SortingSetupVersion>2</SortingSetupVersion><ServiceLevel>GRD</ServiceLevel><OrderedProductCode>83</OrderedProductCode><MailBanner>PARCEL SELECT</MailBanner></LabelDetail><LabelZpl>^XA^LH0,30\n
262
+ ^FO395,0^GB310,0,3^FS\n
263
+ ^FO395,0^GB0,150,3^FS\n
264
+ ^FO705,0^GB0,153,3^FS\n
265
+ ^FO395,150^GB310,0,3^FS\n
266
+ ^FO560,30^A0N,20,20^FDUS Postage Paid^FS\n
267
+ ^FO580,52^A0N,20,20^FDGlobal Mail^FS\n
268
+ ^FO610,74^A0N,20,20^FDeVS^FS\n
269
+ ^FO555,0^GB0,100,3^FS\n
270
+ ^FO450,0^GB0,100,3^FS\n
271
+ ^FO395,100^GB310,0,3^FS\n
272
+ ^FO575,100^GB0,50,3^FS\n
273
+ ^FO640,100^GB0,25,3^FS\n
274
+ ^FO575,125^GB130,0,3^FS\n
275
+ ^FO30,0^A0N,24,25^FDPARCEL SELECT^FS\n
276
+ ^FO20,30^A0N,25,30^FDTime Sensitive Material^FS\n
277
+ ^FO70,55^A0N,24,22^FD^FS\n
278
+ ^FO430,160^A0N,24,22^FD^FS\n
279
+ ^FO480,40^A0N,48,48^FD17^FS\n
280
+ ^FO480,110^A0N,48,48^FDJ22^FS\n
281
+ ^FO610,130^A0N,20,30^FD98230^FS\n
282
+ ^FO590,105^A0N,20,20^FDSEA^FS\n
283
+ ^FO650,105^A0N,20,20^FD7-2^FS\n
284
+ ^FO30,180^BY2^B2N,40,N,N,N^FD4120403551837853^FS\n
285
+ ^FO30,235^A0N,22,22^FDDHLGM#:4120403551837853^FS\n
286
+ ^FO30,255^GB770,0,3^FS\n
287
+ ^FO50,270^A0N,24,24^FDTEST^FS\n
288
+ ^FO50,295^A0N,24,24^FD916 PEACE PORTAL DR^FS\n
289
+ ^FO50,320^A0N,24,24^FDBLAINE WA 98230^FS\n
290
+ ^FO50,345^A0N,24,24^FD^FS\n
291
+ ^FO200,540^A0N,30,30^FDTEST^FS\n
292
+ ^FO200,570^A0N,30,30^FD916 PEACE PORTAL DR^FS\n
293
+ ^FO200,605^A0N,30,30^FDBLAINE WA 98230^FS\n
294
+ ^FS\n
295
+ ^FO200,635^A0N,30,30^FD^FS\n
296
+ ^FS\n^FO30,700^GB770,0,10^FS\n
297
+ ^FO180,730^A0N,44,44^FDUSPS TRACKING #eVS^FS\n
298
+ ^FO65,815^BY3\n
299
+ ^BCN,160,N^FD&gt;;&gt;842098230&gt;;&gt;89361269903500324295866,&gt;;^FS\n
300
+ ^FO180,1015^A0N,32,32^FD9361 2699 0350 0324 2958 66^FS\n
301
+ ^FO30,1065^GB770,0,10^FS\n
302
+ ^FO230,1100^BY2^B2N,40,N,N,N^FD1^FS\n
303
+ ^FO250,1150^A0N,22,22^FDPKG ID 1^FS\n^FO400,10^A0R,42,42^FDGRD^FS
304
+ ^PQ1^XZ</LabelZpl><MailItemId>4120403551837853</MailItemId><DelconFromImpb>9361269903500324295866</DelconFromImpb><ServiceEndorsement/><DgCategory/></Mpu></MpuList></Data></Response>
305
+ http_version:
306
+ recorded_at: Wed, 04 Mar 2015 05:26:18 GMT
307
+ - request:
308
+ method: get
309
+ uri: https://api.dhlglobalmail.com/v1/products/73?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
310
+ body:
311
+ encoding: US-ASCII
312
+ string: ''
313
+ headers:
314
+ Accept:
315
+ - application/xml
316
+ Content-Type:
317
+ - application/xml;charset=UTF-8
318
+ User-Agent:
319
+ - Faraday v0.9.1
320
+ Accept-Encoding:
321
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
322
+ response:
323
+ status:
324
+ code: 200
325
+ message: OK
326
+ headers:
327
+ Transfer-Encoding:
328
+ - chunked
329
+ Content-Type:
330
+ - application/xml;charset=UTF-8
331
+ Server:
332
+ - Microsoft-IIS/7.5
333
+ X-Powered-By:
334
+ - WEB6
335
+ Date:
336
+ - Wed, 04 Mar 2015 05:26:04 GMT
337
+ body:
338
+ encoding: UTF-8
339
+ string: |-
340
+ <?xml version="1.0" encoding="UTF-8"?>
341
+ <Response><Meta><Timestamp>2015-03-04T00:26:04-05:00</Timestamp><Code>200</Code></Meta><Data><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Flats Ground</Name><Id>73</Id></Product></Data></Response>
342
+ http_version:
343
+ recorded_at: Wed, 04 Mar 2015 05:26:19 GMT
344
+ - request:
345
+ method: get
346
+ uri: https://api.dhlglobalmail.com/v1/products?access_token=sP0WTuBUBte2N1UzcBy0ZQOjAptsjXKvnavkx43Nyzk%2BbQPTF80%2BnJiYoEWCdFQUQQW3wv4jQx8WNrGd2JEAEXYSrip77np4F7X2icSxAgorjRdabr7d1jjktOI1Z4487KpkdJes%2BI4byatWZRX7Uig7v/VTsztthTk8IUrWowttiEBQnw0/NjRe4drp3mFAzlzrOYtroRjZ13eqE6l%2BnQ==&client_id=<CLIENT_ID>
347
+ body:
348
+ encoding: US-ASCII
349
+ string: ''
350
+ headers:
351
+ Accept:
352
+ - application/xml
353
+ Content-Type:
354
+ - application/xml;charset=UTF-8
355
+ User-Agent:
356
+ - Faraday v0.9.1
357
+ Accept-Encoding:
358
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
359
+ response:
360
+ status:
361
+ code: 200
362
+ message: OK
363
+ headers:
364
+ Transfer-Encoding:
365
+ - chunked
366
+ Content-Type:
367
+ - application/xml;charset=UTF-8
368
+ Server:
369
+ - Microsoft-IIS/7.5
370
+ X-Powered-By:
371
+ - WEB4
372
+ Date:
373
+ - Wed, 04 Mar 2015 05:26:05 GMT
374
+ body:
375
+ encoding: UTF-8
376
+ string: |-
377
+ <?xml version="1.0" encoding="UTF-8"?>
378
+ <Response><Meta><Timestamp>2015-03-04T00:26:05-05:00</Timestamp><Code>200</Code></Meta><Data><Products><Product><Category>Priority</Category><Class>International</Class><Name>DHL GlobalMail Packet Plus Crossborder</Name><Id>500901</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>DHL GlobalMail Packet Plus Domestic</Name><Id>500900</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>DHL GlobalMail Parcel Direct Priority Crossborder</Name><Id>500905</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>DHL GlobalMail Parcel Direct Priority Domestic</Name><Id>500904</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>DHL Parcel Premium</Name><Id>631</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>Easy Return Ground</Name><Id>532</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>Easy Return Light</Name><Id>531</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>Easy Return Plus</Name><Id>491</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>First Class Flats</Name><Id>262</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>First Class Parcels</Name><Id>261</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>First Class Product</Name><Id>71</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Business Canada Post Lettermail</Name><Id>43</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Business Priority</Name><Id>34</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Business Standard</Name><Id>35</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Business USPS IPA</Name><Id>41</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Business USPS ISAL</Name><Id>42</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Direct Canada Post Admail</Name><Id>46</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Fulfillment Publication Priority</Name><Id>52</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Fulfillment Publication Standard</Name><Id>53</Id></Product><Product><Category>Other Services</Category><Class>International</Class><Name>GM Other</Name><Id>69</Id></Product><Product><Category>Clearance</Category><Class>International</Class><Name>GM Packet Manifest Clearance</Name><Id>500940</Id></Product><Product><Category>Clearance</Category><Class>International</Class><Name>GM Packet Plus Manifest Clearance</Name><Id>500941</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Packet Plus Priority</Name><Id>29</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Packet Plus Priority (Relax E-File)</Name><Id>500000</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Packet Plus Priority (Relax E-File) Crossborder</Name><Id>500902</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Packet Plus Priority (Relax E-File) Domestic</Name><Id>500903</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Packet Plus Standard Cross Border</Name><Id>500924</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Packet Plus Standard Domestic</Name><Id>500923</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Packet Priority</Name><Id>27</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Packet Standard</Name><Id>28</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Packet Standard Cross Border</Name><Id>500926</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Packet Standard Domestic</Name><Id>500925</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Packet USPS IPA</Name><Id>56</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Packet USPS ISAL</Name><Id>57</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Parcel Canada Parcel Standard</Name><Id>59</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Parcel Direct</Name><Id>103111</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Direct Expedited Cross Border</Name><Id>500970</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Direct Expedited Domestic</Name><Id>500969</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Direct Express</Name><Id>58</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Direct Inbound Priority - Formal</Name><Id>23</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Direct Inbound Priority - Informal</Name><Id>21</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Parcel Direct Inbound Standard - Formal</Name><Id>24</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Parcel Direct Inbound Standard - Informal</Name><Id>22</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Direct Plus</Name><Id>103113</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Direct Priority</Name><Id>60</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Parcel Priority</Name><Id>54</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Parcel Standard</Name><Id>55</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Parcel Standard Cross Border</Name><Id>500930</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Parcel Standard Domestic</Name><Id>500929</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Publication Canada Publication</Name><Id>51</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>GM Publication Priority</Name><Id>47</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>GM Publication Standard</Name><Id>48</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>Priority Mail</Name><Id>70</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM BPM Expedited</Name><Id>76</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM BPM Ground</Name><Id>77</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM Catalog BPM Expedited</Name><Id>78</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Catalog BPM Ground</Name><Id>79</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM Catalog Flats Expedited</Name><Id>74</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Catalog Flats Ground</Name><Id>75</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM Flats Expedited</Name><Id>72</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Flats Ground</Name><Id>73</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM Marketing Parcel Expedited</Name><Id>384</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Marketing Parcel Ground</Name><Id>383</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM Media Mail Expedited</Name><Id>284</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Media Mail Ground</Name><Id>80</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM Parcel Plus Expedited</Name><Id>36</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Parcel Plus Ground</Name><Id>83</Id></Product><Product><Category>Expedited</Category><Class>DomesticUS</Class><Name>SM Parcels Expedited</Name><Id>81</Id></Product><Product><Category>Ground</Category><Class>DomesticUS</Class><Name>SM Parcels Ground</Name><Id>82</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>Workshare GM Business Priority</Name><Id>44</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>Workshare GM Business Standard</Name><Id>45</Id></Product><Product><Category>Priority</Category><Class>International</Class><Name>Workshare GM Packet Priority</Name><Id>25</Id></Product><Product><Category>Standard</Category><Class>International</Class><Name>Workshare GM Packet Standard</Name><Id>26</Id></Product></Products></Data></Response>
379
+ http_version:
380
+ recorded_at: Wed, 04 Mar 2015 05:26:20 GMT
381
+ recorded_with: VCR 2.9.3