新闻

与 PositionStack 的兼容替换已上线

PositionStack 往往出现在较轻量的集成中,通常是在一个更大的应用里用一个服务类封装一次 API 调用。这种集成小到很容易被忽略,又恰好大到重写起来令人厌烦。我们的兼容主机旨在彻底免去这次重写。

该主机完全复刻 PositionStack 的请求参数和响应正文,唯一的区别是版权、条款和隐私文本,这些内容属于我们而非原提供商。为 PositionStack 地理编码端点构建的请求可以不加修改地发送到我们的主机,返回的响应结构与现有代码已有的解析方式相同。

需要更改的是主机名和密钥。该密钥通过我们四种标准方式中您的集成已经在使用的那一种进行身份验证:X-API-Key 请求头、Authorization: Bearer 请求头、以密钥作为用户名的 HTTP Basic 认证,或查询参数。

一个封装单次调用的服务类,也正是那种没人会为之保留文档的集成,因此问题往往会以支持工单的形式,由后来接手代码的人提出。My Geocode 的支持队列为这些反复出现的兼容性问题准备了预设回复,涉及响应头含义、密钥格式、哪些会变、哪些不会变,因此一个简单的迁移问题能很快得到解答,而不必排在更复杂的问题后面等待。

在改动任何代码之前测试响应结构也很简单:位于 /demo/ 的交互式演示可以向任何端点或兼容主机发送示例请求,并显示返回的确切字段,这通常足以确认一个 PositionStack 格式的调用能在下游顺利解析。

定价不会因为由哪个兼容主机处理请求而有所不同。任何地址无需密钥即可获得每天 2,500 次免费请求,按网络统计。密钥还会额外提供自己的每天 2,500 次免费请求。超出这两项配额后,预付额度为每次请求 €0.0001,或者用每月 €50 的 Unlimited 套餐覆盖用量,与平台上其他所有端点和主机完全一致。

每个响应也都包含我们的配额响应头:X-Quota-LimitX-Quota-UsedX-Quota-Free-RemainingX-Quota-Network-UsedX-Credits-RemainingX-Key-IPs-UsedX-Key-IPs-LimitX-Quota-Reset,提供单纯的 PositionStack 集成本身不会呈现的用量可见性。

如需兼容响应标准字段之外的内容,在请求中加上 mg_extras=1,或发送 X-MG-Extras 请求头,即可在其上添加可选的额外信息;这完全需要主动开启,默认关闭。

该主机的文档位于 /compatibility/positionstack/,关于全部十七个兼容主机如何工作的更全面介绍位于 /docs/compatibility/。如果 PositionStack 藏在您技术栈中某个服务里,把它指向这里是一个小而可逆、便于测试的改动。