2013-02-22 126 views
5

我有5位数的邮政编码,这些邮政编码从Google Maps Api中检索。从5位数的邮政编码,编程,api获取9位数的邮政编码

我的两难处境是我必须连接到一个远程数据库,该数据库也包含地址。如果地址不存在于该数据库中,则必须写入该地址,如果存在,则除了存储数据库分配给该地址的ID之外,我什么也不做。问题出现了,因为api检查这个数据库不需要通配符,该数据库中的地址有9位数的邮政编码(5 + 4),并且不会返回地址的其余部分与我的地址与5位邮政编码相匹配。

远程系统会告诉我,地址不存在与我发送的地址。

因此,为了防止将重复地址写入数据库,我需要在发送邮件之前找到9位数的邮政编码版本。

这将如何完成?是否有一个公式来确定5位数字地址的最后4位数字是什么? USPS是否有API?人口普查有一张巨大的桌子吗?

Insight赞赏

+0

呀,USCB有一个“巨人表”,但它在shape文件的形式,由城市打破。我看过他们,并用Python脚本来使用它们。 (有趣的男孩!)实际上,USCB并没有使用邮政编码来处理他们的数据,但是由于大众的需求,已经创建了“ZCTA”(邮政编码制表区),试图将他们的人口普查区块链接到邮政编码。无论如何,这是琐事,可能不是你要找的。 – Matt 2013-02-22 22:06:21

回答

5

你只能使用USPS API的信息,如果您使用的是美国邮政发出的邮件...

但是你可以检查出SmartyStreets(我曾经在那里工作)或其他CASS-认证供应商。他们获得地址验证许可,并且您还可以执行城市状态和邮政编码查找,而不需要地址(取决于您选择的人员)。

我想你会发现它们比默认的USPS网络服务更容易和更全面。

下面是一些示例代码...你挑:https://github.com/smartystreets/LiveAddressSamples

2

美国邮政服务有a number of APIs。他们的“地址信息的API”包括:

地址标准化

消除寻址错误,并帮助确保准确及时的交货。此工具可更正街道地址中的错误,包括缩写和缺少的信息。它还提供ZIP +4®代码。

邮政编码™查找

查找邮政编码匹配邮政编码或ZIP + 4码在任何给定的地址,城市,州美国

城市/州查找

使用获取准确的城市和州信息。

Address Information APIs require permission to use

+1

的确如此,但只有通过USPS进行邮寄时才允许这样做。请参阅他们的服务条款。 – Matt 2013-02-22 22:04:19