IOSOR 知识库

过期的 lookup 缓存把 OTP 导错路并烧掉预付费

缓存的 line-type 仍写着「mobile」,号码却已迁到 VoIP(或反过来),会把 OTP 送上错误路径。设定 TTL,按风险刷新,把 lookup 与 SMS 放在同一本 prepaid 账本。

Lookup 是带时间戳的路由信号,不是刻在号码上的永久纹身。缓存的 line-type——mobile、VoIP、landline、unknown——若比号码真实路径活得更久,会把 OTP SMS 打进死号段,跳过真实手机需要的语音回退,或给昨天刚携号转网的客户加摩擦。你仍要付 lookup 行 以及 空烧的分段。过期缓存制造的是路由故障,不是「省了一次查询」。

IOSOR 把 lookup 与 messaging 放在同一 white-label prepaid 钱包。目录 live 表示检查可用;in setup 不是靠缓存绕过去的生产闸门。月用量接近 USD 1,000+ 时,缓存年龄与空烧 OTP 分段进入商务复盘。没有「为了检查一直开着」的平台订阅——充值预付费,看见单位。

过期 line-type 是带钱包代价的路由故障

昨天的「mobile」今天可能是 VoIP 号段,或反向携号。产品仍发 SMS。DLR 回来 undelivered,或用户根本看不到码。财务看到 lookup 借记再加 SMS 借记、转化却为零——这是过期缓存,不是「lookup ROI」。对照 OTP 前先分清 VoIP 与手机。允许缓存;无限期缓存等于相信上个月的网络。若 UI 不能在 line-type 旁显示 looked-up-at,运维无法调试走廊。把年龄写进事件,而不是只写标签。

缓存 TTL 是产品决策,不是图方便

TTL 不是「数据库喜欢留多久」,而是按走廊的产品规则:短 TTL(分钟到小时)用于注册、促销、VoIP 滥用或携号常见的路径;中等 TTL 用于号码已绑定已验证账户的回访用户——仍要按风险信号刷新;不要把 unknown 缓存成 mobile。Unknown 意味着再查一次或 fail closed。全局 30 天缓存看起来很便宜,直到一个被回收的号段烧掉一周 OTP。报告 hit rate 和 年龄分桶,而不只是「省了多少次 lookup」。搭配 OTP 路径上的 lookup 回报,让财务看见所谓「节省」何时其实是空烧 SMS。

VoIP 与手机:何时必须刷新

发送前刷新,只要触发任一条件:line-type 为 VoIP、unknown,或已超过走廊 TTL;短窗口内同一号码或号段多次 OTP;用户改了账户号码;上次 OTP 过期或 undelivered;目的地单价高到错误 SMS 比新鲜检查更贵。Landline 仍不应收 SMS。VoIP 是路由信号,不是欺诈判决。一刀切封禁会挡住真实软电话客户;过期的「mobile」标签则从反方向伤人。何时检查该进预算:发送前的号码侦察与预算。

何时新鲜 lookup 能回本

当避免的 SMS、重试与工单成本超过 lookup 借记——包括在过期命中上 判错 的代价——就该付一次活检查。在干净的国内走廊抽样。在滥用密集漏斗上 fail closed。Lookup 仍 in setup 时不能当闸门。Lookup 与 SMS 分列同一 correlation id;混成「intelligence fee」会藏住过期缓存税。

危险信号

  • Line-type 没有新鲜度或 confidence
  • 把 unknown 缓存成 mobile
  • 把 lookup 卖成 100% 送达
  • 检查与 SMS 没有分列钱包行
  • 一刀切封 VoIP 且无活刷新路径
  • undelivered 后重试 OTP 却不新查
  • 目录仍 in setup,产品却缓存空结果

从 IOSOR 开始

请在管理控制台中审查现有的号码查询缓存规则,为不同通道的线路类型数据设置专属的生存时间上限。当缓存记录将号码标记为未知或虚拟运营商时,必须强制进行实时刷新以拦截高风险注册路径。同时配置Webhook触发器,使缓存号码的下发回执失败时立即作废已保存的线路类型,并在下一次验证码重试前强制发起新查询。

IOSOR 要点

过期的查询缓存会将有效的验证码尝试变成静默投递失败,并在预付费钱包中产生双重扣费。将某个号码无限期缓存为移动号码,会忽视活跃的携号转网与号段重新分配,导致系统通过无效或不支持的通道发送昂贵的短信。

务必在注册环节设置较短的生存时间,并在回执失败或风险信号激增时强制进行即时实时查询。切勿将号码元数据视作静态永久记录,也不要将未知的线路类型缓存为可投递的移动终端。

这篇指南有帮助吗?

相关指南