Sign inGet Started

不支持的 WhatsApp 消息类型

部分消息可以在 WhatsApp 应用中使用,但无法通过 API 读取。Bird 会将这些消息记录为带有 unsupported 字段的已接收消息。你可以看到谁在何时发送了消息,但无法在仪表板或通过 API 读取其内容。请让发送者以文本或其他支持的消息类型重新发送该信息。

为什么收到的消息会包含错误

当 WhatsApp Cloud API 不支持某种内容时,Meta 可以在传入消息通知中包含错误 131051。某个功能可以在 WhatsApp 应用中正常使用,但通过 Cloud API 仍然不可用。

Bird 以 direction: inbound 和 status: received 记录该通知。消息的 last_error 可以包含 meta_error_code: "131051",即使 Bird 并未尝试发送它。在这种情况下,错误描述的是不可用的传入内容,并不表示出站发送失败。

规范化的 last_error.code 可以在此已接收记录上读取 undeliverable。在将记录视为投递失败之前,请同时检查 direction、status 和 last_error.meta_error_code。

Meta 也使用 131060 表示当前不可用的消息。当有人首次通过已连接的 WhatsApp Business 应用号码向商家发送消息时,可能会出现这种情况。它与不支持的内容错误 131051 含义不同。有关这些通知的详情,请参阅 Meta 的不支持消息参考。

读取消息类型

unsupported.type 字段在通知允许的范围内尽可能精确地标识内容:

  • 当 Meta 提供 unsupported.type 时,Bird 会保留其值,例如 poll_creation、pin 或 edit。
  • 当 Meta 省略 unsupported.type 时,Bird 会在该字段中保留消息的顶级类型。unsupported 或 unknown 之类的值无法标识发送者执行的操作。
  • 当 Meta 提供的内容不在 Bird 的 API 模型范围内时,Bird 也会在此记录其类型,例如 order 或 system。

类型名称不包含缺失的内容。例如,poll_creation 不会提供问题或选项,edit 不会提供替换文本。存储消息时请保留无法识别的类型值,以便您的集成可以接受新类型。

Bird 支持图片、按钮回复、列表回复和表情回应。带有上述名称的不支持通知描述的是该特定通知,并不意味着整个功能不受支持。请参阅接收图片、互动回复和表情回应 webhook。

处理接收到的 webhook

不支持的消息会发出 whatsapp.received,附带 data.unsupported.type。接收到的 webhook 不包含消息记录的 last_error;需要该诊断信息时,请通过 API 检索消息。

在处理内容之前,先显式处理 unsupported。显示内容不可用,存储类型,并在处理完成后以 2xx 响应确认 webhook。重试同一通知不会恢复缺失的内容。有关确认和重试行为,请参阅 webhook 投递。

该记录在 WhatsApp 日志中仍然可见。Bird 将其作为客户服务窗口的入站消息处理。

可尝试的示例

以下是 unsupported.type 的一些示例值。如果您的 WhatsApp 应用在您正在测试的对话中提供了对应的操作,您可以尝试执行并检查生成的记录:

消息或操作unsupported.type
创建投票poll_creation
在投票中投票poll_update
置顶消息pin
编辑已发送的消息edit
在聊天中保留限时消息keep_in_chat
发送群组邀请group_invite
未识别的消息unknown

可用性取决于应用、会话和账户。你可能收到一个通用类型,或者某个操作根本不产生收到消息的通知。将发送者、时间戳和 unsupported.type 与你执行的操作进行对比。如果类型是通用的,你无法仅凭该记录识别具体操作。

后续步骤