Search code examples
xmlusps

USPS - How do I get international shipping rates via the API?


I am trying to get international shipping rate quotes via the USPS API at http://production.shippingapis.com/ShippingAPI.dll I have a username and account number and can use the API successfully for domestic rate quotes. I can't find the info for international rate quotes though.

The USPS site seems to go nowhere and certainly isn't helping find what I need.

Here is a link the the USPS development Guide PDF. I do not see anything about international shipping. https://www.usps.com/webtools/_pdf/Development-Guide-v3-1.pdf

Do you where I can the info about getting USPS international shipping rate quotes?


Solution

  • There are various API's I think. Looking at the Ecommerce API Technical Guides Website for USPS.COM. I see this Rate Calulator techinical guide:

    The call is of the type :

    http://production.shippingapis.com/ShippingAPI.dll?API=InitRateV2&XML= ...
    

    And there are specs and sample calls there.

    this is a sample request:

    <IntlRateV2Request USERID="xxx">
      <Package ID="1ST">
        <Pounds>15</Pounds>
        <Ounces>0</Ounces> 
        <Machinable>True</Machinable> 
        <MailType>Package</MailType>
        <GXG>
              <POBoxFlag>Y</POBoxFlag>
              <GiftFlag>Y</GiftFlag>
        </GXG>
        <ValueOfContents>200</ValueOfContents>
        <Country>Canada</Country>
        <Container>RECTANGULAR</Container>
        <Size>LARGE</Size>
        <Width>10</Width>
        <Length>15</Length>
        <Height>10</Height>
        <Girth>0</Girth>
        <CommercialFlag>N</CommercialFlag>
      </Package>
      <Package ID="2ND">
        <Pounds>0</Pounds>
        <Ounces>3</Ounces>
        <MailType>Envelope</MailType>
        <ValueOfContents>750</ValueOfContents>
        <Country>Algeria</Country>
        <Container></Container>
        <Size>REGULAR</Size>
        <Width></Width>
        <Length></Length>
        <Height></Height>
        <Girth></Girth>
        <CommercialFlag>N</CommercialFlag> 
      </Package>
    </IntlRateV2Request> 
    

    A sample response is quite large and is in the docs, but look something like

    <IntlRateV2Response>
       <Package ID="1ST">
        <Prohibitions>An issue of a publication <!--2143 suppressed-->.</Prohibitions>  
        <Restrictions>Coins; banknotes; curren<!--1558 suppressed--> </Restrictions>  
        <Observations>1. Banknotes valued at <!--3059 suppressed-->.</Observations>  
        <CustomsForms>First-Class Mail Intern <!--358 suppressed-->)</CustomsForms>  
        <ExpressMail>Country Code: CA Recipro<!--2036 suppressed--> </ExpressMail>  
        <AreasServed>Please reference Express Mail for Areas Served.</AreasServed>  
        <AdditionalRestrictions>No Additional Restrictions Data found.</AdditionalRestrictions>  
          <Service ID="4">
            <Pounds>15</Pounds>  
          <Ounces>0</Ounces>  
          <Machinable>True</Machinable>  
          <MailType>Package</MailType>  
              <GXG>
            <POBoxFlag>Y</POBoxFlag>          <GiftFlag>Y</GiftFlag>  
          </GXG>
          <Container>RECTANGULAR</Container>  
          <Size>LARGE</Size>  
          <Width>10</Width>  
          <Length>15</Length>  
          <Height>10</Height>  
          <Girth>0</Girth>  
          <Country>CANADA</Country>  
          <Postage>112.50</Postage>  
             <ExtraServices>
                <ExtraService>
              <ServiceID>1</ServiceID>  
              <ServiceName>Insurance</ServiceName>  
              <Available>True</Available>  
              <Price>1.00</Price>  
            </ExtraService>
          </ExtraServices>
          <ValueOfContents>200.00</ValueOfContents>  
          <SvcCommitments>1 - 3 business days</SvcCommitments>  
          <SvcDescription>Global Express Guaranteed&lt;sup&gt;&amp;reg;&lt;/sup&gt; (GXG)**</SvcDescription>  
          <MaxDimensions>Max. length 46", width 35", height 46" and max. length plus girth combined 108"</MaxDimensions>  
          <MaxWeight>70</MaxWeight>  
       </Service> 
    </Package>
    </IntlRateV2Response>