我正在使用UPS API进行地址验证。我是这个API的新手,刚刚开始学习。
我想仅根据邮政编码验证地址,即我不想提供州名。它在测试集成环境中不起作用。有什么帮助吗?
我想仅使用街道地址和邮政编码验证地址。我不想供应国家和地区。城市名称。那可能吗?到目前为止还没有工作。
如果我同时提供State& Zipcode它工作得很好。
答案 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
}