为物流应用构建简单的地理围栏提醒
一家物流公司希望在送货卡车进入或离开特定客户场地的那一刻收到简单的提醒,而无需构建或购买授权一整套车队跟踪平台。
购物者使用浏览器保存的条目自动填充结账表单,或者从旧邮件中复制地址时,有时会把一个地点的邮政编码与另一个地点的城市名称配在一起。这个错误很容易犯,在点击提交前快速浏览已填好的表单时也很容易漏看。一家销售实体商品的网店发现,正是这种不匹配导致了持续不断、数量不多的送错或延误的配送,每一单单独看都不大,合在一起却在重新发货和客户不满方面造成了实实在在的成本。
解决办法是在结账时、订单确认前自动运行一次交叉检查。表单中填写的邮政编码会发送到 /v1/postcode,解析出该编码实际对应的地点。网店将解析出的地点与购物者在同一表单中填写的城市和地区进行比较。如果两者明显不一致,结账流程不会放行订单、等到包裹送错地方才发现问题,而是暂停下来,用简单的提示请购物者在继续之前仔细检查邮政编码和城市。
网店还将完整的输入地址通过 /v1/forward 进行第二层检查,因为一个地址可能通过了邮政编码与城市的交叉检查,却仍在其他地方存在真正的问题,比如该名称下并不存在这条街道,或者门牌号超出了这条街道的合理范围。正向地理编码调用返回的匹配置信度为结账流程提供了第二个信号,与邮政编码比较结果一起权衡,把明显匹配度差的地址标记出来,给出同样的快速确认提示。
网店对这会增加多少阻力考虑得很周全。大多数订单瞬间通过两项检查,完成结账时看不到任何变化,因为绝大多数购物者第一次就能正确输入自己的地址。只有少数确实存在不匹配的订单才会看到确认提示,即便如此,购物者也只需几秒钟就能核对并更正,或者确认地址按输入的样子确实无误,因为偶尔有些合法但不寻常的地址即使没有错,也可能触发检查。
这类检查之所以能收回成本,正是因为在发货前发现不匹配的成本,远小于订单已发往错误地点的成本:一次重新发货,加上一次延误或丢失的原始配送,往往还有一位不满的客户,他再次下单的可能性也降低了。在下单前的几秒钟内解决问题,而不是在事后花好几天去发现并纠正配送问题,使这项成本从可观降到几乎为零。
每个订单会触发一次邮政编码检查和一次地址检查,这一工作量直接随销售量增长,对一家中等规模的网店来说,一年中大部分时间都在每日免费配额之内,较繁忙的时期则由预付额度覆盖,无需任何提前的特别规划。
两个端点的文档见 /docs/postal-code-lookup/ 和 /docs/forward-geocoding/,两者的通用错误处理行为见 /docs/errors/。