IOSOR 知识库

群发前的批量 lookup CSV 卫生:规范化、去重与预算

批量 lookup 的 CSV 必须先做 E.164 规范化与去重,正视过期线路类型缓存,并在群发前设预算上限。财务与运营要共用同一套列。

营销要一份名单。财务看见一串 lookup 借记,却对不上后来发出去的 SMS。批量 lookup 不是把电子表格倒进接口。卫生工作在花费之前:E.164 规范化、去重、正视过期线路类型缓存、给钱包设上限。跳过卫生的团队把死号当成投递事故,把重复行当成「覆盖」,把过期的 mobile 标签当成路由真理。

IOSOR 把 lookup 与消息放在同一本 white-label prepaid 账上。目录 live 表示检查可用;in setup 不是你可以缓存绕过的生产闸门。月用量接近 USD 1,000+ 时,可避免花费样本与 lookup→send 关联进入商务复盘。发送前侦察见 发送前的号码侦察与预算。单条 lookup 习惯见 发送前先做号码查询。过期缓存见 过期 lookup 缓存与线路类型。

财务与运营都需要的 CSV 列

财务与运营必须能打开同一份 CSV 并读出同一故事。最少列:规范化后的 E.164、原始输入、lookup 时间戳、线路类型、缓存命中或新鲜检查、借记金额、发送决定(发 / 跳过 / 再查)、关联的 campaign 或批次 id。缺时间戳的「mobile」标签是意见,不是证据。缺发送决定的 lookup 行是收据,不是控制。

列 谁用 缺了会怎样
E.164 运营与财务 重复花费、对不上发送
looked-up-at 运营 无法判断缓存是否过期
发送决定 财务 lookup 与 blast 对不上

lookup 花费前的 E.164 与去重

在花 lookup 钱之前先规范化再去重。同一条线写成 +1…、001… 和本地格式会借记三次。先规范化到 E.164,再按规范化号码去重,再调用 live lookup。垃圾行(太短、字母、明显测试串)应在导入时丢掉,不要当成「未知」去查。运营拥有规范化规则;财务拥有「重复行仍借记」的事故定义。

过期线路类型缓存风险

缓存的线路类型是带时间戳的路由信号,不是文身。昨天的 mobile 可能是今天的 VoIP 段。过期缓存会把 OTP 送进死区,或给刚携号转网的用户加摩擦。你仍支付 lookup 行 以及 浪费的段。TTL 是产品规则,不是数据库爱好。未知不要当 mobile 缓存。风险信号出现时刷新——见 过期 lookup 缓存与线路类型。

预算上限与导出节奏

预算上限属于批次,不属于「我们以后对账」。给每次 lookup 跑设行数上限与金额上限;导出节奏(日或批次结束)要在 blast 之前,而不是月底惊喜。接近 USD 1,000+ 的用量时,可避免花费与缓存年龄桶进入更密复盘。lookup 仍 in setup 时不要承诺发送前卫生。

危险信号

  • 未规范化就跑批量 lookup
  • 同一 E.164 因格式变体借记两次
  • 把过期「mobile」当路由真理
  • 把未知缓存成 mobile
  • 无行数/金额上限的无界 CSV
  • 月底才把 lookup 对上发送
  • 通道 in setup 却承诺卫生闸门
  • 对客户错误点出上游品牌名

开始使用 IOSOR

拿出上周活动 CSV。每行先规范成 E.164,丢掉垃圾,按规范号码去重,再跑一次 lookup。群发前用行数和预付金额给批次设顶。导出财务和运营会打开的同一文件:线路类型、缓存命中、debit、发送或跳过。

IOSOR 要点

要做:先做清单卫生再花 lookup 钱。同一号码的格式变体只扣一笔。缓存的线路类型带时间戳;过期的 mobile 不是路由真相。

不要:把表格倒进 API 再月底对账。重复行不是覆盖。Unknown 被当成 mobile 缓存,是预付泄漏。

这篇指南有帮助吗?

相关指南