模板可能看起来仍然处于活跃状态,但替换语言已未通过审核。请检查您所提交的版本,以免先前的批准掩盖了本次不成功的更改。
哪个状态标识了问题?
rejected 状态表示 Meta 拒绝了内容。submit_failed 表示提交未完成,而 outcome_unknown 表示未确认到响应。在选择修复方案之前,先读取所提交版本语言上的 status。
语言记录区分了以下几种结果:
| 状态 | 发生了什么 | 下一步操作 |
|---|---|---|
rejected | Meta 拒绝了内容 | 查看拒绝原因并修正新草稿 |
submit_failed | 提交未完成 | 查看错误并解决其原因 |
outcome_unknown | 未确认到提交的响应 | 等待对账完成后再次读取语言状态 |
pending | 语言正在审核中 | 等待审核结论 |
对于内容拒绝,将给出的原因与模板指南进行对比。提交错误则可能涉及凭据、媒体或请求投递。
消息措辞只是可能的原因之一。凭据、媒体和请求投递也可能失败。
为什么提交在审核前就失败了?
请求未能完成,原因可能是本地准备问题、Meta 的拒绝或投递重试耗尽。
读取 error.description 以确认记录的原因。常见示例包括不可用的账户凭据、冲突的派生模板名称或无法准备的媒体。
对于媒体问题,检查给出的 URL、大小或格式问题。修改消息措辞无法修复不可访问或不合规的资源。
meta_error_code 标识来自 Meta 的拒绝记录。Bird 对自身的失败不包含该标识。Meta 也可能在其拒绝中省略代码。
在决定由谁采取行动之前,将描述与状态结合使用。在请求支持团队调查 Meta 的拒绝时,保留记录的代码。
当投递重试耗尽时,Bird 会在确定结果之前检查 Meta 是否持有已提交的内容。请以记录的结果为准,不要假设超时就意味着什么都未送达。
为什么没有拒绝对象?
当 Meta 未提供拒绝原因时,Bird 会省略 rejection,即使语言状态为 rejected。
根据 status 进行分支判断,而非依据该对象是否存在。缺少原因并不代表语言已通过审核或可发送。
rejection.reason 存在时,包含 Meta 的拒绝原因。recommendation 可能随附其中,但并非每次拒绝都包含。
在就缺少详情的拒绝寻求支持时,请保留已提交的模板标识符、版本和语言。这些信息可以定位需要调查的审核。
收到 outcome_unknown 后应该怎么做?
在 Bird 与 Meta 对账期间,再次读取语言状态。不要仅凭该状态就创建另一次提交。
请求可能已经到达 Meta。Bird 将语言保持在进行中状态,因为修改它将基于未确认的结果采取行动。
锁定机制在语言结果未确定时阻止更改。语言处于进行中状态时,写入、删除和回退操作在 E15020 下均被阻止。请等待状态确定后再执行这些操作。
如果 Meta 持有匹配的内容,Bird 将采用其记录的状态。语言可能变为已批准、已拒绝或待审核,取决于 Meta 的决定。
如果 Bird 确认提交未送达,则记录为 submit_failed。当无法确定任一结果时,语言将保持在进行中状态。
如果结果持续未确定,请携带模板标识符联系支持团队。重复提交无法解决 Meta 是否已接受原始提交的问题。
如何修正模板并确认重试结果?
对于 rejected,通过新草稿修复原因。对于 submit_failed,在 Bird 确认请求未送达后再进行修复。提交修正后的语言,然后检查语言状态以确认重试已完成。
Bird 保持已提交版本不可修改。请创建新草稿,而不是尝试覆盖审核失败的版本。
如果账户同时被限制或封禁,Meta 控制该账户决定。
在提交前运行验证。通过验证仅表明符合 Bird 的内容规则,但不能预测 Meta 的审核结果。
提交后,使用 bird whatsapp templates versions languages get 检查该版本。模板的聚合状态可能仍然描述的是先前的上线版本。
先前 active 的模板并不能证明替换版本已通过审核。在使用更改后的内容之前,请确认所提交语言的审核结论。
简而言之
从所提交语言的状态入手。
rejected是内容审核结论。submit_failed表示提交失败,而outcome_unknown需要在下次尝试前完成对账。使用对应的原因字段。
内容拒绝时读取
rejection,提交失败时读取error。缺少原因详情不会改变状态。不要对未知结果重复提交。
Meta 可能已经持有该提交。再次读取语言状态,如果不确定性持续存在,请联系支持团队。
在新草稿中修正内容。
已提交的版本不可修改。重新提交后,关注新版本的语言状态,而非模板先前的上线状态。