美国地址验证(邮政编码+4位)

9
我有一个数据库,其中包含了一些邮政编码的信息,包括纬度、经度、州、城市、州FIPS代码、时区等。我想扩展这个数据库,并编写一个C#函数或T-SQL(SQL Server 2008)函数,以接收街道、城市、州和邮编,并返回邮编+4。我已经搜索了很多程序,但似乎没有一个可以让我查看它们的代码并根据我的需求进行改进的程序。是否有人知道一个开源的解决方案,可以做到这一点,或者指导我如何制作一个开源版本?
3个回答

6
可能最容易使用的解决方案是美国邮政服务的地址 API (http://www.usps.com/webtools/htm/Address-Information.htm#_Toc131231396)。关于清洗数据库的用法有点模糊(如果你问他们,似乎他们也故意保持模糊),但一旦你获得批准,发送数据并收到完全验证、100%合规和最新地址非常容易。从 USPS 收到数据后,你只需在将其重新插入数据库之前根据需要添加/减去/补充即可。例如,你可以从已验证的地址或数据库中 Geocode,然后将该数据附加到接收到的数据中,循环插入。
我正在我的一个应用程序上使用它来验证传入的查询,它已经被证明几乎 100% 可靠,为我纠正了所需内容。

USPS API是一种基于XML的Web服务——既可以发送也可以接收。它非常快速。 - marklark
只要您是为通过USPS邮寄而进行验证,TOS允许使用他们的服务。 - Matt

3

关于USPS免费API需要注意的一点是,他们的许可证规定返回的数据只能用于通过USPS发送物品。我们需要ZIP+4数据,但我们使用其他承运人发货,因此这意味着我们不能使用免费服务。


仔细阅读USPS协议可以发现,它不允许“批量”清理您的地址数据,但允许您清理来自Web表单的数据——无论将来如何使用。 - marklark
1
哎,"用户同意仅使用USPS网站、API和USPS数据来促进USPS运输交易。[2012年1月27日]"非常清晰明了。 - Matt

1

我在一家叫做SmartyStreets的公司工作;我们提供邮政地址验证服务,并且已经通过USPS的CASS认证。然而,与USPS的API、Google的API和其他API不同,我们没有许可限制。我们甚至有一个免费版本。

你可能会对尝试LiveAddress感兴趣……如果你有任何问题,我可以帮助你实现它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接