table of contents
Business::US::USPS::WebTools::TrackConfirm(3pm) | User Contributed Perl Documentation | Business::US::USPS::WebTools::TrackConfirm(3pm) |
NAME¶
Business::US::USPS::WebTools::TrackConfirm - track a shipment using the USPS Web ToolsSYNOPSIS¶
use Business::US::USPS::WebTools::TrackConfirm; my $tracker = Business::US::USPS::WebTools::TrackConfirm->new( { UserID => $ENV{USPS_WEBTOOLS_USERID}, Password => $ENV{USPS_WEBTOOLS_PASSWORD}, Testing => 1, } ); my $hash = $tracker->track( ); if( $tracker->is_error ) { warn "Oh No! $tracker->{error}{description}\n"; } else { print join "\n", map { "$_: $hash->{$_}" } qw(FirmName Address1 Address2 City State Zip5 Zip4); }
DESCRIPTION¶
*** THIS IS ALPHA SOFTWARE ***This module implements the Track & Confirm web service from the US Postal Service. It is a subclass of Business::US::USPS::WebTools.
- track( KEY, VALUE, ... )
- The "track" method takes the following
keys, which come directly from the USPS web service interface:
TrackID The tracking number
It returns an anonymous hash with the data from the response. Although the USPS API allows one to make multiple queries in a single request, this method one queries one.
If you want to see if something went wrong, check:
$tracker->is_error;
See the "is_error" documentation in Business::US::USPS::WebTools for more details on error information.
- tracking_number_regex
- Returns the regex that checks a tracking number. I have it in its own
method so you can easily override it if I got it wrong.
The USPS shows the valid forms at
https://tools.usps.com/go/TrackConfirmAction!input.action USPS Tracking® 9400 1000 0000 0000 0000 00 Priority Mail® 9205 5000 0000 0000 0000 00 Certified Mail® 9407 3000 0000 0000 0000 00 Collect on Delivery 9303 3000 0000 0000 0000 00 Global Express Guaranteed® 82 000 000 00 Priority Mail Express International™ EC 000 000 000 US Priority Mail Express™ 9270 1000 0000 0000 0000 00 EA 000 000 000 US Priority Mail International® CP 000 000 000 US Registered Mail™ 9208 8000 0000 0000 0000 00 Signature Confirmation™ 9202 1000 0000 0000 0000 00
- is_valid_tracking_number( ID )
- Returns a normalized version of the tracking number if ID looks like a
tracking number, based on the regex from
"tracking_number_regex". Returns false
otherwise.
Normalizing ID merely removes all whitespace. Sometimes the USPS shows the numbers with whitespace.
- service_type( ID )
- Returns the service type, based on the examples shown by the USPS and shown in "tracking_number_regex". I know this is wrong because I have tracking numbers that don't have the same leading characters for Priority Mail International.
TO DO¶
SEE ALSO¶
Business::US::USPS::WebToolsThe WebTools API is documented on the US Postal Service's website:
https://www.usps.com/business/web-tools-apis/track-and-confirm-api.htm
SOURCE AVAILABILITY¶
This source is in GitHub:https://github.com/briandfoy/business-us-usps-webtools
AUTHOR¶
brian d foy, "<bdfoy@cpan.org>"COPYRIGHT AND LICENSE¶
Copyright © 2006-2016, brian d foy <bdfoy@cpan.org>. All rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2021-05-22 | perl v5.28.1 |