MODERATOR NOTE: Updated module posted here:
http://www.zen-cart.com/forum/showthread.php?t=97461



Changes for USPS prices and API's were announced and this word document was sent out. Is this a concern for the Zen-Cart 1.3.7 shipping calculator?

Code:
Dear customer,
 
On May 12, 2008 several APIs will be altered in response to the USPS Price Change (http://www.usps.com/prices/welcome.htm). While the APIs listed below will remain structurally and syntactically backward compatible, data changes are possibly substantial enough to affect some integrators. Please contact [email protected] (1-800-344-7779) with any specific schema or enumeration questions. 
 
 
Effective 5/12/2008, the APIs will consist of the following changes:
•         Integration of domestic and international price changes across all Web Tools APIs that use rates 
•         Merchandise Return API Insurance/Fee calculation updated for 2008 Price Change 
•         PriorityMail/StandardB API Service Standard data updated 
•         First Class Mail International API supports three shapes, machinability 
•         Deprecated GlobalLabelAirmail, GlobalLabelExpress APIs are no longer available
•         IntlRate API supports three First Class Mail International product shapes now (new enumerations), addition of optional machinable attribute
•         Signature Confirmation API reflects changed SC fee 
 
Most impacted will be the integrators using RateV2 and IntlRate as shown below. 
 
RateV2: Besides the price differences, there are new services and a renamed service.  This also changes the order of the services within the response.  Note that RateV2 is in maintenance-only mode and integrators should upgrade to RateV3 to obtain the latest features.
 
(AFTER 2008 Price Change)	(CURRENTLY IN PRODUCTION)
<RateV2Request USERID="xxx”>
  <Package ID="1">
    <Service>All</Service>
    <ZipOrigination>20905</ZipOrigination>
    <ZipDestination>21114</ZipDestination>
    <Pounds>1</Pounds>
    <Ounces>0</Ounces>
    <Container>Flat Rate Envelope</Container>
    <Size>Regular</Size>
    <Machinable>False</Machinable>
  </Package>
</RateV2Request>
 
<?xml version="1.0"?>
<RateV2Response>
  <Package ID="1">
    <ZipOrigination>20905</ZipOrigination>
    <ZipDestination>21114</ZipDestination>
    <Pounds>1</Pounds>
    <Ounces>0</Ounces>
    <Size>REGULAR</Size>
    <Machinable>FALSE</Machinable>
    <Zone>1, Intra-BMC</Zone>	<RateV2Request USERID="xxx”>
  <Package ID="1">
    <Service>All</Service>
    <ZipOrigination>20905</ZipOrigination>
    <ZipDestination>21114</ZipDestination>
    <Pounds>1</Pounds>
    <Ounces>0</Ounces>
    <Container>Flat Rate Envelope</Container>
    <Size>Regular</Size>
    <Machinable>False</Machinable>
  </Package>
</RateV2Request>
 
<?xml version="1.0"?>
<RateV2Response>
  <Package ID="1">
    <ZipOrigination>20905</ZipOrigination>
    <ZipDestination>21114</ZipDestination>
    <Pounds>1</Pounds>
    <Ounces>0</Ounces>
    <Size>REGULAR</Size>
    <Machinable>FALSE</Machinable>
    <Zone>1, Intra-BMC</Zone>
    <Postage>
      <MailService>Express Mail Sunday/Holiday Guarantee</MailService>
      <Rate>27.05</Rate>
    </Postage>
    <Postage>
      <MailService>Express Mail Flat-Rate Envelope Sunday/Holiday Guarantee</MailService>
      <Rate>29.00</Rate>
    </Postage>	 
    <Postage>
      <MailService>Express Mail Hold For Pickup</MailService>
      <Rate>14.55</Rate>
    </Postage>	    <Postage>
      <MailService>Express Mail PO to PO</MailService>
      <Rate>17.10</Rate>
    </Postage>
    <Postage>
      <MailService>Express Mail</MailService>
      <Rate>14.55</Rate>
    </Postage>	    <Postage>
      <MailService>Express Mail</MailService>
      <Rate>19.50</Rate>
    </Postage>
    <Postage>
      <MailService>Express Mail Flat-Rate Envelope Hold For Pickup</MailService>
      <Rate>16.50</Rate>
    </Postage>	 
    <Postage>
      <MailService>Express Mail Flat-Rate Envelope</MailService>
      <Rate>16.50</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail</MailService>
      <Rate>4.80</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail Flat-Rate Envelope</MailService>
      <Rate>4.80</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail Flat-Rate Box</MailService>
      <Rate>9.80</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail Large Flat-Rate Box</MailService>
      <Rate>12.95</Rate>
    </Postage>
    <Postage>
      <MailService>Parcel Post</MailService>
      <Rate>6.75</Rate>
    </Postage>
    <Postage>
      <MailService>Bound Printed Matter</MailService>
(AFTER 2008 Price Change)	(CURRENTLY IN PRODUCTION)
<IntlRateRequest USERID="xxx”>
  <Package ID="0">
    <Pounds>0</Pounds>
    <Ounces>10</Ounces>
    <MailType>Envelope</MailType>
    <ValueOfContents>1</ValueOfContents>
    <Country>Belgium</Country>
  </Package>
</IntlRateRequest>
 
<?xml version="1.0"?>
<IntlRateResponse>
  <Package ID="0">
    <Prohibitions>Bronze, copper, and nickel coins not legal tender<!--167 suppressed-->.</Prohibitions>
    <Restrictions>No list furnished.</Restrictions>
    <Observations>1. Priority Mail International parcels must have <!--781 suppressed-->.</Observations>
    <CustomsForms>First-Class Mail International items and Priority<!--150 suppressed-->)</CustomsForms>
    <ExpressMail>Country Code: BEReciprocal Service Name: Datapost<!--992 suppressed-->l</ExpressMail>
    <AreasServed>Please reference Express Mail for Areas Served.</AreasServed>	<IntlRateRequest USERID="xxx”>
  <Package ID="0">
    <Pounds>0</Pounds>
    <Ounces>10</Ounces>
    <MailType>Envelope</MailType>
    <ValueOfContents>1</ValueOfContents>
    <Country>Belgium</Country>
  </Package>
</IntlRateRequest>
 
<?xml version="1.0"?>
<IntlRateResponse>
  <Package ID="0">
    <Prohibitions>Bronze, copper, and nickel coins not legal tender<!--167 suppressed-->.</Prohibitions>
    <Restrictions>No list furnished.</Restrictions>
    <Observations>1. Priority Mail International parcels must have <!--781 suppressed-->.</Observations>
    <CustomsForms>First-Class Mail International items and Priority<!--150 suppressed-->)</CustomsForms>
    <ExpressMail>Country Code: BEReciprocal Service Name: Datapost<!--992 suppressed-->l</ExpressMail>
    <AreasServed>Please reference Express Mail for Areas Served.</AreasServed>
    <Service ID="4">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>52.00</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>1 - 3 Days</SvcCommitments>
      <SvcDescription>Global Express Guaranteed</SvcDescription>
      <MaxDimensions>Max. length 46", width 35", height 46" and max. length plus girth 108"</MaxDimensions>
      <MaxWeight>70</MaxWeight>
    </Service>
    <Service ID="5">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>52.00</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <Insurance>0.00</Insurance>
      <SvcCommitments>1 - 3 Days</SvcCommitments>
      <SvcDescription>Global Express Guaranteed Document</SvcDescription>
      <MaxDimensions>Max. length 46", width 35", height 46" and max. length plus girth 108"</MaxDimensions>
      <MaxWeight>70</MaxWeight>
    </Service>
    <Service ID="12">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>52.00</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <Insurance>0.00</Insurance>
      <SvcCommitments>1 - 3 Days</SvcCommitments>
      <SvcDescription>GXG Envelopes</SvcDescription>
      <MaxDimensions>Cardboard envelope has a dimension of 9 1/2" X 12<!--64 suppressed-->"</MaxDimensions>
      <MaxWeight>70</MaxWeight>
    </Service>
    <Service ID="1">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>30.50</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <Insurance>0.00</Insurance>
      <SvcCommitments>7 Days</SvcCommitments>
      <SvcDescription>Express Mail International (EMS)</SvcDescription>
      <MaxDimensions>Max.length 60", max. length plus girth 108"</MaxDimensions>
      <MaxWeight>66</MaxWeight>
    </Service>
    <Service ID="10">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>25.95</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <Insurance>0.00</Insurance>
      <SvcCommitments>7 Days</SvcCommitments>
      <SvcDescription>Express Mail International (EMS) Flat Rate Envelope</SvcDescription>
      <MaxDimensions>9 1/2" X 12 1/2"</MaxDimensions>
      <MaxWeight>66</MaxWeight>
    </Service>
    <Service ID="2">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>24.00</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <Insurance>2.45</Insurance>
      <ParcelIndemnityCoverage>1.00</ParcelIndemnityCoverage>
      <SvcCommitments>6 - 10 Days</SvcCommitments>
      <SvcDescription>Priority Mail International</SvcDescription>
      <MaxDimensions>Max.length 60", max. length plus girth 108"</MaxDimensions>
      <MaxWeight>66</MaxWeight>
    </Service>	    <Service ID="4">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>49</Postage>
      <ValueOfContents>1</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>1 - 3 Days</SvcCommitments>
      <SvcDescription>Global Express Guaranteed</SvcDescription>
      <MaxDimensions>Max. length 46", width 35", height 46" and max. length plus girth 108"</MaxDimensions>
      <MaxWeight>70</MaxWeight>
    </Service>
    <Service ID="5">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>49</Postage>
      <ValueOfContents>1</ValueOfContents>
      <Insurance>0</Insurance>
      <SvcCommitments>1 - 3 Days</SvcCommitments>
      <SvcDescription>Global Express Guaranteed Document</SvcDescription>
      <MaxDimensions>Max. length 46", width 35", height 46" and max. length plus girth 108"</MaxDimensions>
      <MaxWeight>70</MaxWeight>
    </Service>
    <Service ID="12">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>49</Postage>
      <ValueOfContents>1</ValueOfContents>
      <Insurance>0</Insurance>
      <SvcCommitments>1 - 3 Days</SvcCommitments>
      <SvcDescription>GXG Envelopes</SvcDescription>
      <MaxDimensions>Cardboard envelope has a dimension of 9 1/2" X 12<!--64 suppressed-->"</MaxDimensions>
      <MaxWeight>70</MaxWeight>
    </Service>
    <Service ID="1">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>30.5</Postage>
      <ValueOfContents>1</ValueOfContents>
      <Insurance>0</Insurance>
      <SvcCommitments>7 Days</SvcCommitments>
      <SvcDescription>Express Mail International (EMS)</SvcDescription>
      <MaxDimensions>Max.length 60", max. length plus girth 108"</MaxDimensions>
      <MaxWeight>66</MaxWeight>
    </Service>
    <Service ID="10">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>25</Postage>
      <ValueOfContents>1</ValueOfContents>
      <Insurance>0</Insurance>
      <SvcCommitments>7 Days</SvcCommitments>
      <SvcDescription>Express Mail International (EMS) Flat Rate Envelope</SvcDescription>
      <MaxDimensions>9 1/2" X 12 1/2"</MaxDimensions>
      <MaxWeight>66</MaxWeight>
    </Service>
    <Service ID="2">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>20</Postage>
      <ValueOfContents>1</ValueOfContents>
      <Insurance>2.4</Insurance>
      <ParcelIndemnityCoverage>1</ParcelIndemnityCoverage>
      <SvcCommitments>6 - 10 Days</SvcCommitments>
      <SvcDescription>Priority Mail International</SvcDescription>
      <MaxDimensions>Max.length 60", max. length plus girth 108"</MaxDimensions>
      <MaxWeight>66</MaxWeight>
    </Service>
    <Service ID="8">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>11.95</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>6 - 10 Days</SvcCommitments>
      <SvcDescription>Priority Mail International Flat Rate Envelope</SvcDescription>
      <MaxDimensions>USPS-supplied Priority Mail flat-rate envelope 9 <!--39 suppressed-->.</MaxDimensions>
      <MaxWeight>4</MaxWeight>
    </Service>	    <Service ID="8">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>11</Postage>
      <ValueOfContents>1</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>6 - 10 Days</SvcCommitments>
      <SvcDescription>Priority Mail International Flat Rate Envelope</SvcDescription>
      <MaxDimensions>USPS-supplied Priority Mail flat-rate envelope 9 <!--39 suppressed-->.</MaxDimensions>
      <MaxWeight>4</MaxWeight>
    </Service>
 	    <Service ID="3">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>8.8</Postage>
      <ValueOfContents>1</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>Varies</SvcCommitments>
      <SvcDescription>First-Class Mail International</SvcDescription>
      <MaxDimensions>Max. length 24", Max. length, height, depth combined 36"</MaxDimensions>
      <MaxWeight>64</MaxWeight>
    </Service>
    <Service ID="14">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>8.45</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>Varies</SvcCommitments>
      <SvcDescription>First Class Mail International Flats</SvcDescription>
      <MaxDimensions>Max. length 15", height 12 or more than 3/4" thick</MaxDimensions>
      <MaxWeight>4</MaxWeight>
    </Service>	 
    <Service ID="15">
      <Pounds>0</Pounds>
      <Ounces>10</Ounces>
      <MailType>Envelope</MailType>
      <Country>BELGIUM</Country>
      <Postage>8.65</Postage>
      <ValueOfContents>1.00</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>Varies</SvcCommitments>
      <SvcDescription>First Class Mail International Parcels</SvcDescription>
      <MaxDimensions>Max. length 24", max length, height and depth (thickness) combined 36"</MaxDimensions>
      <MaxWeight>4</MaxWeight>
    </Service>	 
  </Package>
</IntlRateResponse>	  </Package>
</IntlRateResponse>
 	 
 	 
      <Rate>2.15</Rate>
    </Postage>
    <Postage>
      <MailService>Media Mail</MailService>
      <Rate>2.23</Rate>
    </Postage>
    <Postage>
      <MailService>Library Mail</MailService>
      <Rate>2.12</Rate>
    </Postage>
  </Package>
</RateV2Response>	    <Postage>
      <MailService>Express Mail Flat-Rate Envelope</MailService>
      <Rate>16.25</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail</MailService>
      <Rate>4.60</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail Flat-Rate Envelope</MailService>
      <Rate>4.60</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail Flat-Rate Box</MailService>
      <Rate>8.95</Rate>
    </Postage>
    <Postage>
      <MailService>Priority Mail Large Flat-Rate Box</MailService>
      <Rate>12.95</Rate>
    </Postage>
    <Postage>
      <MailService>Parcel Post</MailService>
      <Rate>6.54</Rate>
    </Postage>
    <Postage>
      <MailService>Bound Printed Matter</MailService>
      <Rate>2.12</Rate>
    </Postage>
    <Postage>
      <MailService>Media Mail</MailService>
      <Rate>2.13</Rate>
    </Postage>
    <Postage>
      <MailService>Library Mail</MailService>
      <Rate>2.02</Rate>
    </Postage>
  </Package>
</RateV2Response>
 	 
 	 
 
 
IntlRate: Besides the price differences, the former First Class Mail International (FCMI) with Service ID=”3” is replaced with up to three nodes:  FCMI Letter ID=”13”, FCMI Flat ID=”14”, and FCMI Parcel ID=”15”.  In addition, currency values are returned in a two-decimal-place fixed format (was inconsistent before).
 
 
Additionally, there are a few subtle differences in First Class Mail International nodes returned for IntlRate:
 
•         Hyphen in name.  Was “First-Class” but now will be “First Class” as shown. 
•         MaxWeight in pounds.  Previously, all nodes returned <MaxWeight/> in pounds except for First Class Mail which was in ounces.  Now, they are all in pounds including FCMI. 
•         We already mentioned that the The currency values will be formatted to two decimal places. 
•         There are various changes to the text within <MaxDimensions/> and <SvcDescription/> as appropriate for the new shapes. 
 
 
More examples of FCMI shape nodes returned:

WILL BE (14-0)
    <Service ID="13">
      <Pounds>0</Pounds>
      <Ounces>3</Ounces>
      <MailType>Package</MailType>
      <Country>ALBANIA</Country>
      <Postage>2.54</Postage>
      <ValueOfContents>40.00</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>Varies</SvcCommitments>
      <SvcDescription>First Class Mail International Letters</SvcDescription>
      <MaxDimensions>Max. length 11.5", height 6 1/8" or more than 1/4" thick</MaxDimensions>
      <MaxWeight>0.2188</MaxWeight>
    </Service>
    <Service ID="14">
      <Pounds>0</Pounds>
      <Ounces>3</Ounces>
      <MailType>Package</MailType>
      <Country>ALBANIA</Country>
      <Postage>2.80</Postage>
      <ValueOfContents>40.00</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>Varies</SvcCommitments>
      <SvcDescription>First Class Mail International Flats</SvcDescription>
      <MaxDimensions>Max. length 15", height 12 or more than 3/4" thick</MaxDimensions>
      <MaxWeight>4</MaxWeight>
    </Service>
    <Service ID="15">
      <Pounds>0</Pounds>
      <Ounces>3</Ounces>
      <MailType>Package</MailType>
      <Country>ALBANIA</Country>
      <Postage>3.00</Postage>
      <ValueOfContents>40.00</ValueOfContents>
      <InsComment>DESTINATION</InsComment>
      <SvcCommitments>Varies</SvcCommitments>
      <SvcDescription>First Class Mail International Parcels</SvcDescription>
      <MaxDimensions>Max. length 24", max length, height and depth (thickness) combined 36"</MaxDimensions>
      <MaxWeight>4</MaxWeight>
    </Service>