仅使用Zipcode进行UPS地址验证

时间:2012-05-16 03:42:05

标签: validation street-address ups

我正在使用UPS API进行地址验证。我是这个API的新手,刚刚开始学习。

  1. 我想仅根据邮政编码验证地址,即我不想提供州名。它在测试集成环境中不起作用。有什么帮助吗?

  2. 我想仅使用街道地址和邮政编码验证地址。我不想供应国家和地区。城市名称。那可能吗?到目前为止还没有工作。

  3. 如果我同时提供State& Zipcode它工作得很好。

4 个答案:

答案 0 :(得分:0)

如果您为PoliticalDivision1和PoliticalDivision2提供空值,则返回的结果应包括城市和州。您仍必须提供有效的地址。

答案 1 :(得分:0)

您对UPS API的承诺程度如何?我的经验是,如果他们已经没有API,那么很快就不会发生。还有其他可用的API,可让您仅根据地址和邮政编码验证地址。通常,如果您有正确的邮政编码,则无需提供城市或州。地址验证所需的最低要求是街道地址和邮政编码或街道地址和城市/州。每个月需要验证多少个地址?如果您不需要很多,可以使用许多免费的API。国家地址服务器是一个,SmartyStreets.com是另一个。 (我在SmartyStreets.com工作。)

答案 2 :(得分:0)

在C ++应用程序中,以下XML输入用于街道级地址验证器UPS API。请使用适当的许可证号,用户ID和密码。

<?xml version=\"1.0\"?>
<AccessRequest   xml:lang=\"en-US\"><AccessLicenseNumber>{LicenceNo}</AccessLicenseNumber><UserId>{UserId}</UserId><Password>{Passwd}</Password></AccessRequest>
<?xml version=\"1.0\"?>
<AddressValidationRequest xml:lang=\"en-US\">
  <Request><TransactionReference><CustomerContext>Your Test Case Summary Description</CustomerContext><XpciVersion>1.0</XpciVersion></TransactionReference><RequestAction>XAV</RequestAction><RequestOption>3</RequestOption>
  </Request>
  <AddressKeyFormat><AddressLine>608 E. Evergreen Rd</AddressLine><PoliticalDivision2>LEBANON</PoliticalDivision2>    <PoliticalDivision1>PA</PoliticalDivision1><PostcodePrimaryLow>17042</PostcodePrimaryLow><CountryCode>US</CountryCode> </AddressKeyFormat>
</AddressValidationRequest>

并收到以下输出。

<?xml version=\"1.0\"?>
<AddressValidationResponse>
  <Response>
    <TransactionReference><CustomerContext>Your Test Case Summary Description</CustomerContext> <XpciVersion>1.0</XpciVersion></TransactionReference> <ResponseStatusCode>1</ResponseStatusCode><ResponseStatusDescription>Success</ResponseStatusDescription>
  </Response>
  <ValidAddressIndicator/>
  <AddressClassification><Code>1</Code><Description>Commercial</Description></AddressClassification>
  <AddressKeyFormat><AddressClassification><Code>1</Code><Description>Commercial</Description></AddressClassification><AddressLine>608 E EVERGREEN RD</AddressLine><Region>LEBANON PA 17042-7925</Region><PoliticalDivision2>LEBANON</PoliticalDivision2><PoliticalDivision1>PA</PoliticalDivision1><PostcodePrimaryLow>17042</PostcodePrimaryLow><PostcodeExtendedLow>7925</PostcodeExtendedLow><CountryCode>US</CountryCode></AddressKeyFormat>
</AddressValidationResponse>

答案 3 :(得分:0)

除UPS API外,另一个潜在的解决方案是服务对象地址验证Web服务。完全公开,我为Service Objects工作,但是Web服务客观地满足您的需求。

它只能使用address1和zipcode字段处理地址。该Web服务可以验证信息,附加城市,州,邮政编码+4,记录所有更正/更改并提供指示地址可传递性的传递点验证(DPV)代码。以下是显示实际服务响应的示例输入和输出。

如果您想试用API,可以使用free trial key进行测试。您想获得有关具体技术细节的更多信息,请查看Developer Guide

示例输入:

地址1:27 E Cota St Ste 500

邮政编码:93101

{
  "Addresses":[
      {
        "Address1":"27 E Cota St Ste 500",
        "Address2":"",
        "City":"Santa Barbara",
        "State":"CA",
        "Zip":"93101-7602",
        "IsResidential":"false",
        "DPV":"1",
        "DPVDesc":"Yes, the input record is a valid mailing address",
        "DPVNotes":"26,28,39",
        "DPVNotesDesc":"The input address matched the ZIP+4 record,The input address matched the DPV record,Highrise apartment\/office building address",
        "Corrections":"10,23",
        "CorrectionsDesc":"City change,State change",
        "BarcodeDigits":"931017602254",
        "CarrierRoute":"C006",
        "CongressCode":"24",
        "CountyCode":"083",
        "CountyName":"Santa Barbara",
        "FragmentHouse":"27",
        "FragmentPreDir":"E",
        "FragmentStreet":"Cota",
        "FragmentSuffix":"St",
        "FragmentPostDir":"",
        "FragmentUnit":"Ste",
        "Fragment":"500",
        "FragmentPMBPrefix":"",
        "FragmentPMBNumber":""
      }
  ],
  "IsCASS":true
}