我正在使用 UPS API 进行地址验证。我对这个 API 很陌生,刚刚开始学习。
我想验证仅基于邮政编码的地址,即我不想提供州名。它在测试集成环境中不起作用。有什么帮助吗?
我想仅使用街道地址和邮政编码来验证地址。我不想提供州和城市名称。那可能吗?到目前为止还没有工作。
如果我同时提供州和邮政编码,它工作得很好。
我正在使用 UPS API 进行地址验证。我对这个 API 很陌生,刚刚开始学习。
我想验证仅基于邮政编码的地址,即我不想提供州名。它在测试集成环境中不起作用。有什么帮助吗?
我想仅使用街道地址和邮政编码来验证地址。我不想提供州和城市名称。那可能吗?到目前为止还没有工作。
如果我同时提供州和邮政编码,它工作得很好。
您对 UPS API 的投入程度如何?我的经验是,如果他们在 API 中没有它,它不会很快发生。还有其他可用的 API 可让您仅根据地址和邮政编码验证地址。通常,如果您的邮政编码正确,则无需提供城市或州。地址验证所需的最低要求是街道地址和邮政编码或街道地址和城市/州。每个月需要验证多少个地址?如果您不需要很多,可以使用许多免费的 API。全国地址服务器是一个,SmartyStreets.com 是另一个。(我在 SmartyStreets.com 工作。)
如果您为政治部门 1 和政治部门 2 提供空白值,则返回的结果应包括城市和州。您仍然必须提供有效地址。
在 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>
除了 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
}