我们的观点

邮政编码值得比现在更多的重视

问一个位置 API 有哪些功能,通常地理编码排在首位,IP 查询紧随其后,邮政编码则出现在靠近底部的某个位置,只用一行文字描述,仿佛把邮政编码解析为地点、或把地点解析为邮政编码,是一种只有一个显而易见答案的简单查询。事实并非如此。各国的邮政体系差异巨大:有的把行政层级直接编码在数字中,有的是字母数字混合,有的覆盖一个街区大小的区域,有的则覆盖一个小国大小的区域。把它当作一个次要的工具端点,低估了它背后真实存在的大量结构。

我们把邮政编码查询构建为与地理编码、IP、时区和海拔并列的一等端点,而不是附加在地理编码响应上的附带功能。它的定价与其他所有端点相同:包含在每日免费配额内,超出后同样按每次请求 €0.0001 计费,或者使用同样 €50 的 Unlimited 密钥。我们没有单独的“工具端点”档位,不会把邮政编码查询视为次要功能、只值较低的价格,并且暗含地只值得较少的工程投入。

邮政编码被低估的部分原因在于:在某些国家,邮政体系是固定位数的数字,清晰地对应一个小区域,从那里看它显得很简单。但这种简单并不具有普遍性。邮政编码查询需要真正处理不同国家存在的各种格式和行政含义,而不仅仅是构建该功能的人最熟悉的那种模式。一个悄悄把某个国家的邮政格式当作默认值、把其他一切都视为边缘情况的 API,并不是真正提供全球邮政编码支持,而是提供了一个国家的体系,外加勉强拼接上去的有限覆盖。

这在实际中的影响很容易被忽视,直到出现问题。运费计算、税务管辖区查询、服务区域检查和地区定价,都依赖于正确处理邮政编码这一层,而且往往比依赖完整的街道级地理编码更直接。运费报价通常不需要精确到屋顶的地址,它需要的是一个正确、并且始终一致地解析出来的邮政区域。把它当作相对于完整地理编码的次要功能,对许多实际应用来说恰恰把真实的依赖关系弄反了。

我们并不是说邮政编码数据在全球范围内已经是一个解决了的问题,因为邮政体系在不断变化,覆盖质量确实因国家而异,也取决于各国邮政机构发布更新的积极程度。我们想说的是,它应该得到与其他任何端点同等的重视:真正的文档,与其他一切相同的价格,以及同样的期望,即它应该持续正确运行,而不是成为产品中一旦技术上能返回响应就再也没人回头看的角落。