active_shipping 1.0.0.pre4 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.yardopts +0 -1
- data/CHANGELOG.md +17 -0
- data/CONTRIBUTING.md +2 -2
- data/Gemfile.activesupport32 +1 -0
- data/README.md +1 -1
- data/Rakefile +1 -1
- data/active_shipping.gemspec +2 -2
- data/lib/active_shipping.rb +2 -3
- data/lib/active_shipping/carriers.rb +1 -0
- data/lib/active_shipping/carriers/canada_post_pws.rb +281 -266
- data/lib/active_shipping/carriers/correios.rb +285 -0
- data/lib/active_shipping/carriers/fedex.rb +205 -199
- data/lib/active_shipping/carriers/stamps.rb +218 -219
- data/lib/active_shipping/carriers/ups.rb +287 -48
- data/lib/active_shipping/carriers/usps.rb +3 -3
- data/lib/active_shipping/delivery_date_estimate.rb +21 -0
- data/lib/active_shipping/delivery_date_estimates_response.rb +11 -0
- data/lib/active_shipping/errors.rb +20 -1
- data/lib/active_shipping/location.rb +0 -5
- data/lib/active_shipping/response.rb +0 -15
- data/lib/active_shipping/version.rb +1 -1
- data/test/credentials.yml +11 -3
- data/test/fixtures/xml/correios/book_response.xml +13 -0
- data/test/fixtures/xml/correios/book_response_invalid.xml +13 -0
- data/test/fixtures/xml/correios/clothes_response.xml +43 -0
- data/test/fixtures/xml/correios/poster_response.xml +23 -0
- data/test/fixtures/xml/correios/shoes_response.xml +43 -0
- data/test/fixtures/xml/fedex/tracking_request.xml +13 -11
- data/test/fixtures/xml/fedex/tracking_response_bad_tracking_number.xml +20 -0
- data/test/fixtures/xml/fedex/tracking_response_delivered_at_door.xml +254 -0
- data/test/fixtures/xml/fedex/tracking_response_delivered_at_facility.xml +403 -0
- data/test/fixtures/xml/fedex/tracking_response_delivered_with_signature.xml +269 -0
- data/test/fixtures/xml/fedex/tracking_response_in_transit.xml +127 -0
- data/test/fixtures/xml/fedex/tracking_response_multiple_results.xml +100 -0
- data/test/fixtures/xml/fedex/tracking_response_not_found.xml +52 -0
- data/test/fixtures/xml/fedex/tracking_response_shipment_exception.xml +209 -0
- data/test/fixtures/xml/ups/delivery_dates_response.xml +140 -0
- data/test/fixtures/xml/ups/package_exceeds_maximum_length.xml +12 -0
- data/test/fixtures/xml/ups/rate_single_service.xml +54 -0
- data/test/fixtures/xml/ups/rescheduled_shipment.xml +204 -0
- data/test/fixtures/xml/ups/test_real_home_as_residential_destination_response.xml +290 -1
- data/test/fixtures/xml/usps/delivered_extended_tracking_response.xml +11 -0
- data/test/remote/canada_post_pws_platform_test.rb +35 -22
- data/test/remote/canada_post_pws_test.rb +32 -40
- data/test/remote/correios_test.rb +83 -0
- data/test/remote/fedex_test.rb +95 -13
- data/test/remote/stamps_test.rb +1 -0
- data/test/remote/ups_test.rb +77 -40
- data/test/remote/usps_test.rb +13 -1
- data/test/test_helper.rb +12 -2
- data/test/unit/carriers/canada_post_pws_rating_test.rb +66 -59
- data/test/unit/carriers/canada_post_pws_shipping_test.rb +34 -23
- data/test/unit/carriers/correios_test.rb +244 -0
- data/test/unit/carriers/fedex_test.rb +161 -156
- data/test/unit/carriers/ups_test.rb +193 -1
- data/test/unit/carriers/usps_test.rb +14 -0
- data/test/unit/location_test.rb +0 -10
- metadata +63 -46
- metadata.gz.sig +0 -0
- data/lib/vendor/test_helper.rb +0 -6
- data/lib/vendor/xml_node/README +0 -36
- data/lib/vendor/xml_node/Rakefile +0 -21
- data/lib/vendor/xml_node/benchmark/bench_generation.rb +0 -30
- data/lib/vendor/xml_node/init.rb +0 -1
- data/lib/vendor/xml_node/lib/xml_node.rb +0 -221
- data/lib/vendor/xml_node/test/test_generating.rb +0 -89
- data/lib/vendor/xml_node/test/test_parsing.rb +0 -40
- data/test/fixtures/xml/fedex/tracking_response.xml +0 -151
- data/test/fixtures/xml/fedex/tracking_response_empty_destination.xml +0 -76
- data/test/fixtures/xml/fedex/tracking_response_no_destination.xml +0 -139
- data/test/fixtures/xml/fedex/tracking_response_no_ship_time.xml +0 -150
- data/test/fixtures/xml/fedex/tracking_response_with_estimated_delivery_date.xml +0 -95
- data/test/fixtures/xml/fedex/tracking_response_with_shipper_address.xml +0 -71
@@ -13,7 +13,7 @@ module ActiveShipping
|
|
13
13
|
EventDetails = Struct.new(:description, :time, :zoneless_time, :location)
|
14
14
|
EVENT_MESSAGE_PATTERNS = [
|
15
15
|
/^(.*), (\w+ \d{1,2}, \d{4}, \d{1,2}:\d\d [ap]m), (.*), (\w\w) (\d{5})$/i,
|
16
|
-
/^Your item \w{2,3} (out for delivery|delivered) at (\d{1,2}:\d\d [ap]m on \w+ \d{1,2}, \d{4}) in (.*), (\w\w) (\d{5})\.$/i
|
16
|
+
/^Your item \w{2,3} (out for delivery|delivered).* at (\d{1,2}:\d\d [ap]m on \w+ \d{1,2}, \d{4}) in (.*), (\w\w) (\d{5})\.$/i
|
17
17
|
]
|
18
18
|
self.retry_safe = true
|
19
19
|
|
@@ -286,7 +286,7 @@ module ActiveShipping
|
|
286
286
|
</CarrierPickupAvailabilityRequest>
|
287
287
|
EOF
|
288
288
|
xml = Nokogiri.XML(commit(:test, request, true)) { |config| config.strict }
|
289
|
-
xml.at('/CarrierPickupAvailabilityResponse/City').text == 'SAN FRANCISCO' && xml.at('/CarrierPickupAvailabilityResponse/Address2').text == '18 FAIR AVE'
|
289
|
+
xml.at('/CarrierPickupAvailabilityResponse/City').try(:text) == 'SAN FRANCISCO' && xml.at('/CarrierPickupAvailabilityResponse/Address2').try(:text) == '18 FAIR AVE'
|
290
290
|
end
|
291
291
|
|
292
292
|
# options[:service] -- One of [:first_class, :priority, :express, :bpm, :parcel,
|
@@ -316,7 +316,7 @@ module ActiveShipping
|
|
316
316
|
xml.ZipDestination(strip_zip(destination_zip))
|
317
317
|
xml.Pounds(0)
|
318
318
|
xml.Ounces("%0.1f" % [package.ounces, 1].max)
|
319
|
-
xml.Container(CONTAINERS[package.options[:container]])
|
319
|
+
xml.Container(CONTAINERS[package.options[:container]] || (package.cylinder? ? 'NONRECTANGULAR' : 'RECTANGULAR'))
|
320
320
|
xml.Size(USPS.size_code_for(package))
|
321
321
|
xml.Width("%0.2f" % package.inches(:width))
|
322
322
|
xml.Length("%0.2f" % package.inches(:length))
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ActiveShipping
|
2
|
+
class DeliveryDateEstimate
|
3
|
+
attr_reader :origin
|
4
|
+
attr_reader :destination
|
5
|
+
attr_reader :carrier
|
6
|
+
attr_reader :service_name
|
7
|
+
attr_reader :service_code
|
8
|
+
attr_reader :date
|
9
|
+
attr_reader :guaranteed
|
10
|
+
attr_reader :business_transit_days
|
11
|
+
|
12
|
+
def initialize(origin, destination, carrier, service_name, options={})
|
13
|
+
@origin, @destination, @carrier, @service_name = origin, destination, carrier, service_name
|
14
|
+
@service_code = options[:service_code]
|
15
|
+
@date = options[:date]
|
16
|
+
@guaranteed = options[:guaranteed]
|
17
|
+
@business_transit_days = options[:business_transit_days]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
@@ -1,7 +1,26 @@
|
|
1
1
|
module ActiveShipping
|
2
|
-
class
|
2
|
+
class Error < ActiveUtils::ActiveUtilsError
|
3
|
+
end
|
4
|
+
|
5
|
+
class ResponseError < ActiveShipping::Error
|
6
|
+
attr_reader :response
|
7
|
+
|
8
|
+
def initialize(response = nil)
|
9
|
+
if response.is_a? Response
|
10
|
+
super(response.message)
|
11
|
+
@response = response
|
12
|
+
else
|
13
|
+
super(response)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class ResponseContentError < ActiveShipping::Error
|
3
19
|
def initialize(exception, content_body)
|
4
20
|
super("#{exception.message} \n\n#{content_body}")
|
5
21
|
end
|
6
22
|
end
|
23
|
+
|
24
|
+
class ShipmentNotFound < ActiveShipping::Error
|
25
|
+
end
|
7
26
|
end
|
@@ -1,19 +1,4 @@
|
|
1
1
|
module ActiveShipping #:nodoc:
|
2
|
-
class Error < ActiveUtils::ActiveUtilsError
|
3
|
-
end
|
4
|
-
|
5
|
-
class ResponseError < Error
|
6
|
-
attr_reader :response
|
7
|
-
|
8
|
-
def initialize(response = nil)
|
9
|
-
if response.is_a? Response
|
10
|
-
super(response.message)
|
11
|
-
@response = response
|
12
|
-
else
|
13
|
-
super(response)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
2
|
|
18
3
|
# Basic Response class for requests against a carrier's API.
|
19
4
|
class Response
|
data/test/credentials.yml
CHANGED
@@ -11,9 +11,11 @@ usps:
|
|
11
11
|
login: <%= ENV['ACTIVESHIPPING_USPS_LOGIN'] %>
|
12
12
|
|
13
13
|
ups:
|
14
|
-
|
15
|
-
|
14
|
+
login: <%= ENV['ACTIVESHIPPING_UPS_LOGIN'] %>
|
15
|
+
key: <%= ENV['ACTIVESHIPPING_UPS_KEY'] %>
|
16
16
|
password: <%= ENV['ACTIVESHIPPING_UPS_PASSWORD'] %>
|
17
|
+
origin_account: <%= ENV['ACTIVESHIPPING_UPS_ORIGIN_ACCOUNT'] %>
|
18
|
+
origin_name: <%= ENV['ACTIVESHIPPING_UPS_ORIGIN_NAME'] %>
|
17
19
|
|
18
20
|
fedex:
|
19
21
|
account: <%= ENV['ACTIVESHIPPING_FEDEX_ACCOUNT'] %>
|
@@ -32,10 +34,16 @@ new_zealand_post:
|
|
32
34
|
key: <%= ENV['ACTIVESHIPPING_NEW_ZEALAND_POST_KEY'] %>
|
33
35
|
|
34
36
|
canada_post_pws:
|
35
|
-
|
37
|
+
customer_number: <%= ENV['ACTIVESHIPPING_CANADA_POST_PWS_CUSTOMER_NUMBER'] %>
|
36
38
|
api_key: <%= ENV['ACTIVESHIPPING_CANADA_POST_PWS_API_KEY'] %>
|
37
39
|
secret: <%= ENV['ACTIVESHIPPING_CANADA_POST_PWS_SECRET'] %>
|
38
40
|
|
41
|
+
canada_post_pws_platform:
|
42
|
+
platform_id: <%= ENV['ACTIVESHIPPING_CANADA_POST_PWS_PLATFORM_PLATFORM_ID'] %>
|
43
|
+
customer_number: <%= ENV['ACTIVESHIPPING_CANADA_POST_PWS_PLATFORM_CUSTOMER_NUMBER'] %>
|
44
|
+
api_key: <%= ENV['ACTIVESHIPPING_CANADA_POST_PWS_PLATFORM_API_KEY'] %>
|
45
|
+
secret: <%= ENV['ACTIVESHIPPING_CANADA_POST_PWS_PLATFORM_SECRET'] %>
|
46
|
+
|
39
47
|
stamps:
|
40
48
|
integration_id: <%= ENV['ACTIVESHIPPING_STAMPS_INTEGRATION_ID'] %>
|
41
49
|
username: <%= ENV['ACTIVESHIPPING_STAMPS_USERNAME'] %>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<Servicos>
|
3
|
+
<cServico>
|
4
|
+
<Codigo>41106</Codigo>
|
5
|
+
<Valor>105,20</Valor>
|
6
|
+
<ValorSemAdicionais>97,70</ValorSemAdicionais>
|
7
|
+
<ValorMaoPropria>4,30</ValorMaoPropria>
|
8
|
+
<ValorAvisoRecebimento>3,20</ValorAvisoRecebimento>
|
9
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
10
|
+
<Erro/>
|
11
|
+
<MsgErro/>
|
12
|
+
</cServico>
|
13
|
+
</Servicos>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<Servicos>
|
3
|
+
<cServico>
|
4
|
+
<Codigo>41106</Codigo>
|
5
|
+
<Valor>0</Valor>
|
6
|
+
<ValorSemAdicionais>0</ValorSemAdicionais>
|
7
|
+
<ValorMaoPropria>0</ValorMaoPropria>
|
8
|
+
<ValorAvisoRecebimento>0</ValorAvisoRecebimento>
|
9
|
+
<ValorValorDeclarado>0</ValorValorDeclarado>
|
10
|
+
<Erro>-2</Erro>
|
11
|
+
<MsgErro>CEP de origem invalido</MsgErro>
|
12
|
+
</cServico>
|
13
|
+
</Servicos>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<Servicos>
|
3
|
+
<cServico>
|
4
|
+
<Codigo>41106</Codigo>
|
5
|
+
<Valor>120,00</Valor>
|
6
|
+
<ValorSemAdicionais>12,10</ValorSemAdicionais>
|
7
|
+
<ValorMaoPropria>12,20</ValorMaoPropria>
|
8
|
+
<ValorAvisoRecebimento>12,30</ValorAvisoRecebimento>
|
9
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
10
|
+
<Erro/>
|
11
|
+
<MsgErro/>
|
12
|
+
</cServico>
|
13
|
+
<cServico>
|
14
|
+
<Codigo>41300</Codigo>
|
15
|
+
<Valor>130,00</Valor>
|
16
|
+
<ValorSemAdicionais>13,10</ValorSemAdicionais>
|
17
|
+
<ValorMaoPropria>13,20</ValorMaoPropria>
|
18
|
+
<ValorAvisoRecebimento>13,30</ValorAvisoRecebimento>
|
19
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
20
|
+
<Erro/>
|
21
|
+
<MsgErro/>
|
22
|
+
</cServico>
|
23
|
+
<cServico>
|
24
|
+
<Codigo>40215</Codigo>
|
25
|
+
<Valor>140,00</Valor>
|
26
|
+
<ValorSemAdicionais>14,10</ValorSemAdicionais>
|
27
|
+
<ValorMaoPropria>14,20</ValorMaoPropria>
|
28
|
+
<ValorAvisoRecebimento>14,30</ValorAvisoRecebimento>
|
29
|
+
<ValorValorDeclarado>10,00</ValorValorDeclarado>
|
30
|
+
<Erro/>
|
31
|
+
<MsgErro/>
|
32
|
+
</cServico>
|
33
|
+
<cServico>
|
34
|
+
<Codigo>81019</Codigo>
|
35
|
+
<Valor>150,00</Valor>
|
36
|
+
<ValorSemAdicionais>15,10</ValorSemAdicionais>
|
37
|
+
<ValorMaoPropria>15,20</ValorMaoPropria>
|
38
|
+
<ValorAvisoRecebimento>15,30</ValorAvisoRecebimento>
|
39
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
40
|
+
<Erro/>
|
41
|
+
<MsgErro/>
|
42
|
+
</cServico>
|
43
|
+
</Servicos>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<Servicos>
|
3
|
+
<cServico>
|
4
|
+
<Codigo>41106</Codigo>
|
5
|
+
<Valor>10,00</Valor>
|
6
|
+
<ValorSemAdicionais>97,70</ValorSemAdicionais>
|
7
|
+
<ValorMaoPropria>4,30</ValorMaoPropria>
|
8
|
+
<ValorAvisoRecebimento>3,20</ValorAvisoRecebimento>
|
9
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
10
|
+
<Erro/>
|
11
|
+
<MsgErro/>
|
12
|
+
</cServico>
|
13
|
+
<cServico>
|
14
|
+
<Codigo>40215</Codigo>
|
15
|
+
<Valor>20,00</Valor>
|
16
|
+
<ValorSemAdicionais>97,70</ValorSemAdicionais>
|
17
|
+
<ValorMaoPropria>4,30</ValorMaoPropria>
|
18
|
+
<ValorAvisoRecebimento>3,20</ValorAvisoRecebimento>
|
19
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
20
|
+
<Erro/>
|
21
|
+
<MsgErro/>
|
22
|
+
</cServico>
|
23
|
+
</Servicos>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<Servicos>
|
3
|
+
<cServico>
|
4
|
+
<Codigo>41106</Codigo>
|
5
|
+
<Valor>20,00</Valor>
|
6
|
+
<ValorSemAdicionais>2,10</ValorSemAdicionais>
|
7
|
+
<ValorMaoPropria>2,20</ValorMaoPropria>
|
8
|
+
<ValorAvisoRecebimento>2,30</ValorAvisoRecebimento>
|
9
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
10
|
+
<Erro/>
|
11
|
+
<MsgErro/>
|
12
|
+
</cServico>
|
13
|
+
<cServico>
|
14
|
+
<Codigo>41300</Codigo>
|
15
|
+
<Valor>30,00</Valor>
|
16
|
+
<ValorSemAdicionais>3,10</ValorSemAdicionais>
|
17
|
+
<ValorMaoPropria>3,20</ValorMaoPropria>
|
18
|
+
<ValorAvisoRecebimento>3,30</ValorAvisoRecebimento>
|
19
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
20
|
+
<Erro/>
|
21
|
+
<MsgErro/>
|
22
|
+
</cServico>
|
23
|
+
<cServico>
|
24
|
+
<Codigo>40215</Codigo>
|
25
|
+
<Valor>40,00</Valor>
|
26
|
+
<ValorSemAdicionais>4,10</ValorSemAdicionais>
|
27
|
+
<ValorMaoPropria>4,20</ValorMaoPropria>
|
28
|
+
<ValorAvisoRecebimento>4,30</ValorAvisoRecebimento>
|
29
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
30
|
+
<Erro/>
|
31
|
+
<MsgErro/>
|
32
|
+
</cServico>
|
33
|
+
<cServico>
|
34
|
+
<Codigo>81019</Codigo>
|
35
|
+
<Valor>50,00</Valor>
|
36
|
+
<ValorSemAdicionais>5,10</ValorSemAdicionais>
|
37
|
+
<ValorMaoPropria>5,20</ValorMaoPropria>
|
38
|
+
<ValorAvisoRecebimento>5,30</ValorAvisoRecebimento>
|
39
|
+
<ValorValorDeclarado>0,00</ValorValorDeclarado>
|
40
|
+
<Erro/>
|
41
|
+
<MsgErro/>
|
42
|
+
</cServico>
|
43
|
+
</Servicos>
|
@@ -1,27 +1,29 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
|
-
<TrackRequest xmlns="http://fedex.com/ws/track/
|
2
|
+
<TrackRequest xmlns="http://fedex.com/ws/track/v7">
|
3
3
|
<WebAuthenticationDetail>
|
4
4
|
<UserCredential>
|
5
|
-
<Key>
|
6
|
-
<Password>
|
5
|
+
<Key>5FJsRZSnp1kVPzRg</Key>
|
6
|
+
<Password>jziwHavkOa7KSvyHOMK0iz1GG</Password>
|
7
7
|
</UserCredential>
|
8
8
|
</WebAuthenticationDetail>
|
9
9
|
<ClientDetail>
|
10
|
-
<AccountNumber>
|
11
|
-
<MeterNumber>
|
10
|
+
<AccountNumber>510087909</AccountNumber>
|
11
|
+
<MeterNumber>100007836</MeterNumber>
|
12
12
|
</ClientDetail>
|
13
13
|
<TransactionDetail>
|
14
14
|
<CustomerTransactionId>ActiveShipping</CustomerTransactionId>
|
15
15
|
</TransactionDetail>
|
16
16
|
<Version>
|
17
17
|
<ServiceId>trck</ServiceId>
|
18
|
-
<Major>
|
18
|
+
<Major>7</Major>
|
19
19
|
<Intermediate>0</Intermediate>
|
20
20
|
<Minor>0</Minor>
|
21
21
|
</Version>
|
22
|
-
<
|
23
|
-
<
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
<SelectionDetails>
|
23
|
+
<PackageIdentifier>
|
24
|
+
<Type>TRACKING_NUMBER_OR_DOORTAG</Type>
|
25
|
+
<Value>12345</Value>
|
26
|
+
</PackageIdentifier>
|
27
|
+
</SelectionDetails>
|
28
|
+
<ProcessingOptions>INCLUDE_DETAILED_SCANS</ProcessingOptions>
|
27
29
|
</TrackRequest>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<TrackReply xmlns="http://fedex.com/ws/track/v7" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<HighestSeverity>ERROR</HighestSeverity>
|
4
|
+
<Notifications>
|
5
|
+
<Severity>ERROR</Severity>
|
6
|
+
<Source>trck</Source>
|
7
|
+
<Code>5508</Code>
|
8
|
+
<Message>Invalid tracking number.</Message>
|
9
|
+
<LocalizedMessage>Invalid tracking number.</LocalizedMessage>
|
10
|
+
</Notifications>
|
11
|
+
<TransactionDetail>
|
12
|
+
<CustomerTransactionId>ActiveShipping</CustomerTransactionId>
|
13
|
+
</TransactionDetail>
|
14
|
+
<Version>
|
15
|
+
<ServiceId>trck</ServiceId>
|
16
|
+
<Major>7</Major>
|
17
|
+
<Intermediate>0</Intermediate>
|
18
|
+
<Minor>0</Minor>
|
19
|
+
</Version>
|
20
|
+
</TrackReply>
|
@@ -0,0 +1,254 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<TrackReply xmlns="http://fedex.com/ws/track/v7" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<HighestSeverity>SUCCESS</HighestSeverity>
|
4
|
+
<Notifications>
|
5
|
+
<Severity>SUCCESS</Severity>
|
6
|
+
<Source>trck</Source>
|
7
|
+
<Code>0</Code>
|
8
|
+
<Message>Request was successfully processed.</Message>
|
9
|
+
<LocalizedMessage>Request was successfully processed.</LocalizedMessage>
|
10
|
+
</Notifications>
|
11
|
+
<TransactionDetail>
|
12
|
+
<CustomerTransactionId>ActiveShipping</CustomerTransactionId>
|
13
|
+
</TransactionDetail>
|
14
|
+
<Version>
|
15
|
+
<ServiceId>trck</ServiceId>
|
16
|
+
<Major>7</Major>
|
17
|
+
<Intermediate>0</Intermediate>
|
18
|
+
<Minor>0</Minor>
|
19
|
+
</Version>
|
20
|
+
<CompletedTrackDetails>
|
21
|
+
<HighestSeverity>SUCCESS</HighestSeverity>
|
22
|
+
<Notifications>
|
23
|
+
<Severity>SUCCESS</Severity>
|
24
|
+
<Source>trck</Source>
|
25
|
+
<Code>0</Code>
|
26
|
+
<Message>Request was successfully processed.</Message>
|
27
|
+
<LocalizedMessage>Request was successfully processed.</LocalizedMessage>
|
28
|
+
</Notifications>
|
29
|
+
<DuplicateWaybill>false</DuplicateWaybill>
|
30
|
+
<MoreData>false</MoreData>
|
31
|
+
<TrackDetails>
|
32
|
+
<Notification>
|
33
|
+
<Severity>SUCCESS</Severity>
|
34
|
+
<Source>trck</Source>
|
35
|
+
<Code>0</Code>
|
36
|
+
<Message>Request was successfully processed.</Message>
|
37
|
+
<LocalizedMessage>Request was successfully processed.</LocalizedMessage>
|
38
|
+
</Notification>
|
39
|
+
<TrackingNumber>403934084723025</TrackingNumber>
|
40
|
+
<TrackingNumberUniqueIdentifier>12013~403934084723025~FDEG</TrackingNumberUniqueIdentifier>
|
41
|
+
<StatusDetail>
|
42
|
+
<CreationTime>2014-01-08T00:00:00</CreationTime>
|
43
|
+
<Code>DL</Code>
|
44
|
+
<Description>Delivered</Description>
|
45
|
+
<Location>
|
46
|
+
<StreetLines>11304 E 33RD AVE</StreetLines>
|
47
|
+
<City>Spokane</City>
|
48
|
+
<StateOrProvinceCode>WA</StateOrProvinceCode>
|
49
|
+
<CountryCode>US</CountryCode>
|
50
|
+
<CountryName>United States</CountryName>
|
51
|
+
<Residential>false</Residential>
|
52
|
+
</Location>
|
53
|
+
<AncillaryDetails>
|
54
|
+
<Reason>014</Reason>
|
55
|
+
<ReasonDescription>Left at front door.Signature Service not requested.</ReasonDescription>
|
56
|
+
</AncillaryDetails>
|
57
|
+
</StatusDetail>
|
58
|
+
<CarrierCode>FDXG</CarrierCode>
|
59
|
+
<OperatingCompanyOrCarrierDescription>FedEx Ground</OperatingCompanyOrCarrierDescription>
|
60
|
+
<OtherIdentifiers>
|
61
|
+
<PackageIdentifier>
|
62
|
+
<Type>GROUND_SHIPMENT_ID</Type>
|
63
|
+
<Value>403934084723025</Value>
|
64
|
+
</PackageIdentifier>
|
65
|
+
</OtherIdentifiers>
|
66
|
+
<OtherIdentifiers>
|
67
|
+
<PackageIdentifier>
|
68
|
+
<Type>DEPARTMENT</Type>
|
69
|
+
<Value>31826722</Value>
|
70
|
+
</PackageIdentifier>
|
71
|
+
</OtherIdentifiers>
|
72
|
+
<Service>
|
73
|
+
<Type>GROUND_HOME_DELIVERY</Type>
|
74
|
+
<Description>FedEx Home Delivery</Description>
|
75
|
+
<ShortDescription>HD</ShortDescription>
|
76
|
+
</Service>
|
77
|
+
<PackageWeight>
|
78
|
+
<Units>LB</Units>
|
79
|
+
<Value>0.4</Value>
|
80
|
+
</PackageWeight>
|
81
|
+
<Packaging>Package</Packaging>
|
82
|
+
<PackagingType>YOUR_PACKAGING</PackagingType>
|
83
|
+
<PackageSequenceNumber>1</PackageSequenceNumber>
|
84
|
+
<PackageCount>1</PackageCount>
|
85
|
+
<OriginLocationAddress>
|
86
|
+
<City>CAMBRIDGE</City>
|
87
|
+
<StateOrProvinceCode>OH</StateOrProvinceCode>
|
88
|
+
<CountryCode>US</CountryCode>
|
89
|
+
<CountryName>United States</CountryName>
|
90
|
+
<Residential>false</Residential>
|
91
|
+
</OriginLocationAddress>
|
92
|
+
<ShipTimestamp>2014-01-03T00:00:00</ShipTimestamp>
|
93
|
+
<DestinationAddress>
|
94
|
+
<City>Spokane Valley</City>
|
95
|
+
<StateOrProvinceCode>WA</StateOrProvinceCode>
|
96
|
+
<CountryCode>US</CountryCode>
|
97
|
+
<CountryName>United States</CountryName>
|
98
|
+
<Residential>false</Residential>
|
99
|
+
</DestinationAddress>
|
100
|
+
<ActualDeliveryTimestamp>2014-01-08T12:53:10-08:00</ActualDeliveryTimestamp>
|
101
|
+
<ActualDeliveryAddress>
|
102
|
+
<City>Spokane</City>
|
103
|
+
<StateOrProvinceCode>WA</StateOrProvinceCode>
|
104
|
+
<CountryCode>US</CountryCode>
|
105
|
+
<CountryName>United States</CountryName>
|
106
|
+
<Residential>false</Residential>
|
107
|
+
</ActualDeliveryAddress>
|
108
|
+
<DeliveryAttempts>0</DeliveryAttempts>
|
109
|
+
<DeliverySignatureName>Signature not required</DeliverySignatureName>
|
110
|
+
<TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation>
|
111
|
+
<RedirectToHoldEligibility>INELIGIBLE</RedirectToHoldEligibility>
|
112
|
+
<Events>
|
113
|
+
<Timestamp>2014-01-08T12:53:10-08:00</Timestamp>
|
114
|
+
<EventType>DL</EventType>
|
115
|
+
<EventDescription>Delivered</EventDescription>
|
116
|
+
<StatusExceptionCode>014</StatusExceptionCode>
|
117
|
+
<StatusExceptionDescription>Left at front door. Signature Service not requested.</StatusExceptionDescription>
|
118
|
+
<Address>
|
119
|
+
<City>Spokane</City>
|
120
|
+
<StateOrProvinceCode>WA</StateOrProvinceCode>
|
121
|
+
<PostalCode>99206</PostalCode>
|
122
|
+
<CountryCode>US</CountryCode>
|
123
|
+
<CountryName>United States</CountryName>
|
124
|
+
<Residential>false</Residential>
|
125
|
+
</Address>
|
126
|
+
<ArrivalLocation>DELIVERY_LOCATION</ArrivalLocation>
|
127
|
+
</Events>
|
128
|
+
<Events>
|
129
|
+
<Timestamp>2014-01-08T06:33:00-08:00</Timestamp>
|
130
|
+
<EventType>OD</EventType>
|
131
|
+
<EventDescription>On FedEx vehicle for delivery</EventDescription>
|
132
|
+
<Address>
|
133
|
+
<City>SPOKANE</City>
|
134
|
+
<StateOrProvinceCode>WA</StateOrProvinceCode>
|
135
|
+
<PostalCode>99216</PostalCode>
|
136
|
+
<CountryCode>US</CountryCode>
|
137
|
+
<CountryName>United States</CountryName>
|
138
|
+
<Residential>false</Residential>
|
139
|
+
</Address>
|
140
|
+
<ArrivalLocation>VEHICLE</ArrivalLocation>
|
141
|
+
</Events>
|
142
|
+
<Events>
|
143
|
+
<Timestamp>2014-01-08T05:46:00-08:00</Timestamp>
|
144
|
+
<EventType>AR</EventType>
|
145
|
+
<EventDescription>At local FedEx facility</EventDescription>
|
146
|
+
<Address>
|
147
|
+
<City>SPOKANE</City>
|
148
|
+
<StateOrProvinceCode>WA</StateOrProvinceCode>
|
149
|
+
<PostalCode>99216</PostalCode>
|
150
|
+
<CountryCode>US</CountryCode>
|
151
|
+
<CountryName>United States</CountryName>
|
152
|
+
<Residential>false</Residential>
|
153
|
+
</Address>
|
154
|
+
<ArrivalLocation>DESTINATION_FEDEX_FACILITY</ArrivalLocation>
|
155
|
+
</Events>
|
156
|
+
<Events>
|
157
|
+
<Timestamp>2014-01-08T02:15:57-08:00</Timestamp>
|
158
|
+
<EventType>IT</EventType>
|
159
|
+
<EventDescription>In transit</EventDescription>
|
160
|
+
<Address>
|
161
|
+
<City>PASCO</City>
|
162
|
+
<StateOrProvinceCode>WA</StateOrProvinceCode>
|
163
|
+
<PostalCode>99301</PostalCode>
|
164
|
+
<CountryCode>US</CountryCode>
|
165
|
+
<CountryName>United States</CountryName>
|
166
|
+
<Residential>false</Residential>
|
167
|
+
</Address>
|
168
|
+
<ArrivalLocation>FEDEX_FACILITY</ArrivalLocation>
|
169
|
+
</Events>
|
170
|
+
<Events>
|
171
|
+
<Timestamp>2014-01-07T21:54:07-08:00</Timestamp>
|
172
|
+
<EventType>DP</EventType>
|
173
|
+
<EventDescription>Departed FedEx location</EventDescription>
|
174
|
+
<Address>
|
175
|
+
<City>TROUTDALE</City>
|
176
|
+
<StateOrProvinceCode>OR</StateOrProvinceCode>
|
177
|
+
<PostalCode>97060</PostalCode>
|
178
|
+
<CountryCode>US</CountryCode>
|
179
|
+
<CountryName>United States</CountryName>
|
180
|
+
<Residential>false</Residential>
|
181
|
+
</Address>
|
182
|
+
<ArrivalLocation>FEDEX_FACILITY</ArrivalLocation>
|
183
|
+
</Events>
|
184
|
+
<Events>
|
185
|
+
<Timestamp>2014-01-07T20:14:00-08:00</Timestamp>
|
186
|
+
<EventType>AR</EventType>
|
187
|
+
<EventDescription>Arrived at FedEx location</EventDescription>
|
188
|
+
<Address>
|
189
|
+
<City>TROUTDALE</City>
|
190
|
+
<StateOrProvinceCode>OR</StateOrProvinceCode>
|
191
|
+
<PostalCode>97060</PostalCode>
|
192
|
+
<CountryCode>US</CountryCode>
|
193
|
+
<CountryName>United States</CountryName>
|
194
|
+
<Residential>false</Residential>
|
195
|
+
</Address>
|
196
|
+
<ArrivalLocation>FEDEX_FACILITY</ArrivalLocation>
|
197
|
+
</Events>
|
198
|
+
<Events>
|
199
|
+
<Timestamp>2014-01-04T14:30:17-05:00</Timestamp>
|
200
|
+
<EventType>DP</EventType>
|
201
|
+
<EventDescription>Departed FedEx location</EventDescription>
|
202
|
+
<Address>
|
203
|
+
<City>GROVE CITY</City>
|
204
|
+
<StateOrProvinceCode>OH</StateOrProvinceCode>
|
205
|
+
<PostalCode>43123</PostalCode>
|
206
|
+
<CountryCode>US</CountryCode>
|
207
|
+
<CountryName>United States</CountryName>
|
208
|
+
<Residential>false</Residential>
|
209
|
+
</Address>
|
210
|
+
<ArrivalLocation>FEDEX_FACILITY</ArrivalLocation>
|
211
|
+
</Events>
|
212
|
+
<Events>
|
213
|
+
<Timestamp>2014-01-04T00:43:00-05:00</Timestamp>
|
214
|
+
<EventType>AR</EventType>
|
215
|
+
<EventDescription>Arrived at FedEx location</EventDescription>
|
216
|
+
<Address>
|
217
|
+
<City>GROVE CITY</City>
|
218
|
+
<StateOrProvinceCode>OH</StateOrProvinceCode>
|
219
|
+
<PostalCode>43123</PostalCode>
|
220
|
+
<CountryCode>US</CountryCode>
|
221
|
+
<CountryName>United States</CountryName>
|
222
|
+
<Residential>false</Residential>
|
223
|
+
</Address>
|
224
|
+
<ArrivalLocation>FEDEX_FACILITY</ArrivalLocation>
|
225
|
+
</Events>
|
226
|
+
<Events>
|
227
|
+
<Timestamp>2014-01-03T15:03:00-05:00</Timestamp>
|
228
|
+
<EventType>OC</EventType>
|
229
|
+
<EventDescription>Shipment information sent to FedEx</EventDescription>
|
230
|
+
<Address>
|
231
|
+
<PostalCode>43822</PostalCode>
|
232
|
+
<CountryCode>US</CountryCode>
|
233
|
+
<CountryName>United States</CountryName>
|
234
|
+
<Residential>false</Residential>
|
235
|
+
</Address>
|
236
|
+
<ArrivalLocation>CUSTOMER</ArrivalLocation>
|
237
|
+
</Events>
|
238
|
+
<Events>
|
239
|
+
<Timestamp>2014-01-03T00:00:00</Timestamp>
|
240
|
+
<EventType>PU</EventType>
|
241
|
+
<EventDescription>Picked up</EventDescription>
|
242
|
+
<Address>
|
243
|
+
<City>CAMBRIDGE</City>
|
244
|
+
<StateOrProvinceCode>OH</StateOrProvinceCode>
|
245
|
+
<PostalCode>43725</PostalCode>
|
246
|
+
<CountryCode>US</CountryCode>
|
247
|
+
<CountryName>United States</CountryName>
|
248
|
+
<Residential>false</Residential>
|
249
|
+
</Address>
|
250
|
+
<ArrivalLocation>PICKUP_LOCATION</ArrivalLocation>
|
251
|
+
</Events>
|
252
|
+
</TrackDetails>
|
253
|
+
</CompletedTrackDetails>
|
254
|
+
</TrackReply>
|