2

我正在使用 UPS API 进行地址验证。我对这个 API 很陌生,刚刚开始学习。

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

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

如果我同时提供州和邮政编码,它工作得很好。

4

4 回答 4

1

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

于 2012-05-17T21:12:46.180 回答
0

如果您为政治部门 1 和政治部门 2 提供空白值,则返回的结果应包括城市和州。您仍然必须提供有效地址。

于 2012-05-17T17:08:42.070 回答
0

在 C++ 应用程序中,街道地址验证器 UPS API 中使用了以下 XML 输入。请使用适当的许可证号、用户 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>
于 2017-05-02T07:16:17.960 回答
0

除了 UPS API 之外,另一个潜在的解决方案是服务对象地址验证 Web 服务。完全披露,我为 Service Objects 工作,但 Web 服务客观上符合您的需求。

它可以仅使用 address1 和 zipcode 字段来处理地址。Web 服务可以验证信息、附加城市、州、邮编+4、记录任何更正/更改,并提供指示地址可交付性的交付点验证 (DPV) 代码。下面是显示实际服务响应的示例输入和输出。

如果您有兴趣试用 API,可以使用免费试用密钥进行测试。您想了解更多关于技术细节的详细信息,请查看开发人员指南

示例输入:

地址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
}
于 2020-01-23T18:26:46.920 回答