whatsapp.message.updated Webhook。消息可能在 YCloud 验证请求时、提交给 WhatsApp 时,或在 WhatsApp 接收消息以便投递后失败。重试前,请根据返回的代码和详细信息排查原因。
查找错误代码
排队端点在消息提交给 WhatsApp 之前就会返回,因此其初始响应无法报告后续的提交失败。同步端点会报告提交结果,但消息在之后仍可能失败。请求被接收并不代表投递成功;请针对这两个端点都监控 Webhook。
读取代码和详细信息
请将 YCloud 请求错误与上游 WhatsApp 错误区分开来。例如,同步响应可能包含error.code: "TOO_MANY_REQUESTS" 和 error.whatsappApiError.code: "131056"。前者描述 API 响应;后者则标识发送者与接收者之间的速率限制。
对于失败消息的 Webhook,whatsappMessage.errorCode 可以包含 YCloud 代码(例如 BALANCE_INSUFFICIENT)或 WhatsApp 代码(例如 131048)。请将其保留为字符串格式。
当 whatsappApiError 可用时,检查其 code 和 error_data 以获取具体原因。对于消息 API 错误,error_data 可以包含一个 details 属性;对于模板 API 错误,它也可以是一个字符串。请匹配错误代码,而不是可能发生变化的错误标题或消息文本。
下面的数字代码描述上游 WhatsApp 失败。有关 YCloud 代码(例如 UNAUTHORIZED、PARAM_INVALID 或 BALANCE_INSUFFICIENT),请参阅 处理错误。
有关发送端点的信息,请参阅 发送 WhatsApp 消息;有关接收消息状态更新的信息,请参阅 配置 Webhook。
发送限制与质量约束
有关质量和接收者维度的限制,请参阅 质量与投递控制。
接收者与投递错误
模板和 Flow 消息错误
在重试之前,请在 YCloud 中检查确切的模板名称、语言、状态和组件定义。
参见管理 WhatsApp 模板和管理 WhatsApp Flow。
消息参数和媒体
请参阅发送 WhatsApp 消息和上传 WhatsApp 媒体。
账户、电话号码与账单
营销消息错误
当 YCloud 通过 Meta 的 Marketing Messages API 提交消息时可能会发生这些错误。请根据返回的详细信息区分模板、同步和路由问题。
对于此路由,
100 可能表示消息必须是模板,而 131009 可能表示参数无效或模板同步尚未完成。请根据返回的详细信息区分这些原因。对于同步未完成的情况,请等待 10 分钟后再重试。
临时服务错误
重试与升级排查
- 在重试之前,请修正无效参数、模板状态、账户限制以及媒体问题。
- 尊重收件人的退订(opt-out)和屏蔽操作。切勿自动重试此类失败。
- 针对临时故障,请采用指数退避、抖动(jitter)并设置最大重试次数。遵守上文或响应中指定的任何等待时长。
- 在发生超时或收到模棱两可的响应后重新发送前,请核对消息状态以避免重复。
externalId是一个关联字段;切勿假定它能用于发送去重。
requestId、消息 id,以及可用的 wamid 或 fbtrace_id。请务必去除 API 密钥和不必要的个人数据。
