The USPS is updating their payment estimate API on January 22, 2012 to match their new pricing structure. Is the uc_usps module going to be updated to match?

(Obviously, this applies to all supported versions, not just 7.)

Members fund testing for the Drupal project. Drupal Association Learn more


TR’s picture

Do you have a link for this change? I don't know what you mean by "payment estimate API" - there's no USPS API with that name.

vomitHatSteve’s picture

Sorry, the Rate Calculators API is what they call it:
Some of their other APIs may change too, but I suspect the Rate Calculators one is the primary concern as far as UC is concerned.

They've also published Federal Register Notices about it, but those are pretty incomprehensible.

And here is the email that they sent us regarding the change:

On January 22, 2012, USPS will update domestic shipping
services and international pricing and product features. For detailed
information on prices and new product features, please reference the
Federal Register Notices viewable at

Price Change updates will be available in the Web Tools testing environment
for integrator access on or around January 6, 2012. The test environment
can be accessed, using your production UserID, via the following URL
scheme, host and path:

Secure APIs:

Non-secure APIs:

Please note that the changes below are intended to be backwards compatible,
however, may not be depending on how individual programs are integrated
with the APIs.

Web Tools APIs will be affected in the following manner:

· All Web Tools APIs with postage prices incorporated will be
updated to reflect the price changes;

· Domestic Rate Calculator API Changes:

o New request enumerations added to RateV4 to support
the USPS product offerings and prices listed in the Federal Register Notice:

§ FLAT RATE BOX (Express Mail Flat Rate Box),

§ REGIONALRATEBOXC (Priority Mail Regional Rate Box C);

o New request enumeration added to RateV4:


o Optional tag added to RateV4 to return “Loss
Guarantee Only” commitment information when an Express Mail Commitment is
requested to certain destinations

o First-Class Mail Package response values updated in
RateV3 and RateV4 as follows:

§ Postage CLASSID="0" - Retail Pricing

First-Class Mail® Package will become:

First-Class Mail® Parcel,

§ Postage CLASSID="61" - Commercial Pricing

First-Class Mail® Package will become:

First-Class Mail® Package Service;

o New response nodes in RateV3 and RateV4 to support the USPS
product offerings and prices listed in the Federal Register Notice (Express
Mail Flat Rate Box and Priority Mail Regional Rate Box C, specifically);

o Rate and RateV2 responses will be modified to:

§ Return trademarked product names,

§ Enforce dimensional requirements through error messaging for
large, oversize and S-restricted destinations.

· All Rate Calculator API integrators are encouraged to migrate to
the latest API versions (RateV4, IntlRateV2):

o Rate and RateV2 versions of the domestic Rate Calculator will be
retired on March 31, 2012, requiring all integrators to migrate to the
latest versions;

· International Rate Calculator API:

o New response nodes in IntlRate and IntlRateV2 to support the USPS
product offerings and prices listed in the Federal Register Notice (Express
Mail Flat Rate Box, specifically);

· Express Mail Label and Hold For Pickup Express APIs:

o New request data tags to support the Express Mail Flat
Rate Box;


· Delivery Confirmation and Signature Confirmation APIs:

o New request data tags to support the Priority Mail
Regional Rate Box C;


· Express Mail International API:

o New request data tags to support the Express Mail Flat
Rate Box:


Please contact the USPS Internet Customer Care Center with any questions or
concerns at ##REDACTED##.

- Web Tools Program Office

TR’s picture

Assigned: Unassigned » TR

Yes, based on the above (and following the links) it looks like the USPS module will have to make some small changes. However, because USPS has not made the new API documentation available yet, I don't know what exactly this will affect.

Once again USPS is making changes to the form of the API request and response without changing the API version, which is a huge mistake. If they would simply change the version number when they made changes like this they could support old-version and new-version API calls simultaneously for a period of time until they phased out the old version. As it is, code that works with RateV4 will suddenly stop working on 22 Jan, which means every single Ubercart shop that uses USPS will have to deploy a new version of the USPS module exactly on 22 Jan. This goes for every other shopping cart software too!

I'll call them on Tuesday when they reopen after the holiday and see if I can get an advance copy of the new documentation.

Thanks for bringing this to my attention. I'm on the mailing list for changes like this, but I haven't received a notice yet ...

TR’s picture

Tech support does not have access to the new API documentation. They have escalated my request.

TR’s picture

Another frustrating call with USPS. They will not make the new API documentation available until 22 Jan when the new API goes into effect.

So I guess we're just going to have to wait until then, see what breaks, then try to fix it in a timely manner.

j0rd’s picture

I have a client who needs the way their USPS shipping is handled. I can assist with this integration, if someone could provide me with some documentation.

@TR, is the plan to create the new version with packaging module, or should we update the module with out it, then update it to integrate with packaging later.

If you let me know the game plan and give me some documentation, I can help. I'm planning to write a custom USPS for this client, so I might as well do this on the latest and greatest API, then make it available to everyone.

I've emailed both and trying to get the latest and greatest documentation.

For those who are interested in the links in questions, you can find more information here:

About the change in prices & api:

USPS Webtools API:

TR’s picture

The changes listed in #2 are relatively minor - this is NOT a new API, and is not significantly different from the old API. For the most part, the changes are to add additional capability to the API, which will not affect the uc_usps module. The only change I think will affect us is the change to the "First-Class Mail Package response values", which will probably break some First-class quote responses.

However, there is STILL no new version of the API published, so I don't have any specific information about the changes other than the general information listed in #2.

@j0rd: The Packaging module will not be incorporated into the USPS module for Ubercart 7.x-3.0, but may be in later versions of 7.x-3.x. I personally won't be tackling that until after I've had some experience integrating and using it in my own (not Ubercart core) shipping modules (uc_fedex, uc_canadapost, and uc_canpar).

vomitHatSteve’s picture

The big change that leaped out at me from what was listed in #2 is that the dimensions of packages marked as machinable have changed.

Thank you for staying on top of this, TR.

strings6’s picture

170.24 KB


Just thought I'd contribute by sharing the error that one of my clients is getting with Ubercart 6.x-2.7 since USPS changed things on 1/22/2012.

Customers are having problems placing orders from the US Territories shipping through USPS. These territories include the Federated States of Micronesia, Guam, Marshall Islands, Northern Mariana Islands, Palau, Puerto Rico, Virgin Islands.

Customers are receiving the following message for the shipping quote:

RECTANGULAR is an invalid container type for a REGULAR package and ALL service.

There were problems getting a shipping quote. Please verify the delivery and product information and try again. If this does not resolve the issue, please call in to complete your order.

Hope that helps in whatever efforts you are doing, and if you have any additional questions for me let me know.
The website this is affecting is

vomitHatSteve’s picture

+1 We are seeing the same error.

sah62’s picture

627 bytes

The attached patch file describes a fix for the first class package/parcel change.

TR’s picture

Committed #11 to 7.x-3.x and 6.x-2.x. There is still no documentation available for the API changes, but I have verified that this name has been changed in the USPS response.

TR’s picture

Re: #9 and #10, that looks like an old problem. The fix at should work.

strings6’s picture

Thank you TR, I missed that old issue so thank you for pointing that out. That did in fact fix the issue from my post #9.

One remaining USPS error I am aware of on our site is one that comes up when a user has a Great Britain or New Zealand address (those are the countries we are aware of so far):

warning: Missing argument 2 for theme_uc_usps_option_label() in /home/info/web/jstyle/1409/sites/all/modules/ubercart/shipping/uc_usps/uc_usps.module on line 490.
Invalid option selected. Recalculate shipping quotes to continue.
strings6’s picture

Just an update, we figured out that the "Invalid option selected. Recalculate shipping quotes to continue." error I posted in #14 was related to this:

TR’s picture

Status: Active » Fixed

There is still no new documentation available, and USPS insists none is needed. The patch in #11, which was already committed, seems to have addressed the only problem reported so far. So I'm going to close this issue as fixed. If there are additional problems with USPS, related to this change or not, please open a new issue.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

pauloberoi’s picture

Hi vomitHatSteve,

I am having an ecommerce site as well, and I was screwed too just like you... you know I was crazy for searching for any solution or a documentation, but on any forum tech forum , its just nothing.. :(

But one of my friend forwarded me a post which really helped me..

I am not a programmer and I just want to stay away from it...

I browsed this forum few days back when I was searching for a solution, but I notice still no solution have been posted here so far by any big techy guys... So thought to share what helped me..

If you think I helped you.. only a thanks msg will be apprecitaed mate.. :))