我有5位数的邮政编码,这些邮政编码是从Google Maps Api中检索的。
我的困境是我必须连接到一个也包含地址的远程数据库。如果该数据库中不存在该地址,我必须编写它,如果它存在,那么除了存储数据库已分配给该地址的ID之外,我什么都不做。问题出现了,因为检查此数据库的api不带通配符,该数据库中的地址有9位邮政编码(5 + 4),并且不会返回地址的其余部分与我的地址匹配5位邮政编码。< / p>
远程系统会告诉我该地址与我发送的地址不存在。
因此,为防止将重复地址写入数据库,我需要在发送之前找到我所拥有的9位数字版本的邮政编码。
如何做到这一点?是否有确定5位数地址的最后4位数的公式? USPS是否有API?人口普查是否有一张巨大的桌子?
洞察力赞赏
答案 0 :(得分:5)
如果您使用USPS发送邮件,则只允许您使用USPS API获取信息...
但你可以查看SmartyStreets(我曾经在那里工作)或其他CASS认证的供应商。他们获得了地址验证许可,您还可以在没有地址的情况下执行城市州和邮政编码查询(取决于您选择的人)。
我认为您会发现它们比默认的USPS网络服务更容易,更全面。
以下是一些示例代码...请选择:https://github.com/smartystreets/LiveAddressSamples
答案 1 :(得分:2)
美国邮政局有a number of APIs。他们的“地址信息API”包括:
地址标准化
消除寻址错误并帮助确保准确及时的交付。此工具可纠正街道地址中的错误,包括缩写和缺失信息。它还提供ZIP +4®代码。
ZIP Code™查询
查找美国境内任何特定地址,城市和州的匹配邮政编码或ZIP + 4代码。
城市/州查找
使用邮政编码获取准确的城市和州信息。