Meta 业务账户(有时被称为“商务管理平台账户”,或简称“业务账户”)将更名为业务资产组合。这项变更将在 Meta 技术中逐步实施。此变更仅为名称上的变化,不会影响 Meta 业务账户编号(将更名为“业务资产组合编号”)。
本文档介绍如何确定您能否使用给定 API 资源成功发送消息。
以下节点都具有 health_status
字段:
如果您请求上述任意节点上的 health_status
字段,并使用该目标节点发出请求,API 将返回消息请求中所涉及的全部节点的消息运行状况摘要。此摘要将说明:您能否使用相应 API 成功发送消息;是否由于一个或多个节点受到某种限制,而只能在有限情况下成功发送消息;或是否被完全禁止发送消息。
GET /<NODE_ID>?fields=health_status
{ "health_status": { "can_send_message": "<OVERALL_MESSAGING_STATUS>", "entities": [ /* Only included if targeting a business phone number */ { "entity_type": "PHONE_NUMBER", "id": "<BUSINESS_PHONE_NUMBER_ID>", "can_send_message": "<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>" }, /* Only included if targeting a template */ { "entity_type": "MESSAGE_TEMPLATE", "id": "<TEMPLATE_ID>", "can_send_message": "<TEMPLATE_MESSAGING_STATUS>" }, /* WABA, business, and app always included */ { "entity_type": "WABA", "id": "<WABA_ID>", "can_send_message": "<WABA_MESSAGING_STATUS>" }, { "entity_type": "BUSINESS", "id": "<BUSINESS_PORTFOLIO_ID>", "can_send_message": "<BUSINESS_PORTFOLIO_MESSAGING_STATUS>" }, { "entity_type": "APP", "id": "<APP_ID>", "can_send_message": "<APP_MESSAGING_STATUS>" } ] }, "id": "<NODE_ID>" }
占位符 | 描述 | 值示例 |
---|---|---|
| 应用编号。 |
|
| 应用的消息运行状况。请参阅消息运行状况部分。 |
|
| 业务资产组合编号。 |
|
| 业务资产组合的消息运行状况。请参阅消息运行状况部分。 |
|
| 公司电话号码编号。 |
|
| 企业电话号码的消息运行状况。请参阅消息运行状况部分。 |
|
| 目标节点的编号。 |
|
| 消息运行整体状况。如果使用目标节点,响应中便会返回此参数。此参数会考虑到消息请求中所涉及的全部节点。请参阅消息运行状况部分。 |
|
| 模板编号。 |
|
| 模板的消息运行状况。请参阅消息运行状况部分。 |
|
| WABA 编号。 |
|
| WABA 的消息运行状况。请参阅消息运行状况部分。 |
|
在您尝试发送消息时,会涉及多个节点,包括应用、拥有或已认领该应用的业务资产组合、WABA、企业电话号码和模板(如果发送模板消息)。
上述每个节点的 can_send_message
属性均可设为以下运行状况值之一:
AVAILABLE
:表示该节点符合所有消息要求。LIMITED
:表示该节点符合消息要求,但受到一些限制。如果给定节点具有此值,响应中将包含 additional_info 属性。BLOCKED
:表示该节点不符合一项或多项消息要求。如果给定节点具有此值,响应中将包含 errors 属性,用于说明错误及可能的解决方案。整体运行状况属性 (health_status.can_send_message
) 的设置将如以下所示:
BLOCKED
。LIMITED
。AVAILABLE
。
curl 'https://graph.facebook.com/v21.0
/106540352242922?fields=health_status' \
-H 'Authorization: Bearer EAAJB'
{ "health_status": { "can_send_message": "AVAILABLE", "entities": [ { "entity_type": "PHONE_NUMBER", "id": "106540352242922", "can_send_message": "AVAILABLE" }, { "entity_type": "WABA", "id": "102290129340398", "can_send_message": "AVAILABLE" }, { "entity_type": "BUSINESS", "id": "506914307656634", "can_send_message": "AVAILABLE" }, { "entity_type": "APP", "id": "634974688087057", "can_send_message": "AVAILABLE" } ] }, "id": "106540352242922" }
如果给定节点的 can_send_message
属性设为 LIMITED
,响应中将包含 additional_info
属性,该属性为该限制提供了更多背景信息。
以下示例展示了针对某个企业电话号码上的请求而返回的响应。该电话号码可用来发送消息,但由于显示名尚未获得批准,可发送的消息数量有限。
{ "health_status": { "can_send_message": "LIMITED", "entities": [ { "entity_type": "PHONE_NUMBER", "id": "106540352242922", "can_send_message": "LIMITED", "additional_info": [ "Your display name has not been approved yet. Your message limit will increase after the display name is approved." ] }, { "entity_type": "WABA", "id": "102290129340398", "can_send_message": "AVAILABLE" }, { "entity_type": "BUSINESS", "id": "506914307656634", "can_send_message": "AVAILABLE" }, { "entity_type": "APP", "id": "634974688087057", "can_send_message": "AVAILABLE" } ] }, "id": "105154286024403" }
如果给定节点的 can_send_message
属性设为 BLOCKED
,响应中将包含 errors
属性,该属性用于描述设为该状况的原因及可能的解决方案。
以下示例展示了针对某个模板上的请求而返回的响应。该模板因仍处于待处理状态,而无法在模板消息中发送。
{ "health_status": { "can_send_message": "BLOCKED", "entities": [ { "entity_type": "MESSAGE_TEMPLATE", "id": "2632273056924580", "can_send_message": "BLOCKED", "errors": [ { "error_code": 141002, "error_description": "Message templates can only be sent out if they are approved.", "possible_solution": "Edit or appeal the message template review decision." } ] }, { "entity_type": "WABA", "id": "102290129340398", "can_send_message": "AVAILABLE" }, { "entity_type": "BUSINESS", "id": "506914307656634", "can_send_message": "AVAILABLE" }, { "entity_type": "APP", "id": "634974688087057", "can_send_message": "AVAILABLE" } ] }, "id": "2632273056924580" }