SMS

为什么我的免费呼叫号码 SMS 核验被拒绝?

免费呼叫号码核验是运营商对一组申请材料的审核,其状态能表明申请被拒绝,却不能说明运营商反对哪一项内容。

运营商拒绝申请材料后,核验记录会将拒绝原因与项目状态分别提供。denial_reasons 保存运营商的解释。要求列表记录你提供了什么,不能指出哪个答案导致了拒绝。

人们通常先查看要求列表,但它无法回答拒绝原因。了解这一点有助于缩短排查时间。

在哪里查看拒绝原因?

使用 bird sms tfn verifications get查询核验。响应会返回状态、该核验授权使用的发件人及运营商的答复。denial_reasons 以文本形式保存该答复。

拒绝申请时才会附带原因。如果运营商要求修改,而不是直接拒绝,核验会转为 info_requested,只记录新状态,不附带原因。因此,要求补充信息的核验记录不会说明要补充什么;此时应检查要求列表,确认仍缺少哪些项目。

为什么要求列表不能指出哪个答案有误?

因为运营商不会逐个答案作出决定,而是审核整份材料。Bird 会将这个整体结论应用到你提供的每个项目。

核验被拒绝后,无论某项内容是否导致问题,每个已填写项目都会显示 rejected,每个空白项目都会显示 not_supplied。列表中的项目不会区分谁更有问题,因此应通过 denial_reasons 查找原因。

要求列表用于描述申请材料的结构:需要提供什么、已经填写什么,以及还缺少什么。

运营商具体要求哪些材料?

查询要求时,如果不指定核验,就会返回空白表单,按展示顺序列出运营商要求的各个项目。通过 --verification-id 指定核验后,会返回同样的列表,并包含该核验已填写的答案。

每个项目都有用于提交答案的 key、向填写者展示的 label、说明合格答案应包含什么的 help_text,以及表明是否必须作答的 required。即使是可选项目,只要提供了答案,也会接受审核。

有两项答案只能从固定选项中选择:

  • 法律组织形式:从 sole_proprietorprivate_profitpublic_profitnon_profitgovernment 中选择。它们的拼写与 10DLC 的五种组织形式相同,但有意采用独立列表,因为各审核机构自行决定接受哪些形式。
  • 月发送量:填写区间,而不是具体数量。共有十一个区间,从 up_to_10 开始,经过 up_to_1mup_to_5m,最后是 above_5m

每个项目还会返回 state。查询免费呼叫号码核验时,会返回五种状态:not_suppliedsuppliedin_reviewapprovedrejected。应按开放集合处理这些值,因为审核流程可能增加阶段。

如何判断是在等我,还是在等运营商?

查询要求时返回的两个布尔值可以说明情况,其中只有一个表示你是否需要采取行动。

核验获批后,satisfied 才会为 true。即使申请材料完整,也可能仍在等待批准。

下一步需要你处理时,needs_input 为 true。这涵盖四种情况:必填项目没有答案、运营商要求修改、草稿已完整但尚未提交,或被拒绝的申请仍处于可重新提交的窗口内。

两个值都为 false 有两种含义:运营商正在持有并处理材料,你需要等待;或核验已被拒绝,重新提交窗口也已关闭。resubmit_allowed 可以区分这两种情况,因此查询被拒绝的核验时也应检查它。

六种核验状态分别表示什么?

状态含义
draft你可以编辑或提交企业及消息发送详情
submitted核验已提交给运营商审核
under_review运营商正在审核
info_requested运营商要求修改后再作决定,你可以编辑并重新提交
approved该号码获准用于提交的计划,适用国家见 SMS 目的地中列出的合规国家。批准涵盖的是提交的计划;每次发送仍需获得接收者许可,并使用符合条件的目的地
rejected运营商已拒绝申请

可以修改被拒绝的核验吗?

有时可以,判断依据是一个字段:只有 resubmit_allowed 为 true 时,才能修改并重新提交被拒绝的核验。编辑或重新提交前,应检查返回的标记和审核状态,不要仅根据日期计算是否具备资格。

处于草稿状态、运营商要求补充信息,或被拒绝后仍在重新提交窗口内时,可以编辑核验。其他状态均被锁定,包括 submittedunder_reviewapproved。因此,经常需要等待的两个状态都不允许编辑;尝试编辑会返回冲突错误。

修改一个答案,无需重新填写其他答案。更新只会应用你发送的字段,因此只需修改有误的答案,不必重新填写整份材料。

应该使用哪些命令?

六个命令涵盖核验生命周期,其中有意不包含一个步骤。

bird sms tfn verifications requirements用于逐项查询要求,getcreateupdatelistcancel 分别执行其名称所表示的操作。这些命令不包含提交核验以供审核的操作;该操作需要在控制面板中完成。

填写表单时,可以传入 --identity-id,从已经记录的主体资料中预填企业和联系人要求。返回的这些项目会标记为已预填。消息发送和接收授权要求不会预填,因为每次核验都需要重新填写。如果你已经为此次核验填写了某项内容,该答案会优先于主体资料中的答案。

免费呼叫号码核验状态没有公开的 webhook 事件,因此无法通过订阅得知审核结果。需要轮询 get 命令来查询。

简而言之

  1. 原因记录在核验的 denial_reasons 中。

    使用 get 命令查询。拒绝申请时会填入原因,运营商仅要求补充信息时则不会。

  2. 要求列表无法指出有问题的答案。

    运营商对整份材料作出决定,因此申请被拒绝时,每个已填写项目都会显示为 rejected。项目状态说明提供了什么,不能说明哪里有误。

  3. 两个布尔值表明下一步由谁处理。

    下一步需要你处理时,needs_input 为 true。两个值均为 false,表示材料在运营商处等待处理,或你的重新提交窗口已关闭。

  4. 只有 resubmit_allowed 为 true 时,才能编辑被拒绝的核验。

    只有 resubmit_allowed 为 true 时,才能修改被拒绝的核验;这个标记在最初授予的重新提交窗口结束后仍可能保持有效。

基于同一网络构建。

测试 API 密钥即刻获取。添加付款方式并验证发送者身份后,即可解锁生产环境。

你的下一个创意。
随时连接。