在达到限制之前监控密钥用量
随时关注配额响应头,就能在请求真正被拒绝之前,提前知道何时即将达到限制。
以陌生货币显示的价格会让访客在做任何决定之前停下来心算,而这恰恰是价格页面最需要清晰明了的时刻。
查询访客的 IP 地址并读取 country_code 字段,然后用您自己的对照表将其映射到某种货币,这张表与客户直接告诉您其所在国家时使用的是同一张。
GET /v1/ip?ip=203.0.113.150{
"status": "ok",
"ip": "203.0.113.150",
"version": 4,
"found": true,
"country": "Canada",
"country_code": "CA",
"region": "Ontario",
"city": "Toronto",
"postcode": "M5H",
"lat": 43.6511,
"lon": -79.3808,
"timezone": "America/Toronto",
"asn": 4321,
"org": "Example ISP"
}为便于阅读而显示换算后的价格,并不要求真的以该货币收费。作为参考,My Geocode 自己的价格在全球范围内只使用 EUR,与客户在何处注册无关;同样的区分也适用于您自己的价格页面:您可以显示本地化的估算价格,同时仍以您的支付处理方实际支持的货币结算每笔交易。
如果您显示的是换算估算,而不是您实际会以该货币收取的价格,请明确标注为估算,因为汇率会变动,一位期望按看到的数字准确扣费的访客,如果实际扣费以另一种货币、按另一个汇率入账,就会措手不及。
有些访客正在旅行、使用 VPN,或者只是想用与检测结果不同的货币查看价格。在检测到的默认值旁边放一个小小的货币选择器,不会增加任何请求,还能避免任何人被困在错误的默认值中。
每个新访客会话一次 IP 查询,并在整个访问期间缓存,就是一次请求。即使价格页面每天有大量流量,也能控制在每个密钥附带的每天 2,500 次免费请求之内,或无密钥时单个地址享有的同等配额之内。
只要清楚说明实际的结算货币,根据 IP 数据检测可能使用的货币,就能消除价格页面上一个虽小却真实存在的阻力点。字段列表请参阅 IPv4 查询文档,我们自己的做法请参阅 My Geocode 的价格页面。